[2/2] OmniGears: quick settings pull down [CM based]
Change-Id: Ie06ac5eb49db1f33a64154c68e29402338f34694
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index adfe514..46f1bc7 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -235,4 +235,17 @@
<item>1000</item>
<item>1500</item>
</string-array>
+
+ <!-- Quick pulldown -->
+ <string-array name="status_bar_quick_qs_pulldown_entries" translatable="false">
+ <item>@string/status_bar_quick_qs_pulldown_off</item>
+ <item>@string/status_bar_quick_qs_pulldown_right</item>
+ <item>@string/status_bar_quick_qs_pulldown_left</item>
+ </string-array>
+
+ <string-array name="status_bar_quick_qs_pulldown_values" translatable="false">
+ <item>0</item>
+ <item>1</item>
+ <item>2</item>
+ </string-array>
</resources>
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 9c061cd..8c641c1 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -336,4 +336,11 @@
<string name="lockscreen_qs_disabled_title">Disable quick settings when locked</string>
<string name="lockscreen_qs_disabled_summary">Disable expanding quick settings on secure lock screens</string>
+ <string name="status_bar_quick_qs_pulldown_title">Quick pulldown</string>
+ <string name="status_bar_quick_qs_pulldown_summary">%1$s edge of the status bar pulls down Quick Settings</string>
+ <string name="status_bar_quick_qs_pulldown_summary_left">Left</string>
+ <string name="status_bar_quick_qs_pulldown_summary_right">Right</string>
+ <string name="status_bar_quick_qs_pulldown_off">Off</string>
+ <string name="status_bar_quick_qs_pulldown_left">Left</string>
+ <string name="status_bar_quick_qs_pulldown_right">Right</string>
</resources>
diff --git a/res/xml/bars_settings.xml b/res/xml/bars_settings.xml
index 80bd7b2..c9f192a 100644
--- a/res/xml/bars_settings.xml
+++ b/res/xml/bars_settings.xml
@@ -47,13 +47,21 @@
android:targetPackage="com.android.systemui"
android:targetClass="com.android.systemui.tuner.StatusBarActivity" />
</PreferenceScreen>
+
+ <!-- Network traffic meter -->
+ <PreferenceScreen
+ android:key="category_network_traffic"
+ android:title="@string/network_traffic_title"
+ android:fragment="org.omnirom.omnigears.interfacesettings.NetworkTraffic" />
+
+ <ListPreference
+ android:key="status_bar_quick_qs_pulldown"
+ android:title="@string/status_bar_quick_qs_pulldown_title"
+ android:entries="@array/status_bar_quick_qs_pulldown_entries"
+ android:entryValues="@array/status_bar_quick_qs_pulldown_values"
+ android:persistent="false" />
+
</PreferenceCategory>
-
- <!-- Network traffic meter -->
- <PreferenceScreen
- android:key="category_network_traffic"
- android:title="@string/network_traffic_title"
- android:fragment="org.omnirom.omnigears.interfacesettings.NetworkTraffic" />
<PreferenceCategory
android:key="category_navigationbar"
diff --git a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
index 604ecb2..f93ffe9 100644
--- a/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/BarsSettings.java
@@ -64,10 +64,12 @@
private static final String NAVIGATIONBAR_ROOT = "category_navigationbar";
private static final String TABLET_NAVIGATION_BAR = "enable_tablet_navigation";
private static final String CUSTOM_HEADER_IMAGE_SHADOW = "status_bar_custom_header_shadow";
+ private static final String QUICK_SETTTINGS_PULLDOWN = "status_bar_quick_qs_pulldown";
private ListPreference mDaylightHeaderPack;
private CheckBoxPreference mCustomHeaderImage;
private SeekBarPreference mHeaderShadow;
+ private ListPreference mQuickPulldown;
@Override
protected int getMetricsCategory() {
@@ -128,6 +130,12 @@
Settings.System.STATUS_BAR_CUSTOM_HEADER_SHADOW, 0);
mHeaderShadow.setValue((int)(((double) headerShadow / 255) * 100));
mHeaderShadow.setOnPreferenceChangeListener(this);
+
+ mQuickPulldown = (ListPreference) findPreference(QUICK_SETTTINGS_PULLDOWN);
+ mQuickPulldown.setOnPreferenceChangeListener(this);
+ int quickPullDownValue = Settings.System.getInt(getContentResolver(), Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, 0);
+ mQuickPulldown.setValue(String.valueOf(quickPullDownValue));
+ updatePulldownSummary(quickPullDownValue);
}
@Override
@@ -155,6 +163,11 @@
int realHeaderValue = (int) (((double) headerShadow / 100) * 255);
Settings.System.putInt(getContentResolver(),
Settings.System.STATUS_BAR_CUSTOM_HEADER_SHADOW, realHeaderValue);
+ } else if (preference == mQuickPulldown) {
+ int quickPullDownValue = Integer.valueOf((String) newValue);
+ Settings.System.putInt(getContentResolver(),
+ Settings.System.STATUS_BAR_QUICK_QS_PULLDOWN, quickPullDownValue);
+ updatePulldownSummary(quickPullDownValue);
}
return true;
}
@@ -193,6 +206,20 @@
}
}
+ private void updatePulldownSummary(int value) {
+ Resources res = getResources();
+
+ if (value == 0) {
+ // quick pulldown deactivated
+ mQuickPulldown.setSummary(res.getString(R.string.status_bar_quick_qs_pulldown_off));
+ } else {
+ String direction = res.getString(value == 2
+ ? R.string.status_bar_quick_qs_pulldown_summary_left
+ : R.string.status_bar_quick_qs_pulldown_summary_right);
+ mQuickPulldown.setSummary(res.getString(R.string.status_bar_quick_qs_pulldown_summary, direction));
+ }
+ }
+
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override