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.RegionParams;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.OsmandSettings;
import net.osmand.plus.OsmandSettings.DrivingRegion;
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.LocalIndexesFragment;
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 org.apache.commons.logging.Log;
@ -85,6 +88,11 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
private DownloadValidationManager downloadValidationManager;
protected WorldRegion downloadItem;
private boolean srtmDisabled;
private boolean srtmNeedsInstallation;
private boolean nauticalPluginDisabled;
private boolean freeVersion;
@Override
protected void onCreate(Bundle savedInstanceState) {
getMyApplication().applyTheme(this);
@ -173,6 +181,7 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
@Override
protected void onResume() {
super.onResume();
initAppStatusVariables();
getMyApplication().getAppCustomization().resumeActivity(DownloadActivity.class, this);
downloadThread.setUiActivity(this);
downloadInProgress();
@ -614,4 +623,29 @@ public class DownloadActivity extends ActionBarProgressActivity implements Downl
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.ui.LocalIndexesFragment.LocalIndexOperationTask;
import net.osmand.plus.helpers.FileNameTranslationHelper;
import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin;
import net.osmand.plus.srtmplugin.SRTMPlugin;
import java.io.File;
@ -121,14 +120,11 @@ public class ItemViewHolder {
this.showTypeInName = showTypeInName;
}
// FIXME don't initialize on every row
private void initAppStatusVariables() {
srtmDisabled = OsmandPlugin.getEnabledPlugin(SRTMPlugin.class) == null;
nauticalPluginDisabled = OsmandPlugin.getEnabledPlugin(NauticalMapsPlugin.class) == null;
freeVersion = Version.isFreeVersion(context.getMyApplication());
OsmandPlugin srtmPlugin = OsmandPlugin.getPlugin(SRTMPlugin.class);
srtmNeedsInstallation = srtmPlugin == null || srtmPlugin.needsInstallation();
srtmDisabled = context.isSrtmDisabled();
nauticalPluginDisabled = context.isNauticalPluginDisabled();
freeVersion = context.isFreeVersion();
srtmNeedsInstallation = context.isSrtmNeedsInstallation();
}
public void bindIndexItem(final IndexItem indexItem, final DownloadResourceGroup parentOptional) {