OmniGears: Style : New preference category for OMS application
Launch application if installed or propose to install it else
Change-Id: Iafff34d4ace189f2f16b88ef7eb39e34a65e8830
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 8e3e910..7d56eab 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -416,6 +416,11 @@
<!-- Hostname setting -->
<string name="device_hostname">Device hostname</string>
+ <!-- OMS -->
+ <string name="theming_title">Theming</string>
+ <string name="oms_app_title">Substratum theme engine</string>
+ <string name="oms_app_summary">Start Substratum experience</string>
+
<string name="status_bar_ime_notification_title">Show IME notification</string>
<string name="status_bar_ime_notification_summary">If navigation bar is not available</string>
<string name="navigation_bar_ime_button_title">Show IME navigation bar button</string>
@@ -435,7 +440,7 @@
<string name="omni_notification_light_settings_summary">Customization of notification led lights for applications</string>
<string name="omni_battery_light_settings_summary">Customization of notification led lights for battery</string>
- <string name="night_mode_title">Theme</string>
+ <string name="night_mode_title">Light/Dark theme</string>
<string name="night_mode_summary">%s</string>
<string name="night_mode_no">Light</string>
<string name="night_mode_yes">Dark</string>
diff --git a/res/xml/style_settings.xml b/res/xml/style_settings.xml
index 3f55725..f3474e5 100644
--- a/res/xml/style_settings.xml
+++ b/res/xml/style_settings.xml
@@ -17,23 +17,33 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
- <ListPreference
- android:key="night_mode"
- android:title="@string/night_mode_title"
- settings:keywords="@string/keywords_display_night_mode"
- android:summary="@string/night_mode_summary"
- android:entries="@array/night_mode_entries"
- android:entryValues="@array/night_mode_values" />
+ <PreferenceCategory
+ android:key="category_theming"
+ android:title="@string/theming_title">
- <PreferenceScreen
- android:key="custom_wall_browse"
- android:title="@string/custom_wall_browse_title"
- android:summary="@string/custom_wall_browse_summary"
- android:persistent="false" >
- <intent android:action="android.intent.action.MAIN"
- android:targetPackage="org.omnirom.omnistyle"
- android:targetClass="org.omnirom.omnistyle.BrowseWallsActivity" />
+ <Preference
+ android:key="oms_app"
+ android:title="@string/oms_app_title"
+ android:summary="@string/oms_app_summary"/>
+
+ <ListPreference
+ android:key="night_mode"
+ android:title="@string/night_mode_title"
+ settings:keywords="@string/keywords_display_night_mode"
+ android:summary="@string/night_mode_summary"
+ android:entries="@array/night_mode_entries"
+ android:entryValues="@array/night_mode_values" />
+
+ <PreferenceScreen
+ android:key="custom_wall_browse"
+ android:title="@string/custom_wall_browse_title"
+ android:summary="@string/custom_wall_browse_summary"
+ android:persistent="false" >
+ <intent android:action="android.intent.action.MAIN"
+ android:targetPackage="org.omnirom.omnistyle"
+ android:targetClass="org.omnirom.omnistyle.BrowseWallsActivity" />
</PreferenceScreen>
+ </PreferenceCategory>
<PreferenceCategory
android:key="category_statusbar"
@@ -92,6 +102,5 @@
settings:unitsRight="@string/unit_percent"
android:persistent="false"
android:dependency="status_bar_custom_header" />
-
</PreferenceCategory>
</PreferenceScreen>
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index af98834..061e269 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -28,6 +28,7 @@
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.net.TrafficStats;
+import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
import android.support.v7.preference.CheckBoxPreference;
@@ -74,6 +75,8 @@
private static final String CUSTOM_HEADER_BROWSE = "custom_header_browse";
private static final String STATUS_BAR_CUSTOM_HEADER = "status_bar_custom_header";
private static final String KEY_NIGHT_MODE = "night_mode";
+ private static final String KEY_OMS_APP = "oms_app";
+
private ListPreference mDaylightHeaderPack;
private SeekBarPreference mHeaderShadow;
@@ -81,6 +84,7 @@
private String mDaylightHeaderProvider;
private PreferenceScreen mHeaderBrowse;
private ListPreference mNightModePreference;
+ private Preference mOmsApp;
@Override
protected int getMetricsCategory() {
@@ -149,6 +153,20 @@
mNightModePreference.setValue(String.valueOf(currentNightMode));
mNightModePreference.setOnPreferenceChangeListener(this);
}
+ mOmsApp = (Preference) findPreference(KEY_OMS_APP);
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ if (preference == mOmsApp) {
+ Intent omsIntent = getPackageManager().getLaunchIntentForPackage("projekt.substratum");
+ if (omsIntent != null) {
+ startActivity(omsIntent);
+ } else {
+ downloadOmsApp();
+ }
+ }
+ return super.onPreferenceTreeClick(preference);
}
@Override
@@ -287,4 +305,10 @@
return result;
}
};
+
+ private void downloadOmsApp(){
+ Intent omsDownloadIntent = new Intent(Intent.ACTION_VIEW);
+ omsDownloadIntent.setData(Uri.parse("https://play.google.com/store/apps/details?id=projekt.substratum"));
+ startActivity(omsDownloadIntent);
+ }
}