Fix vars init in ItemViewHolder

This commit is contained in:
Alexey Kulish 2015-10-28 11:39:51 +03:00
parent 8ca692af42
commit 19ee1b655a
2 changed files with 38 additions and 8 deletions

View file

@ -24,6 +24,7 @@ import net.osmand.access.AccessibleToast;
import net.osmand.map.WorldRegion; import net.osmand.map.WorldRegion;
import net.osmand.map.WorldRegion.RegionParams; import net.osmand.map.WorldRegion.RegionParams;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings; import net.osmand.plus.OsmandSettings;
import net.osmand.plus.OsmandSettings.DrivingRegion; import net.osmand.plus.OsmandSettings.DrivingRegion;
import net.osmand.plus.OsmandSettings.MetricsConstants; import net.osmand.plus.OsmandSettings.MetricsConstants;
@ -41,6 +42,8 @@ import net.osmand.plus.download.ui.DownloadResourceGroupFragment;
import net.osmand.plus.download.ui.GoToMapFragment; import net.osmand.plus.download.ui.GoToMapFragment;
import net.osmand.plus.download.ui.LocalIndexesFragment; import net.osmand.plus.download.ui.LocalIndexesFragment;
import net.osmand.plus.download.ui.UpdatesIndexFragment; import net.osmand.plus.download.ui.UpdatesIndexFragment;
import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin;
import net.osmand.plus.srtmplugin.SRTMPlugin;
import net.osmand.plus.views.controls.PagerSlidingTabStrip; import net.osmand.plus.views.controls.PagerSlidingTabStrip;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
@ -85,6 +88,11 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
private DownloadValidationManager downloadValidationManager; private DownloadValidationManager downloadValidationManager;
protected WorldRegion downloadItem; protected WorldRegion downloadItem;
private boolean srtmDisabled;
private boolean srtmNeedsInstallation;
private boolean nauticalPluginDisabled;
private boolean freeVersion;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
getMyApplication().applyTheme(this); getMyApplication().applyTheme(this);
@ -173,6 +181,7 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
initAppStatusVariables();
getMyApplication().getAppCustomization().resumeActivity(DownloadActivity.class, this); getMyApplication().getAppCustomization().resumeActivity(DownloadActivity.class, this);
downloadThread.setUiActivity(this); downloadThread.setUiActivity(this);
downloadInProgress(); downloadInProgress();
@ -614,4 +623,29 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
messageTextView.setText(R.string.device_memory); messageTextView.setText(R.string.device_memory);
} }
public boolean isSrtmDisabled() {
return srtmDisabled;
}
public boolean isSrtmNeedsInstallation() {
return srtmNeedsInstallation;
}
public boolean isNauticalPluginDisabled() {
return nauticalPluginDisabled;
}
public boolean isFreeVersion() {
return freeVersion;
}
public void initAppStatusVariables() {
srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null;
nauticalPluginDisabled = OsmandPlugin.getEnabledPlugin(NauticalMapsPlugin.class) == null;
freeVersion = Version.isFreeVersion(getMyApplication());
OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
}
} }

View file

@ -33,7 +33,6 @@ import net.osmand.plus.download.DownloadResources;
import net.osmand.plus.download.IndexItem; import net.osmand.plus.download.IndexItem;
import net.osmand.plus.download.ui.LocalIndexesFragment.LocalIndexOperationTask; import net.osmand.plus.download.ui.LocalIndexesFragment.LocalIndexOperationTask;
import net.osmand.plus.helpers.FileNameTranslationHelper; import net.osmand.plus.helpers.FileNameTranslationHelper;
import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin;
import net.osmand.plus.srtmplugin.SRTMPlugin; import net.osmand.plus.srtmplugin.SRTMPlugin;
import java.io.File; import java.io.File;
@ -121,14 +120,11 @@ public class ItemViewHolder {
this.showTypeInName = showTypeInName; this.showTypeInName = showTypeInName;
} }
// FIXME don't initialize on every row
private void initAppStatusVariables() { private void initAppStatusVariables() {
srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null; srtmDisabled = context.isSrtmDisabled();
nauticalPluginDisabled = OsmandPlugin.getEnabledPlugin(NauticalMapsPlugin.class) == null; nauticalPluginDisabled = context.isNauticalPluginDisabled();
freeVersion = Version.isFreeVersion(context.getMyApplication()); freeVersion = context.isFreeVersion();
OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class); srtmNeedsInstallation = context.isSrtmNeedsInstallation();
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
} }
public void bindIndexItem(final IndexItem indexItem, final DownloadResourceGroup parentOptional) { public void bindIndexItem(final IndexItem indexItem, final DownloadResourceGroup parentOptional) {