[2/2] OmniGears: configure SystemUI theme
allow to force light or dark or use the wallpaper based
automatic selection
Change-Id: Icd3f7970519c319e0fe182a7669216b6761438ad
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index eff5300..a8f0951 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -461,4 +461,16 @@
<item>6</item>
<!--<item>1</item>-->
</string-array>
+
+ <string-array name="systemui_theme_style_entries" translatable="false">
+ <item>@string/systemui_theme_style_auto</item>
+ <item>@string/systemui_theme_style_light</item>
+ <item>@string/systemui_theme_style_dark</item>
+ </string-array>
+
+ <string-array name="systemui_theme_style_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 88184ae..db487fd 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -610,4 +610,9 @@
<string name="show_dashboard_columns_summary">In settings main page</string>
<string name="hide_dashboard_summary_title">Hide summary</string>
<string name="hide_dashboard_summary_summary">In settings main page</string>
+
+ <string name="systemui_theme_style_title">SystemUI style</string>
+ <string name="systemui_theme_style_auto">Wallpaper based</string>
+ <string name="systemui_theme_style_light">Light style</string>
+ <string name="systemui_theme_style_dark">Dark style</string>
</resources>
diff --git a/res/xml/style_settings.xml b/res/xml/style_settings.xml
index 94c25df..af018ae 100644
--- a/res/xml/style_settings.xml
+++ b/res/xml/style_settings.xml
@@ -30,8 +30,16 @@
android:targetPackage="org.omnirom.omnistyle"
android:targetClass="org.omnirom.omnistyle.BrowseWallsActivity" />
</Preference>
+
+ <ListPreference
+ android:key="systemui_theme_style"
+ android:title="@string/systemui_theme_style_title"
+ android:persistent="false"
+ android:entries="@array/systemui_theme_style_entries"
+ android:entryValues="@array/systemui_theme_style_values" />
+
</PreferenceCategory>
-
+
<PreferenceCategory
android:key="category_custom_header"
android:title="@string/custom_header_title">
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 9876b0a..980a16a 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -61,6 +61,7 @@
private static final String CUSTOM_HEADER_PROVIDER = "custom_header_provider";
private static final String STATUS_BAR_CUSTOM_HEADER = "status_bar_custom_header";
private static final String CUSTOM_HEADER_ENABLED = "status_bar_custom_header";
+ private static final String SYSTEMUI_THEME_STYLE = "systemui_theme_style";
private Preference mWallBrowse;
private Preference mHeaderBrowse;
@@ -69,6 +70,7 @@
private ListPreference mHeaderProvider;
private String mDaylightHeaderProvider;
private SystemSettingSwitchPreference mHeaderEnabled;
+ private ListPreference mSystemUIThemeStyle;
@Override
public int getMetricsCategory() {
@@ -120,6 +122,14 @@
mHeaderProvider.setSummary(mHeaderProvider.getEntry());
mHeaderProvider.setOnPreferenceChangeListener(this);
mDaylightHeaderPack.setEnabled(providerName.equals(mDaylightHeaderProvider));
+
+ mSystemUIThemeStyle = (ListPreference) findPreference(SYSTEMUI_THEME_STYLE);
+ int systemUIThemeStyle = Settings.System.getInt(getContentResolver(),
+ Settings.System.SYSTEM_UI_THEME, 0);
+ valueIndex = mSystemUIThemeStyle.findIndexOfValue(String.valueOf(systemUIThemeStyle));
+ mSystemUIThemeStyle.setValueIndex(valueIndex >= 0 ? valueIndex : 0);
+ mSystemUIThemeStyle.setSummary(mSystemUIThemeStyle.getEntry());
+ mSystemUIThemeStyle.setOnPreferenceChangeListener(this);
}
private void updateHeaderProviderSummary(boolean headerEnabled) {
@@ -169,6 +179,11 @@
} else if (preference == mHeaderEnabled) {
Boolean headerEnabled = (Boolean) newValue;
updateHeaderProviderSummary(headerEnabled);
+ } else if (preference == mSystemUIThemeStyle) {
+ String value = (String) newValue;
+ Settings.System.putInt(getContentResolver(), Settings.System.SYSTEM_UI_THEME, Integer.valueOf(value));
+ int valueIndex = mSystemUIThemeStyle.findIndexOfValue(value);
+ mSystemUIThemeStyle.setSummary(mSystemUIThemeStyle.getEntries()[valueIndex]);
}
return true;
}