OmniGears: rework header image pref
diff between browse only and pick for static mode
depends on OmniStyle changes to header activities
Change-Id: If3761336567124ee91fe80af351a69204b27d753
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 1d46b7a..e3e7a05 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -263,6 +263,9 @@
<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">Long press on any image to use for static mode</string>
+ <string name="custom_header_browse_summary_new">Browse all available header packages</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="style_enabled_summary">Custom header image is ON</string>
<string name="style_disabled_summary">Custom header image is OFF</string>
diff --git a/res/xml/style_settings.xml b/res/xml/style_settings.xml
index 411e920..63723e9 100644
--- a/res/xml/style_settings.xml
+++ b/res/xml/style_settings.xml
@@ -99,13 +99,8 @@
<PreferenceScreen
android:key="custom_header_browse"
android:title="@string/custom_header_browse_title"
- android:summary="@string/custom_header_browse_summary"
android:dependency="status_bar_custom_header"
- android:persistent="false" >
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="org.omnirom.omnistyle"
- android:targetClass="org.omnirom.omnistyle.BrowseHeaderActivity" />
- </PreferenceScreen>
+ android:persistent="false" />
<org.omnirom.omnigears.preference.SeekBarPreference
android:key="status_bar_custom_header_shadow"
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 28d764b..653d095 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -148,6 +148,8 @@
mHeaderBrowse = (PreferenceScreen) findPreference(CUSTOM_HEADER_BROWSE);
mHeaderBrowse.setEnabled(isBrowseHeaderAvailable());
+ 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);
mWallBrowse = (PreferenceScreen) findPreference(CUSTOM_WALL_BROWSE);
mWallBrowse.setEnabled(isBrowseWallsAvailable());
@@ -181,6 +183,16 @@
} else {
downloadOmsApp();
}
+ return true;
+ } else if (preference == mHeaderBrowse) {
+ String providerName = Settings.System.getString(getContentResolver(),
+ Settings.System.STATUS_BAR_CUSTOM_HEADER_PROVIDER);
+ if (providerName == null) {
+ providerName = mDaylightHeaderProvider;
+ }
+ int valueIndex = mHeaderProvider.findIndexOfValue(providerName);
+ startHeaderActivity(valueIndex == 0 ? false : true);
+ return true;
}
return super.onPreferenceTreeClick(preference);
}
@@ -205,6 +217,8 @@
int valueIndex = mHeaderProvider.findIndexOfValue(value);
mHeaderProvider.setSummary(mHeaderProvider.getEntries()[valueIndex]);
mDaylightHeaderPack.setEnabled(value.equals(mDaylightHeaderProvider));
+ 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);
} else if (preference == mNightModePreference) {
try {
final int value = Integer.parseInt((String) newValue);
@@ -334,4 +348,10 @@
omsDownloadIntent.setData(Uri.parse("https://play.google.com/store/apps/details?id=projekt.substratum"));
startActivity(omsDownloadIntent);
}
+
+ private void startHeaderActivity(boolean pick) {
+ Intent headerIntent = new Intent();
+ headerIntent.setClassName("org.omnirom.omnistyle", pick ? "org.omnirom.omnistyle.PickHeaderActivity" : "org.omnirom.omnistyle.BrowseHeaderActivity");
+ startActivity(headerIntent);
+ }
}