Merge pull request #5554 from osmandapp/QuickActionsImprovements

Quick actions improvements
This commit is contained in:
Alexander Sytnyk 2018-06-08 15:59:16 +03:00 committed by GitHub
commit 3ca22f8ec3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 66 additions and 16 deletions

View file

@ -179,7 +179,7 @@ public class SelectMapViewQuickActionsBottomSheet extends MenuBottomSheetDialogF
List<String> stylesList = mapStyleAction.getFilteredStyles();
for (String entry : stylesList) {
boolean selected = entry.equals(selectedItem);
createItemRow(selected, counter, entry, entry);
createItemRow(selected, counter, mapStyleAction.getTranslatedItemName(context, entry), entry);
counter++;
}
} else if (action instanceof SwitchableAction) {

View file

@ -62,7 +62,7 @@ public abstract class SwitchableAction<T> extends QuickAction {
final QuickActionItemTouchHelperCallback touchHelperCallback = new QuickActionItemTouchHelperCallback();
final ItemTouchHelper touchHelper = new ItemTouchHelper(touchHelperCallback);
final Adapter adapter = new Adapter(new QuickActionListFragment.OnStartDragListener() {
final Adapter adapter = new Adapter(activity, new QuickActionListFragment.OnStartDragListener() {
@Override
public void onStartDrag(RecyclerView.ViewHolder viewHolder) {
touchHelper.startDrag(viewHolder);
@ -107,6 +107,8 @@ public abstract class SwitchableAction<T> extends QuickAction {
public abstract void executeWithParams(MapActivity activity, String params);
public abstract String getTranslatedItemName(Context context, String item);
protected void showChooseDialog(FragmentManager fm) {
SelectMapViewQuickActionsBottomSheet fragment = new SelectMapViewQuickActionsBottomSheet();
Bundle args = new Bundle();
@ -119,8 +121,10 @@ public abstract class SwitchableAction<T> extends QuickAction {
private List<T> itemsList = new ArrayList<>();
private final QuickActionListFragment.OnStartDragListener onStartDragListener;
private Context context;
public Adapter(QuickActionListFragment.OnStartDragListener onStartDragListener) {
public Adapter(Context context, QuickActionListFragment.OnStartDragListener onStartDragListener) {
this.context = context;
this.onStartDragListener = onStartDragListener;
this.itemsList = new ArrayList<>();
}
@ -135,7 +139,7 @@ public abstract class SwitchableAction<T> extends QuickAction {
public void onBindViewHolder(final Adapter.ItemHolder holder, final int position) {
final T item = itemsList.get(position);
holder.title.setText(getItemName(item));
holder.title.setText(getItemName(context, item));
holder.handleView.setOnTouchListener(new View.OnTouchListener() {
@Override
@ -274,7 +278,7 @@ public abstract class SwitchableAction<T> extends QuickAction {
protected abstract void saveListToParams(List<T> list);
protected abstract String getItemName(T item);
protected abstract String getItemName(Context context, T item);
protected abstract
@StringRes

View file

@ -1,5 +1,6 @@
package net.osmand.plus.quickaction.actions;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.util.Pair;
import android.support.v7.app.AlertDialog;
@ -69,7 +70,7 @@ public class MapOverlayAction extends SwitchableAction<Pair<String, String>> {
}
@Override
protected String getItemName(Pair<String, String> item) {
protected String getItemName(Context context, Pair<String, String> item) {
return item.second;
}
@ -117,10 +118,20 @@ public class MapOverlayAction extends SwitchableAction<Pair<String, String>> {
settings.MAP_OVERLAY_PREVIOUS.set(null);
}
plugin.updateMapLayers(activity.getMapView(), settings.MAP_OVERLAY, activity.getMapLayers());
Toast.makeText(activity, activity.getString(R.string.quick_action_map_overlay_switch, params), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_overlay_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();
}
}
@Override
public String getTranslatedItemName(Context context, String item) {
if (item.equals(KEY_NO_OVERLAY)) {
return context.getString(R.string.no_overlay);
} else {
return item;
}
}
@Override
protected int getAddBtnText() {
return R.string.quick_action_map_overlay_action;

View file

@ -1,5 +1,6 @@
package net.osmand.plus.quickaction.actions;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.util.Pair;
import android.support.v7.app.AlertDialog;
@ -108,7 +109,17 @@ public class MapSourceAction extends SwitchableAction<Pair<String, String>> {
settings.MAP_ONLINE_DATA.set(true);
activity.getMapLayers().updateMapSource(activity.getMapView(), settings.MAP_TILE_SOURCES);
}
Toast.makeText(activity, activity.getString(R.string.quick_action_map_source_switch, params), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_source_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();
}
@Override
public String getTranslatedItemName(Context context, String item) {
if (item.equals(LAYER_OSM_VECTOR)) {
return context.getString(R.string.vector_data);
} else {
return item;
}
}
@Override
@ -178,7 +189,7 @@ public class MapSourceAction extends SwitchableAction<Pair<String, String>> {
}
@Override
protected String getItemName(Pair<String, String> item) {
protected String getItemName(Context context, Pair<String, String> item) {
return item.second;
}

View file

@ -1,5 +1,6 @@
package net.osmand.plus.quickaction.actions;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.SwitchCompat;
@ -69,12 +70,20 @@ public class MapStyleAction extends SwitchableAction<String> {
app.getRendererRegistry().setCurrentSelectedRender(loaded);
ConfigureMapMenu.refreshMapComplete(activity);
Toast.makeText(activity, activity.getString(R.string.quick_action_map_style_switch, params), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_style_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(activity, R.string.renderer_load_exception, Toast.LENGTH_SHORT).show();
}
}
@Override
public String getTranslatedItemName(Context context, String item) {
String translation = RendererRegistry.getTranslatedRendererName(context, item);
return translation != null ? translation
: item.replace('_', ' ').replace('-', ' ');
}
public List<String> getFilteredStyles() {
List<String> filtered = new ArrayList<>();
@ -192,8 +201,12 @@ public class MapStyleAction extends SwitchableAction<String> {
}
@Override
protected String getItemName(String item) {
return item;
protected String getItemName(Context context, String item) {
if (context != null) {
return getTranslatedItemName(context, item);
} else {
return item;
}
}
@Override

View file

@ -1,5 +1,6 @@
package net.osmand.plus.quickaction.actions;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.util.Pair;
import android.support.v7.app.AlertDialog;
@ -69,7 +70,7 @@ public class MapUnderlayAction extends SwitchableAction<Pair<String, String>> {
}
@Override
protected String getItemName(Pair<String, String> item) {
protected String getItemName(Context context, Pair<String, String> item) {
return item.second;
}
@ -120,7 +121,17 @@ public class MapUnderlayAction extends SwitchableAction<Pair<String, String>> {
hidePolygonsPref.set(hasUnderlay);
plugin.updateMapLayers(activity.getMapView(), settings.MAP_UNDERLAY, activity.getMapLayers());
Toast.makeText(activity, activity.getString(R.string.quick_action_map_underlay_switch, params), Toast.LENGTH_SHORT).show();
Toast.makeText(activity, activity.getString(R.string.quick_action_map_underlay_switch,
getTranslatedItemName(activity, params)), Toast.LENGTH_SHORT).show();
}
}
@Override
public String getTranslatedItemName(Context context, String item) {
if (item.equals(KEY_NO_UNDERLAY)) {
return context.getString(R.string.no_underlay);
} else {
return item;
}
}