diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index dc192b7f5b..95f12bd3c6 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -2471,6 +2471,7 @@ If you need help with OsmAnd application, please contact our support team: suppo
Take audio note
Take video note
Take photo note
+ Voice On/Off
Add GPX waypoint
Add Parking place
Add action
@@ -2490,6 +2491,7 @@ If you need help with OsmAnd application, please contact our support team: suppo
Tap on action will add audio note to the specified location.
Tap on action will add video note to the specified location.
Tap on action will add photo note to the specified location.
+ Tap on action will disable or enable voice during navigation.
Tap on action will add Parking place to the specified location.
Show favorite dialog
" is saved to "
diff --git a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java
index cd6a8d869d..bcc36e0a28 100644
--- a/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java
+++ b/OsmAnd/src/net/osmand/plus/quickaction/QuickActionFactory.java
@@ -79,6 +79,9 @@ public class QuickActionFactory {
quickActions.add(new ShowHideFavoritesAction());
quickActions.add(new ShowHidePoiAction());
+ quickActions.add(new QuickAction(0, R.string.quick_action_add_navigation));
+ quickActions.add(new NavigationVoiceAction());
+
return quickActions;
}
@@ -116,6 +119,9 @@ public class QuickActionFactory {
case TakeVideoNoteAction.TYPE:
return new TakeVideoNoteAction();
+ case NavigationVoiceAction.TYPE:
+ return new NavigationVoiceAction();
+
default:
return new QuickAction();
}
@@ -155,6 +161,9 @@ public class QuickActionFactory {
case TakeVideoNoteAction.TYPE:
return new TakeVideoNoteAction(quickAction);
+ case NavigationVoiceAction.TYPE:
+ return new NavigationVoiceAction(quickAction);
+
default:
return quickAction;
}
@@ -705,4 +714,40 @@ public class QuickActionFactory {
parent.addView(view);
}
}
+
+ public static class NavigationVoiceAction extends QuickAction {
+ public static final int TYPE = 11;
+
+ protected NavigationVoiceAction() {
+ id = System.currentTimeMillis();
+ type = TYPE;
+ nameRes = R.string.quick_action_navigation_voice;
+ iconRes = R.drawable.ic_action_volume_up;
+ }
+
+ public NavigationVoiceAction(QuickAction quickAction) {
+ super(quickAction);
+ }
+
+ @Override
+ public void execute(MapActivity activity) {
+
+ boolean voice = activity.getMyApplication().getSettings().VOICE_MUTE.get();
+
+ activity.getMyApplication().getSettings().VOICE_MUTE.set(!voice);
+ activity.getRoutingHelper().getVoiceRouter().setMute(!voice);
+ }
+
+ @Override
+ public void drawUI(ViewGroup parent, MapActivity activity) {
+
+ View view = LayoutInflater.from(parent.getContext())
+ .inflate(R.layout.quick_action_with_text, parent, false);
+
+ ((TextView) view.findViewById(R.id.text)).setText(
+ R.string.quick_action_navigation_voice_discr);
+
+ parent.addView(view);
+ }
+ }
}