Cherish: Add GVM Navbar Colors[2/3]

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Hưng Phan
2021-03-11 11:28:57 +07:00
parent 216fc4cf95
commit d82029e9a9
5 changed files with 88 additions and 0 deletions

7
res/drawable/ic_bar.xml Normal file
View File

@@ -0,0 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="?android:attr/colorControlNormal" android:pathData="M19,13H5V11H19V13Z" />
</vector>

View File

@@ -1314,4 +1314,18 @@
<item>48</item>
<item>49</item>
</string-array>
<string-array name="navbar_color_titles" translatable="false">
<item>@string/navbar_default</item>
<item>@string/navbar_orchid</item>
<item>@string/navbar_red</item>
<item>@string/navbar_purp</item>
</string-array>
<string-array name="navbar_color_values" translatable="false">
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
</resources>

View File

@@ -1127,4 +1127,12 @@
<string name="status_bar_logo_style_xbox">XBOX</string>
<string name="status_bar_logo_style_xbox_controller">XBOX Controller</string>
<string name="status_bar_logo_style_yin_yang">Yin-Yang</string>
<!--Nav colors-->
<string name="navbar_default">Default</string>
<string name="navbar_orchid">Orchid</string>
<string name="navbar_red">Red</string>
<string name="navbar_purp">Purple</string>
<string name="navbar_color_title">Navbar Colors</string>
<string name="navbar_color_dialog_title">Select color</string>
</resources>

View File

@@ -99,6 +99,16 @@
android:entryValues="@array/panel_bg_values" />
</PreferenceCategory>
<ListPreference
android:key="navbar_color"
android:title="@string/navbar_color_title"
android:summary="%s"
android:icon="@drawable/ic_bar"
android:dialogTitle="@string/navbar_color_dialog_title"
android:entries="@array/navbar_color_titles"
android:entryValues="@array/navbar_color_values"
android:defaultValue="1" />
<PreferenceCategory
android:key="volume_panel_stuff"
android:title="@string/volume_panel">

View File

@@ -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) {