diff --git a/res/drawable/ic_bar.xml b/res/drawable/ic_bar.xml new file mode 100644 index 0000000..539828e --- /dev/null +++ b/res/drawable/ic_bar.xml @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/res/values/cherish_arrays.xml b/res/values/cherish_arrays.xml index 2160f18..4fc4579 100644 --- a/res/values/cherish_arrays.xml +++ b/res/values/cherish_arrays.xml @@ -1314,4 +1314,18 @@ 48 49 + + + @string/navbar_default + @string/navbar_orchid + @string/navbar_red + @string/navbar_purp + + + + 1 + 2 + 3 + 4 + diff --git a/res/values/cherish_strings.xml b/res/values/cherish_strings.xml index e278f0d..6a76823 100644 --- a/res/values/cherish_strings.xml +++ b/res/values/cherish_strings.xml @@ -1127,4 +1127,12 @@ XBOX XBOX Controller Yin-Yang + + + Default + Orchid + Red + Purple + Navbar Colors + Select color diff --git a/res/xml/cherish_settings_theme.xml b/res/xml/cherish_settings_theme.xml index 6aa22ca..7730686 100644 --- a/res/xml/cherish_settings_theme.xml +++ b/res/xml/cherish_settings_theme.xml @@ -99,6 +99,16 @@ android:entryValues="@array/panel_bg_values" /> + + diff --git a/src/com/cherish/settings/fragments/ThemeSettings.java b/src/com/cherish/settings/fragments/ThemeSettings.java index bba765d..3f5ac7b 100644 --- a/src/com/cherish/settings/fragments/ThemeSettings.java +++ b/src/com/cherish/settings/fragments/ThemeSettings.java @@ -63,6 +63,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private static final String ACCENT_COLOR_PROP = "persist.sys.theme.accentcolor"; private static final String GRADIENT_COLOR = "gradient_color"; private static final String GRADIENT_COLOR_PROP = "persist.sys.theme.gradientcolor"; + private static final String PREF_NB_COLOR = "navbar_color"; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; static final int DEFAULT = 0xff1a73e8; @@ -76,6 +77,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements private ListPreference mPanelBg; private ListPreference mQsHeaderStyle; private ListPreference mQsTileStyle; + private ListPreference mGesbar; @Override public void onCreate(Bundle icicle) { @@ -180,6 +182,7 @@ public class ThemeSettings extends SettingsPreferenceFragment implements setupThemeSwitchPref(); setupAccentPref(); setupGradientPref(); + setupNavbarSwitchPref(); } @Override @@ -323,6 +326,37 @@ public class ThemeSettings extends SettingsPreferenceFragment implements Settings.System.putIntForUser(resolver, Settings.System.QS_TILE_STYLE, qsTileStyleValue, UserHandle.USER_CURRENT); mQsTileStyle.setSummary(mQsTileStyle.getEntries()[qsTileStyleValue]); + } else if (preference == mGesbar){ + String nbSwitch = (String) objValue; + final Context context = getContext(); + switch (nbSwitch) { + case "1": + handleOverlays(ThemesUtils.NAVBAR_COLOR_ORCD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_OPRD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_PURP, false, mOverlayService); + break; + case "2": + handleOverlays(ThemesUtils.NAVBAR_COLOR_ORCD, true, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_OPRD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_PURP, false, mOverlayService); + break; + case "3": + handleOverlays(ThemesUtils.NAVBAR_COLOR_ORCD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_OPRD, true, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_PURP, false, mOverlayService); + break; + case "4": + handleOverlays(ThemesUtils.NAVBAR_COLOR_ORCD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_OPRD, false, mOverlayService); + handleOverlays(ThemesUtils.NAVBAR_COLOR_PURP, true, mOverlayService); + break; + } + try { + mOverlayService.reloadAndroidAssets(UserHandle.USER_CURRENT); + mOverlayService.reloadAssets("com.android.settings", UserHandle.USER_CURRENT); + mOverlayService.reloadAssets("com.android.systemui", UserHandle.USER_CURRENT); + } catch (RemoteException ignored) { + } } return true; } @@ -370,6 +404,21 @@ public class ThemeSettings extends SettingsPreferenceFragment implements mGradientColor.setNewPreviewColor(color); mGradientColor.setOnPreferenceChangeListener(this); } + + private void setupNavbarSwitchPref() { + mGesbar = (ListPreference) findPreference(PREF_NB_COLOR); + mGesbar.setOnPreferenceChangeListener(this); + if (CherishUtils.isNavbarColor("com.gnonymous.gvisualmod.pgm_purp")){ + mGesbar.setValue("4"); + } else if (CherishUtils.isNavbarColor("com.gnonymous.gvisualmod.pgm_oprd")){ + mGesbar.setValue("3"); + } else if (CherishUtils.isNavbarColor("com.gnonymous.gvisualmod.pgm_orcd")){ + mGesbar.setValue("2"); + } + else{ + mGesbar.setValue("1"); + } + } private void handleBackgrounds(Boolean state, Context context, int mode, String[] overlays) { if (context != null) {