OmniGears: use normal SwitchPreference for enable navbar
for proper default handling on all devices
Change-Id: Icf91860d4ae0760c73441c73b8f22fb199b07ad1
diff --git a/res/xml/button_settings.xml b/res/xml/button_settings.xml
index be5e3c3..2f8074d 100644
--- a/res/xml/button_settings.xml
+++ b/res/xml/button_settings.xml
@@ -22,11 +22,11 @@
android:key="button_keys"
android:title="@string/button_keys_title" >
- <org.omnirom.omnilib.preference.SystemSettingSwitchPreference
+ <SwitchPreference
android:key="navigation_bar_show"
android:title="@string/navigation_bar_show_title"
android:summary="@string/navigation_bar_show_summary"
- android:defaultValue="false" />
+ android:persistent="false" />
</PreferenceCategory>
diff --git a/src/org/omnirom/omnigears/ButtonSettings.java b/src/org/omnirom/omnigears/ButtonSettings.java
index 4511ae6..4baf717 100644
--- a/src/org/omnirom/omnigears/ButtonSettings.java
+++ b/src/org/omnirom/omnigears/ButtonSettings.java
@@ -62,7 +62,7 @@
private static final String SYSTEM_PROXI_CHECK_ENABLED = "system_proxi_check_enabled";
private ListPreference mNavbarRecentsStyle;
- private SystemSettingSwitchPreference mEnableNavBar;
+ private SwitchPreference mEnableNavBar;
@Override
public int getMetricsCategory() {
@@ -84,10 +84,11 @@
final PreferenceCategory powerCategory =
(PreferenceCategory) prefScreen.findPreference(CATEGORY_POWER);
+ mEnableNavBar = (SwitchPreference) prefScreen.findPreference(KEYS_SHOW_NAVBAR_KEY);
+
boolean showNavBarDefault = DeviceUtils.deviceSupportNavigationBar(getActivity());
boolean showNavBar = Settings.System.getInt(resolver,
Settings.System.OMNI_NAVIGATION_BAR_SHOW, showNavBarDefault ? 1 : 0) == 1;
- mEnableNavBar = (SystemSettingSwitchPreference) prefScreen.findPreference(KEYS_SHOW_NAVBAR_KEY);
mEnableNavBar.setChecked(showNavBar);
mNavbarRecentsStyle = (ListPreference) findPreference(NAVIGATION_BAR_RECENTS_STYLE);
@@ -107,6 +108,12 @@
@Override
public boolean onPreferenceTreeClick(Preference preference) {
+ if (preference == mEnableNavBar) {
+ boolean checked = ((SwitchPreference)preference).isChecked();
+ Settings.System.putInt(getContentResolver(),
+ Settings.System.OMNI_NAVIGATION_BAR_SHOW, checked ? 1:0);
+ return true;
+ }
return super.onPreferenceTreeClick(preference);
}