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);
     }