Move refreshMapComplete to MapActivity

This commit is contained in:
Vitaliy 2021-02-09 15:06:21 +02:00
parent 9653acecc1
commit 84e1a544ce
16 changed files with 36 additions and 53 deletions

View file

@ -136,10 +136,10 @@ import net.osmand.plus.settings.backend.ApplicationMode;
import net.osmand.plus.settings.backend.CommonPreference;
import net.osmand.plus.settings.backend.OsmAndAppCustomization.OsmAndAppCustomizationListener;
import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.plus.settings.datastorage.DataStorageFragment;
import net.osmand.plus.settings.fragments.BaseSettingsFragment;
import net.osmand.plus.settings.fragments.BaseSettingsFragment.SettingsScreenType;
import net.osmand.plus.settings.fragments.ConfigureProfileFragment;
import net.osmand.plus.settings.datastorage.DataStorageFragment;
import net.osmand.plus.track.TrackAppearanceFragment;
import net.osmand.plus.track.TrackMenuFragment;
import net.osmand.plus.views.AddGpxPointBottomSheetHelper.NewGpxPoint;
@ -1664,6 +1664,12 @@ public class MapActivity extends OsmandActionBarActivity implements DownloadEven
getMapView().refreshMap();
}
public void refreshMapComplete() {
getMyApplication().getResourceManager().getRenderer().clearCache();
updateMapSettings();
getMapView().refreshMap(true);
}
public View getLayout() {
return getWindow().getDecorView().findViewById(android.R.id.content);
}

View file

@ -96,7 +96,6 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class DashboardOnMap implements ObservableScrollViewCallbacks, IRouteInformationListener {
private static final org.apache.commons.logging.Log LOG =
@ -779,7 +778,7 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, IRouteInfo
plugin.registerLayers(mapActivity);
}
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
} else if (visibleType == DashboardType.WIKIPEDIA) {
refreshContent(true);
}

View file

@ -261,11 +261,6 @@ public class ConfigureMapMenu {
app.getAidlApi().registerLayerContextMenu(adapter, activity);
}
public static void refreshMapComplete(final MapActivity activity) {
activity.getMyApplication().getResourceManager().getRenderer().clearCache();
activity.updateMapSettings();
activity.getMapView().refreshMap(true);
}
private void createRenderingAttributeItems(List<RenderingRuleProperty> customRules,
final ContextMenuAdapter adapter, final MapActivity activity,
@ -347,7 +342,7 @@ public class ConfigureMapMenu {
public void onClick(View v) {
int which = (int) v.getTag();
view.getSettings().DAYNIGHT_MODE.set(DayNightMode.values()[which]);
refreshMapComplete(activity);
activity.refreshMapComplete();
activity.getDashboard().refreshContent(true);
// adapter.getItem(pos).setDescription(s, getDayNightDescr(activity));
// ad.notifyDataSetInvalidated();
@ -466,7 +461,7 @@ public class ConfigureMapMenu {
public void onClick(View v) {
int which = (int) v.getTag();
view.getSettings().TEXT_SCALE.set(txtValues[which]);
refreshMapComplete(activity);
activity.refreshMapComplete();
adapter.getItem(pos).setDescription(getScale(activity));
ad.notifyDataSetInvalidated();
}
@ -568,7 +563,7 @@ public class ConfigureMapMenu {
int index = dlg.getListView().getCheckedItemPosition();
view.getSettings().MAP_PREFERRED_LOCALE.set(
txtIds[index]);
refreshMapComplete(activity);
activity.refreshMapComplete();
String localeDescr = txtIds[index];
localeDescr = localeDescr == null || localeDescr.isEmpty() ? activity
.getString(R.string.local_map_names) : localeDescr;
@ -712,7 +707,7 @@ public class ConfigureMapMenu {
}
adapter.getItem(pos).setColorRes(ContextMenuItem.INVALID_ID);
a.notifyDataSetInvalidated();
refreshMapComplete(activity);
activity.refreshMapComplete();
activity.getMapLayers().updateLayers(activity.getMapView());
} else {
if (UI_CATEGORY_DETAILS.equals(category)) {
@ -883,7 +878,7 @@ public class ConfigureMapMenu {
adapter.getItem(pos).setColorRes(selected ? R.color.osmand_orange : ContextMenuItem.INVALID_ID);
}
a.notifyDataSetInvalidated();
refreshMapComplete(activity);
activity.refreshMapComplete();
activity.getMapLayers().updateLayers(activity.getMapView());
}
});
@ -1041,7 +1036,7 @@ public class ConfigureMapMenu {
@Override
public boolean onContextMenuClick(ArrayAdapter<ContextMenuItem> adapter, int itemId, int pos, boolean isChecked, int[] viewCoordinates) {
pref.set(!pref.get());
refreshMapComplete(activity);
activity.refreshMapComplete();
return false;
}
})
@ -1096,7 +1091,7 @@ public class ConfigureMapMenu {
} else {
pref.set(p.getPossibleValues()[which - 1]);
}
refreshMapComplete(activity);
activity.refreshMapComplete();
String description = AndroidUtils.getRenderingStringPropertyValue(activity, pref.get());
adapter.getItem(pos).setDescription(description);
}

View file

@ -228,9 +228,9 @@ public class DetailsBottomSheet extends BasePreferenceBottomSheet {
}
Activity activity = getActivity();
if (activity instanceof MapActivity) {
MapActivity a = (MapActivity) activity;
ConfigureMapMenu.refreshMapComplete(a);
a.getMapLayers().updateLayers(a.getMapView());
MapActivity mapActivity = (MapActivity) activity;
mapActivity.refreshMapComplete();
mapActivity.getMapLayers().updateLayers(mapActivity.getMapView());
}
super.onDismiss(dialog);
}

View file

@ -20,7 +20,6 @@ import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin.OnMapSelectedCallback;
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin.RasterMapType;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class RasterMapMenu {
private static final String TAG = "RasterMapMenu";
@ -107,12 +106,12 @@ public class RasterMapMenu {
@Override
public void run() {
plugin.toggleUnderlayState(mapActivity, type, onMapSelectedCallback);
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
} else if (itemId == R.string.show_polygons) {
hidePolygonsPref.set(!isChecked);
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
} else if (itemId == R.string.show_transparency_seekbar) {
if (isChecked) {
settings.LAYER_TRANSPARENCY_SEEKBAR_MODE.set(currentMapTypeSeekbarMode);

View file

@ -140,7 +140,7 @@ public class SelectMapStyleBottomSheetDialogFragment extends MenuBottomSheetDial
OsmandMapTileView view = mapActivity.getMapView();
view.getSettings().RENDERER.set(selectedStyle);
app.getRendererRegistry().setCurrentSelectedRender(loaded);
ConfigureMapMenu.refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
mapActivity.getDashboard().refreshContent(true);
} else {
Toast.makeText(mapActivity, R.string.renderer_load_exception, Toast.LENGTH_SHORT).show();

View file

@ -593,7 +593,7 @@ public class GpxUiHelper {
}
}
if (activity instanceof MapActivity) {
ConfigureMapMenu.refreshMapComplete((MapActivity) activity);
((MapActivity) activity).refreshMapComplete();
}
}
GPXFile currentGPX = null;

View file

@ -15,7 +15,6 @@ import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.dialogs.ConfigureMapMenu;
import net.osmand.plus.openseamapsplugin.NauticalMapsPlugin;
import net.osmand.plus.quickaction.QuickAction;
import net.osmand.plus.quickaction.QuickActionType;
@ -92,7 +91,7 @@ public class MapStyleAction extends SwitchableAction<String> {
view.getSettings().RENDERER.set(params);
app.getRendererRegistry().setCurrentSelectedRender(loaded);
ConfigureMapMenu.refreshMapComplete(activity);
activity.refreshMapComplete();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_style_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();

View file

@ -28,7 +28,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class MapUnderlayAction extends SwitchableAction<Pair<String, String>> {
@ -144,7 +143,7 @@ public class MapUnderlayAction extends SwitchableAction<Pair<String, String>> {
settings.MAP_UNDERLAY_PREVIOUS.set(null);
}
plugin.updateMapLayers(activity.getMapView(), settings.MAP_UNDERLAY, activity.getMapLayers());
refreshMapComplete(activity);
activity.refreshMapComplete();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_underlay_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();
}

View file

@ -53,7 +53,6 @@ import static net.osmand.aidlapi.OsmAndCustomizationConstants.MAP_CONTEXT_MENU_U
import static net.osmand.aidlapi.OsmAndCustomizationConstants.OVERLAY_MAP;
import static net.osmand.aidlapi.OsmAndCustomizationConstants.UNDERLAY_MAP;
import static net.osmand.plus.ContextMenuAdapter.makeDeleteAction;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class OsmandRasterMapsPlugin extends OsmandPlugin {
@ -113,7 +112,6 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin {
hidePolygonsPref.set(settings.MAP_UNDERLAY.get() != null);
}
};
// mapView.addLayer(overlayLayer, 0.7f);
settings.MAP_UNDERLAY.addListener(underlayListener);
return true;
}
@ -354,7 +352,7 @@ public class OsmandRasterMapsPlugin extends OsmandPlugin {
adapter.notifyDataSetChanged();
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
}
}

View file

@ -753,11 +753,6 @@ public class MapRenderRepositories {
now = System.currentTimeMillis();
Bitmap bmp;
// boolean transparent = false;
// RenderingRuleProperty rr = storage.PROPS.get("noPolygons");
// if (rr != null) {
// transparent = renderingReq.getIntPropertyValue(rr) > 0;
// }
// 1. generate image step by step
Bitmap reuse = prevBmp;

View file

@ -15,7 +15,6 @@ import net.osmand.plus.quickaction.QuickAction;
import net.osmand.plus.quickaction.QuickActionType;
import net.osmand.render.RenderingRuleProperty;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
import static net.osmand.plus.srtmplugin.SRTMPlugin.CONTOUR_LINES_ATTR;
import static net.osmand.plus.srtmplugin.SRTMPlugin.CONTOUR_LINES_DISABLED_VALUE;
@ -53,7 +52,7 @@ public class ContourLinesAction extends QuickAction {
if (selected && !plugin.isActive() && !plugin.needsInstallation()) {
OsmandPlugin.enablePlugin(activity, app, plugin, true);
}
refreshMapComplete(activity);
activity.refreshMapComplete();
}
}
});

View file

@ -24,7 +24,6 @@ import net.osmand.render.RenderingRuleProperty;
import java.io.IOException;
import java.util.List;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
import static net.osmand.plus.srtmplugin.SRTMPlugin.CONTOUR_DENSITY_ATTR;
import static net.osmand.plus.srtmplugin.SRTMPlugin.CONTOUR_LINES_ATTR;
import static net.osmand.plus.srtmplugin.SRTMPlugin.CONTOUR_LINES_DISABLED_VALUE;
@ -110,7 +109,7 @@ public class ContourLinesMenu {
@Override
public void run() {
mapActivity.getDashboard().refreshContent(true);
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
}
@ -124,7 +123,7 @@ public class ContourLinesMenu {
item.setDescription(plugin.getPrefDescription(app, contourLinesProp, pref));
adapter.notifyDataSetChanged();
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
} else if (itemId == colorSchemeStringId) {
@ -136,7 +135,7 @@ public class ContourLinesMenu {
item.setDescription(plugin.getPrefDescription(app, colorSchemeProp, colorPref));
adapter.notifyDataSetChanged();
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
} else if (itemId == R.string.srtm_plugin_name) {
@ -151,7 +150,7 @@ public class ContourLinesMenu {
item.setDescription(plugin.getPrefDescription(app, contourWidthProp, widthPref));
adapter.notifyDataSetChanged();
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
} else if (contourDensityProp != null && itemId == contourDensityName.hashCode()) {
@ -163,7 +162,7 @@ public class ContourLinesMenu {
item.setDescription(plugin.getPrefDescription(app, contourDensityProp, densityPref));
adapter.notifyDataSetChanged();
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
}

View file

@ -44,7 +44,6 @@ import java.util.List;
import static net.osmand.aidlapi.OsmAndCustomizationConstants.CONTOUR_LINES;
import static net.osmand.aidlapi.OsmAndCustomizationConstants.TERRAIN;
import static net.osmand.plus.ContextMenuAdapter.makeDeleteAction;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class SRTMPlugin extends OsmandPlugin {
@ -308,9 +307,8 @@ public class SRTMPlugin extends OsmandPlugin {
item.setSelected(selected);
adapter.notifyDataSetChanged();
}
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
}
});
} else if (itemId == R.string.shared_string_terrain) {
@ -329,7 +327,7 @@ public class SRTMPlugin extends OsmandPlugin {
adapter.notifyDataSetChanged();
}
updateLayers(mapView, mapActivity);
refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
}
});
}
@ -487,7 +485,7 @@ public class SRTMPlugin extends OsmandPlugin {
} else {
pref.set(possibleValues[which - 1]);
}
refreshMapComplete(activity);
activity.refreshMapComplete();
}
}
);

View file

@ -13,8 +13,6 @@ import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.quickaction.QuickAction;
import net.osmand.plus.quickaction.QuickActionType;
import static net.osmand.plus.dialogs.ConfigureMapMenu.refreshMapComplete;
public class TerrainAction extends QuickAction {
public static final QuickActionType TYPE = new QuickActionType(30,
@ -42,7 +40,7 @@ public class TerrainAction extends QuickAction {
OsmandPlugin.enablePlugin(activity, activity.getMyApplication(), plugin, true);
}
plugin.updateLayers(activity.getMapView(), activity);
refreshMapComplete(activity);
activity.refreshMapComplete();
}
});
}

View file

@ -219,9 +219,8 @@ public class TransportLinesMenu {
return transportPrefs;
}
private static void refreshMap(MapActivity mapActivity) {
ConfigureMapMenu.refreshMapComplete(mapActivity);
mapActivity.refreshMapComplete();
mapActivity.getMapLayers().updateLayers(mapActivity.getMapView());
}