diff --git a/android/res/values/donottranslate.xml b/android/res/values/donottranslate.xml
index 4f98701e31..8ec810903d 100644
--- a/android/res/values/donottranslate.xml
+++ b/android/res/values/donottranslate.xml
@@ -40,6 +40,8 @@
MapStyle
TtsEnabled
TtsLanguage
+ 3D
+ 3DBuildings
DisplayShowcase
%1$s: %2$s
diff --git a/android/res/xml-v21/prefs_route.xml b/android/res/xml-v21/prefs_route.xml
index 10ec5db366..1b0dbfe2b8 100644
--- a/android/res/xml-v21/prefs_route.xml
+++ b/android/res/xml-v21/prefs_route.xml
@@ -11,4 +11,17 @@
+
+
+
+
\ No newline at end of file
diff --git a/android/res/xml/prefs_route.xml b/android/res/xml/prefs_route.xml
index a604318998..d92a34556f 100644
--- a/android/res/xml/prefs_route.xml
+++ b/android/res/xml/prefs_route.xml
@@ -9,4 +9,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/android/src/com/mapswithme/maps/search/SearchFragment.java b/android/src/com/mapswithme/maps/search/SearchFragment.java
index 69610a759d..c613927e8e 100644
--- a/android/src/com/mapswithme/maps/search/SearchFragment.java
+++ b/android/src/com/mapswithme/maps/search/SearchFragment.java
@@ -84,7 +84,7 @@ public class SearchFragment extends BaseMwmFragment
}
// TODO: This code only for demonstration purposes and will be removed soon
- if (tryChangeMapStyle(query) || try3dMode(query))
+ if (tryChangeMapStyle(query))
return;
runSearch();
@@ -335,21 +335,6 @@ public class SearchFragment extends BaseMwmFragment
return true;
}
-
- private boolean try3dMode(String str)
- {
- final boolean is3d = str.equals("?3d");
- final boolean is3dBuildings = str.equals("?b3d");
- final boolean is2d = str.equals("?2d");
-
- if (!is3d && !is3dBuildings && !is2d)
- return false;
-
- hideSearch();
- Framework.nativeAllow3dMode(is3d || is3dBuildings, is3dBuildings);
-
- return true;
- }
// FIXME END
private void processSelected(SearchResult result)
diff --git a/android/src/com/mapswithme/maps/settings/RoutePrefsFragment.java b/android/src/com/mapswithme/maps/settings/RoutePrefsFragment.java
index ed790ac6dc..39af43a46c 100644
--- a/android/src/com/mapswithme/maps/settings/RoutePrefsFragment.java
+++ b/android/src/com/mapswithme/maps/settings/RoutePrefsFragment.java
@@ -13,6 +13,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.mapswithme.maps.Framework;
import com.mapswithme.maps.R;
import com.mapswithme.maps.sound.LanguageData;
import com.mapswithme.maps.sound.TtsPlayer;
@@ -151,6 +152,34 @@ public class RoutePrefsFragment extends PreferenceFragment
mPrefEnabled = (TwoStatePreference) findPreference(getString(R.string.pref_tts_enabled));
mPrefLanguages = (ListPreference) findPreference(getString(R.string.pref_tts_language));
update();
+
+ Framework._3dModeParams _3d = new Framework._3dModeParams();
+ Framework.nativeGet3dMode(_3d);
+
+ final TwoStatePreference pref3d = (TwoStatePreference)findPreference(getString(R.string.pref_3d));
+ final TwoStatePreference pref3dBuildings = (TwoStatePreference)findPreference(getString(R.string.pref_3d_buildings));
+ pref3d.setChecked(_3d.enabled);
+ pref3dBuildings.setChecked(_3d.buildings);
+
+ pref3d.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
+ {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue)
+ {
+ Framework.nativeSet3dMode((Boolean)newValue, pref3dBuildings.isChecked());
+ return true;
+ }
+ });
+
+ pref3dBuildings.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
+ {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue)
+ {
+ Framework.nativeSet3dMode(pref3d.isChecked(), (Boolean)newValue);
+ return true;
+ }
+ });
}
@Override