[2/2] OmniGears: Quick pulldown
This adds an option to toggle between left, right & centre.
left is the 30% from left, right is 30% from right &
centre is 40% in the middle.
Change-Id: Idbbc44c7809ab0b08f38be82b9002a1d48eb6e32
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 62e464b..2da902a 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -272,4 +272,19 @@
<item>ic_lockscreen_twitter_normal</item>
</string-array>
+ <!-- Quick pulldown -->
+ <string-array name="quick_pulldown_entries" translatable="false">
+ <item>@string/quick_pulldown_off</item>
+ <item>@string/quick_pulldown_right</item>
+ <item>@string/quick_pulldown_left</item>
+ <item>@string/quick_pulldown_centre</item>
+ </string-array>
+
+ <string-array name="quick_pulldown_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ <item>3</item>
+ </string-array>
+
</resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index e3f7655..d8e3676 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -370,7 +370,12 @@
<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>
+ <!-- QuickSettings: Quick Pulldown -->
+ <string name="title_quick_pulldown">Quick pulldown</string>
+ <string name="summary_quick_pulldown">Quickly pulldown quicksettings with one finger</string>
+ <string name="quick_pulldown_off">Off</string>
+ <string name="quick_pulldown_centre">Centre</string>
+ <string name="quick_pulldown_left">Left</string>
+ <string name="quick_pulldown_right">Right</string>
+
</resources>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index c173d70..1e6f22e 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -49,11 +49,14 @@
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" />
+ <ListPreference
+ android:key="quick_pulldown"
+ android:title="@string/title_quick_pulldown"
+ android:summary="@string/summary_quick_pulldown"
+ android:entries="@array/quick_pulldown_entries"
+ android:entryValues="@array/quick_pulldown_values"
+ 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 99fced9..ee4b845 100644
--- a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
@@ -27,6 +27,7 @@
import android.os.RemoteException;
import android.os.SystemProperties;
import android.preference.CheckBoxPreference;
+import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen;
@@ -43,15 +44,14 @@
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 QUICK_PULLDOWN = "quick_pulldown";
private static final String CATEGORY_NAVBAR = "category_navigation_bar";
private CheckBoxPreference mStatusBarBrightnessControl;
private CheckBoxPreference mStatusBarNotifCount;
private CheckBoxPreference mStatusBarTraffic;
private CheckBoxPreference mStatusBarNetworkActivity;
- private CheckBoxPreference mStatusBarQsPulldown;
+ private ListPreference mQuickPulldown;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -90,6 +90,12 @@
mStatusBarNetworkActivity.setOnPreferenceChangeListener(this);
mStatusBarNetworkActivity.setOnPreferenceChangeListener(this);
+ mQuickPulldown = (ListPreference) findPreference(QUICK_PULLDOWN);
+ mQuickPulldown.setOnPreferenceChangeListener(this);
+ int statusQuickPulldown = Settings.System.getInt(getContentResolver(),
+ Settings.System.QS_QUICK_PULLDOWN, 0);
+ mQuickPulldown.setValue(String.valueOf(statusQuickPulldown));
+
boolean hasNavBar = getResources().getBoolean(
com.android.internal.R.bool.config_showNavigationBar);
// Also check, if users without navigation bar force enabled it.
@@ -99,11 +105,6 @@
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
@@ -128,10 +129,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;
+ } else if (preference == mQuickPulldown) {
+ int statusQuickPulldown = Integer.valueOf((String) objValue);
Settings.System.putInt(resolver,
- Settings.System.STATUS_BAR_QS_QUICK_PULLDOWN, value ? 1 : 0);
+ Settings.System.QS_QUICK_PULLDOWN, statusQuickPulldown);
} else {
return false;
}