[2/2] OmniGears: Settings for QS Pulldown

PS2: Remove dep
PS3: Change string and fix ws
PS4: android:persistant and title
PS5: Rebase

Change-Id: I628e6a8e2c7fc292c382005b795666eba4b85b21
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 85df0dd..7b67319 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -360,4 +360,7 @@
     <string name="icon_picker_sms">Messaging</string>
     <string name="icon_picker_twitter">Twitter</string>
 
+    <!-- Status Bar QS Quick pulldown -->
+    <string name="qs_quick_pulldown_title">Quick Settings pulldown</string>
+    <string name="qs_quick_pulldown_summary">Access Quick Settings by pulling down on the right side of the status bar</string>
 </resources>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index 6ce53a3..c173d70 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -48,6 +48,12 @@
                 android:title="@string/show_activity_indicators_on_status_bar_title"
                 android:summary="@string/show_activity_indicators_on_status_bar_summary"
                 android:persistent="false"/>
+
+        <CheckBoxPreference
+            android:key="status_bar_qs_quick_pulldown"
+            android:title="@string/qs_quick_pulldown_title"
+            android:summary="@string/qs_quick_pulldown_summary"
+            android:persistent="false" />
     </PreferenceCategory>
 
     <!-- Navigation bar -->
diff --git a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
index a0dce32..c573f6e 100644
--- a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
@@ -42,6 +42,7 @@
     private static final String STATUS_BAR_NOTIF_COUNT = "status_bar_notif_count";
     private static final String STATUS_BAR_TRAFFIC = "status_bar_traffic";
     private static final String STATUS_BAR_NETWORK_ACTIVITY = "status_bar_network_activity";
+    private static final String STATUS_BAR_QS_QUICK_PULLDOWN = "status_bar_qs_quick_pulldown";
 
     private static final String CATEGORY_NAVBAR = "category_navigation_bar";
 
@@ -49,6 +50,7 @@
     private CheckBoxPreference mStatusBarNotifCount;
     private CheckBoxPreference mStatusBarTraffic;
     private CheckBoxPreference mStatusBarNetworkActivity;
+    private CheckBoxPreference mStatusBarQsPulldown;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -92,6 +94,11 @@
         if (!hasNavBar) {
             prefSet.removePreference(findPreference(CATEGORY_NAVBAR));
         }
+
+        mStatusBarQsPulldown = (CheckBoxPreference) prefSet.findPreference(STATUS_BAR_QS_QUICK_PULLDOWN);
+        mStatusBarQsPulldown.setChecked(Settings.System.getInt(resolver,
+            Settings.System.STATUS_BAR_QS_QUICK_PULLDOWN, 0) == 1);
+        mStatusBarQsPulldown.setOnPreferenceChangeListener(this);
     }
 
     @Override
@@ -116,6 +123,10 @@
             boolean value = (Boolean) objValue;
             Settings.System.putInt(resolver,
                 Settings.System.STATUS_BAR_NETWORK_ACTIVITY, value ? 1 : 0);
+        } else if (preference == mStatusBarQsPulldown) {
+            boolean value = (Boolean) objValue;
+            Settings.System.putInt(resolver,
+                Settings.System.STATUS_BAR_QS_QUICK_PULLDOWN, value ? 1 : 0);
         } else {
             return false;
         }