OmniGears: add preference to start OmniTheme

Change-Id: Ie708d947bd612d7ede14e0f52ebc8ffc552b136b
diff --git a/res/values/custom_strings.xml b/res/values/custom_strings.xml
index 024615f..1d46b7a 100644
--- a/res/values/custom_strings.xml
+++ b/res/values/custom_strings.xml
@@ -598,4 +598,6 @@
 
     <string name="logcat_app_title">MatLog</string>
     <string name="logcat_app_summary">Start app to collect logs</string>
+    <string name="omni_theme_title">Omni Light/Dark theme</string>
+    <string name="omni_theme_summary">Substratum based theme</string>
 </resources>
diff --git a/res/xml/style_settings.xml b/res/xml/style_settings.xml
index 788519f..411e920 100644
--- a/res/xml/style_settings.xml
+++ b/res/xml/style_settings.xml
@@ -26,6 +26,16 @@
                 android:title="@string/oms_app_title"
                 android:summary="@string/oms_app_summary"/>
 
+            <PreferenceScreen
+                android:key="omni_theme"
+                android:title="@string/omni_theme_title"
+                android:summary="@string/omni_theme_summary"
+                android:persistent="false" >
+                <intent android:action="android.intent.action.MAIN"
+                        android:targetPackage="org.omnirom.daynight"
+                        android:targetClass="org.omnirom.daynight.OmniSubstratumLauncher" />
+            </PreferenceScreen>
+
             <ListPreference
                 android:key="night_mode"
                 android:title="@string/night_mode_title"
diff --git a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
index 77d1575..28d764b 100644
--- a/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
+++ b/src/org/omnirom/omnigears/interfacesettings/StyleSettings.java
@@ -46,6 +46,7 @@
 import com.android.settings.R;
 import com.android.internal.logging.MetricsProto.MetricsEvent;
 import com.android.internal.util.omni.DeviceUtils;
+import com.android.internal.util.omni.PackageUtils;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -77,7 +78,8 @@
     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 static final String KEY_OMNI_THEME = "omni_theme";
+    private static final String KEY_CATEGORY_THEMING = "category_theming";
 
     private ListPreference mDaylightHeaderPack;
     private SeekBarPreference mHeaderShadow;
@@ -159,6 +161,15 @@
             mNightModePreference.setOnPreferenceChangeListener(this);
         }
         mOmsApp = (Preference) findPreference(KEY_OMS_APP);
+
+        Preference omniTheme = findPreference(KEY_OMNI_THEME);
+        if (omniTheme != null) {
+            PreferenceCategory themePrefs = (PreferenceCategory) findPreference(KEY_CATEGORY_THEMING);
+            if (themePrefs != null && !PackageUtils.isAvailableApp("org.omnirom.daynight", getActivity())
+                    && !PackageUtils.isAvailableApp("org.omnirom.substratum", getActivity())) {
+                themePrefs.removePreference(omniTheme);
+            }
+        }
     }
 
     @Override