[2/2] OmniGears: online header support
Change-Id: Ic44d7082fb97d0200bf5db15055f1fc851964473
diff --git a/res/values/custom_arrays.xml b/res/values/custom_arrays.xml
index 17e86fe..e91e790 100644
--- a/res/values/custom_arrays.xml
+++ b/res/values/custom_arrays.xml
@@ -284,13 +284,11 @@
<string-array name="custom_header_provider_entries" translatable="false">
<item>@string/daylight_header_provider_title</item>
- <item>@string/static_header_provider_title</item>
<item>@string/file_header_provider_title</item>
</string-array>
<string-array name="custom_header_provider_values" translatable="false">
<item>@string/daylight_header_provider</item>
- <item>@string/static_header_provider</item>
<item>@string/file_header_provider</item>
</string-array>
@@ -507,7 +505,7 @@
<item>3</item>
</string-array>
- <string-array name="entries_battery_styles" translatable="false">
+ <string-array name="battery_styles_entries" translatable="false">
<item>@string/battery_style_default</item>
<item>@string/battery_style_meter_horizontal</item>
<item>@string/battery_style_circle</item>
@@ -516,7 +514,7 @@
<item>@string/battery_style_droid</item>
</string-array>
- <string-array name="values_battery_styles" translatable="false">
+ <string-array name="battery_styles_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
@@ -524,4 +522,16 @@
<item>4</item>
<item>5</item>
</string-array>
+
+ <string-array name="battery_percent_enable_entries" translatable="false">
+ <item>@string/battery_percent_none</item>
+ <item>@string/battery_percent_always</item>
+ <item>@string/battery_percent_expanded</item>
+ </string-array>
+
+ <string-array name="battery_percent_enable_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 7968be9..8959079 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -262,18 +262,15 @@
<string name="static_header_provider_title">Static image</string>
<string name="daylight_header_provider_title">Image collection</string>
<string name="custom_header_provider_title">Header provider</string>
- <string name="custom_header_browse_title">Browse installed headers</string>
- <string name="custom_header_browse_summary">Click on any image to use for static mode</string>
- <string name="custom_header_browse_summary_new">Browse all available header collections</string>
<string name="custom_header_pick_title">Select header image</string>
- <string name="custom_header_pick_summary">Select an image to use for static mode</string>
+ <string name="custom_header_pick_summary">Select a local or remote image</string>
<string name="style_enabled_summary">Custom header image is ON</string>
<string name="style_disabled_summary">Custom header image is OFF</string>
<string name="header_provider_disabled">Disabled</string>
<string name="custom_header_title">Custom header image</string>
- <string name="file_header_select_title">Select image</string>
- <string name="file_header_select_summary">Select custom image</string>
- <string name="file_header_provider_title">Custom image</string>
+ <string name="file_header_select_title">Select local image</string>
+ <string name="file_header_select_summary">Select image from storage</string>
+ <string name="file_header_provider_title">Single image</string>
<string name="file_header_provider" translatable="false">file</string>
<!-- Network traffic -->
diff --git a/res/xml/style_settings.xml b/res/xml/style_settings.xml
index 1bbfc6b..639a2ce 100644
--- a/res/xml/style_settings.xml
+++ b/res/xml/style_settings.xml
@@ -79,8 +79,8 @@
<Preference
android:key="custom_header_browse"
- android:title="@string/custom_header_browse_title"
- android:summary="@string/custom_header_browse_summary"
+ android:title="@string/custom_header_pick_title"
+ android:summary="@string/custom_header_pick_summary"
android:persistent="false"
android:dependency="status_bar_custom_header" >
<intent android:action="android.intent.action.MAIN"
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 1347590..9b4fd87 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -80,6 +80,12 @@
private String mFileHeaderProvider;
@Override
+ public void onResume() {
+ super.onResume();
+ updateEnablement();
+ }
+
+ @Override
public int getMetricsCategory() {
return MetricsEvent.OMNI_SETTINGS;
}
@@ -97,7 +103,9 @@
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- //addPreferencesFromResource(R.xml.style_settings);
+
+ mDaylightHeaderProvider = getResources().getString(R.string.daylight_header_provider);
+ mFileHeaderProvider = getResources().getString(R.string.file_header_provider);
mWallBrowse = findPreference(CUSTOM_WALL_BROWSE);
mWallBrowse.setEnabled(isBrowseWallsAvailable());
@@ -126,32 +134,18 @@
mHeaderShadow.setValue((int)(((double) headerShadow / 255) * 100));
mHeaderShadow.setOnPreferenceChangeListener(this);
- mDaylightHeaderProvider = getResources().getString(R.string.daylight_header_provider);
- mFileHeaderProvider = getResources().getString(R.string.file_header_provider);
- String providerName = Settings.System.getString(getContentResolver(),
- Settings.System.STATUS_BAR_CUSTOM_HEADER_PROVIDER);
- if (providerName == null) {
- providerName = mDaylightHeaderProvider;
- }
- mHeaderBrowse.setEnabled(isBrowseHeaderAvailable() && !providerName.equals(mFileHeaderProvider));
-
mHeaderProvider = (ListPreference) findPreference(CUSTOM_HEADER_PROVIDER);
- int valueIndex = mHeaderProvider.findIndexOfValue(providerName);
- mHeaderProvider.setValueIndex(valueIndex >= 0 ? valueIndex : 0);
- 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));
+ int valueIndex = mSystemUIThemeStyle.findIndexOfValue(String.valueOf(systemUIThemeStyle));
mSystemUIThemeStyle.setValueIndex(valueIndex >= 0 ? valueIndex : 0);
mSystemUIThemeStyle.setSummary(mSystemUIThemeStyle.getEntry());
mSystemUIThemeStyle.setOnPreferenceChangeListener(this);
mFileHeader = findPreference(FILE_HEADER_SELECT);
- mFileHeader.setEnabled(providerName.equals(mFileHeaderProvider));
}
private void updateHeaderProviderSummary(boolean headerEnabled) {
@@ -201,11 +195,7 @@
Settings.System.STATUS_BAR_CUSTOM_HEADER_PROVIDER, value);
int valueIndex = mHeaderProvider.findIndexOfValue(value);
mHeaderProvider.setSummary(mHeaderProvider.getEntries()[valueIndex]);
- mDaylightHeaderPack.setEnabled(value.equals(mDaylightHeaderProvider));
- mHeaderBrowse.setEnabled(!value.equals(mFileHeaderProvider));
- mHeaderBrowse.setTitle(valueIndex == 0 ? R.string.custom_header_browse_title : R.string.custom_header_pick_title);
- mHeaderBrowse.setSummary(valueIndex == 0 ? R.string.custom_header_browse_summary_new : R.string.custom_header_pick_summary);
- mFileHeader.setEnabled(value.equals(mFileHeaderProvider));
+ updateEnablement();
} else if (preference == mHeaderEnabled) {
Boolean headerEnabled = (Boolean) newValue;
updateHeaderProviderSummary(headerEnabled);
@@ -273,6 +263,7 @@
return;
}
final Uri imageUri = result.getData();
+ Settings.System.putString(getContentResolver(), Settings.System.STATUS_BAR_CUSTOM_HEADER_PROVIDER, "file");
Settings.System.putString(getContentResolver(), Settings.System.STATUS_BAR_FILE_HEADER_IMAGE, imageUri.toString());
}
}
@@ -284,6 +275,23 @@
return controllers;
}
+ private void updateEnablement() {
+ String providerName = Settings.System.getString(getContentResolver(),
+ Settings.System.STATUS_BAR_CUSTOM_HEADER_PROVIDER);
+ if (providerName == null) {
+ providerName = mDaylightHeaderProvider;
+ }
+ if (!providerName.equals(mDaylightHeaderProvider)) {
+ providerName = mFileHeaderProvider;
+ }
+ int valueIndex = mHeaderProvider.findIndexOfValue(providerName);
+ mHeaderProvider.setValueIndex(valueIndex >= 0 ? valueIndex : 0);
+ mHeaderProvider.setSummary(mHeaderProvider.getEntry());
+ mDaylightHeaderPack.setEnabled(providerName.equals(mDaylightHeaderProvider));
+ mFileHeader.setEnabled(providerName.equals(mFileHeaderProvider));
+ mHeaderBrowse.setEnabled(isBrowseHeaderAvailable() && providerName.equals(mFileHeaderProvider));
+ }
+
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override