Cherish: Add Disco and sysui colors

Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Kshitij Gupta
2021-04-08 12:31:39 +05:30
committed by Hưng Phan
parent 4d5d714765
commit ea702fb8ff
3 changed files with 101 additions and 5 deletions

View File

@@ -431,12 +431,24 @@
<string name="data_disabled_icon_summary">Display a cross sign next to signal bar when data is disabled</string> <string name="data_disabled_icon_summary">Display a cross sign next to signal bar when data is disabled</string>
<!-- Accent QS tint --> <!-- Accent QS tint -->
<string name="qs_bg_use_new_tint">Tint QS tiles</string>
<string name="qs_bg_use_new_tint_summary">Choose the QS Tint Style</string>
<string name="qs_tint_off">Default</string> <string name="qs_tint_off">Default</string>
<string name="qs_tint_accent">Accent Color</string> <string name="qs_tint_accent">Accent Color</string>
<string name="qs_tint_oos">OxygenOS 11</string> <string name="qs_tint_oos">OxygenOS 11</string>
<string name="qs_tint_twelve">Android 12</string> <string name="qs_tint_twelve">Android 12</string>
<string name="sysui_colors_active_title">Colored SystemUI</string>
<string name="sysui_colors_active_summary">Wallpaper colored scrims and QS</string>
<!-- QS themes -->
<string name="qs_panel_colors_title">Quick settings colors</string>
<string name="qs_panel_bg_use_fw_title">Framework defaults</string>
<string name="qs_panel_bg_use_fw_summary">Disable QS and scrim color customizations</string>
<string name="qs_panel_bg_color_title">Background color</string>
<string name="qs_panel_bg_color_summary">Change color of your QS panel</string>
<string name="qs_panel_bg_alpha_title">Background alpha</string>
<string name="qs_panel_bg_disco_title">QS Tile Disco</string>
<string name="qs_panel_bg_disco_summary">Make your QS Tiles colorful!</string>
<string name="qs_bg_use_new_tint">Tint QS tiles</string>
<string name="qs_bg_use_new_tint_summary">Choose the QS Tint Style</string>
<!-- Heads up --> <!-- Heads up -->
<string name="heads_up_notifications">Heads Up</string> <string name="heads_up_notifications">Heads Up</string>

View File

@@ -98,6 +98,64 @@
android:entryValues="@array/panel_bg_values" /> android:entryValues="@array/panel_bg_values" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:key="quick_settings_category"
android:title="@string/quicksettings_title">
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="qs_tiles_bg_disco"
android:title="@string/qs_panel_bg_disco_title"
android:summary="@string/qs_panel_bg_disco_summary"
android:defaultValue="false" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="qs_panel_bg_use_new_tint"
android:title="@string/qs_bg_use_new_tint"
android:dialogTitle="@string/qs_bg_use_new_tint"
android:entries="@array/qs_tint_entries"
android:entryValues="@array/qs_tint_values"
android:summary="@string/qs_bg_use_new_tint_summary"
android:defaultValue="1" />
</PreferenceCategory>
<PreferenceCategory
android:key="quick_settings_colors_category"
android:title="@string/qs_panel_colors_title">
<!-- QS panel opacity -->
<com.cherish.settings.preferences.SystemSettingSeekBarPreference
android:key="qs_panel_bg_alpha"
android:title="@string/qs_panel_bg_alpha_title"
android:defaultValue="255"
android:max="255"
android:min="0"
settings:units="" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="qs_panel_bg_use_fw"
android:title="@string/qs_panel_bg_use_fw_title"
android:summary="@string/qs_panel_bg_use_fw_summary"
android:defaultValue="true"
android:disableDependentsState="true" />
<com.cherish.settings.preferences.SystemSettingSwitchPreference
android:key="sysui_colors_active"
android:title="@string/sysui_colors_active_title"
android:summary="@string/sysui_colors_active_summary"
android:defaultValue="false"
android:dependency="qs_panel_bg_use_fw"
android:disableDependentsState="true" />
<net.margaritov.preference.colorpicker.ColorPickerPreference
android:key="qs_panel_color"
android:title="@string/qs_panel_bg_color_title"
android:defaultValue="0xFFFFFFFF"
android:persistent="false"
android:dependency="sysui_colors_active" />
</PreferenceCategory>
<ListPreference <ListPreference
android:key="navbar_color" android:key="navbar_color"
android:title="@string/navbar_color_title" android:title="@string/navbar_color_title"

View File

@@ -66,6 +66,9 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
private static final String PREF_NB_COLOR = "navbar_color"; private static final String PREF_NB_COLOR = "navbar_color";
static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff; static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff;
static final int DEFAULT = 0xff1a73e8; static final int DEFAULT = 0xff1a73e8;
private static final String QS_PANEL_COLOR = "qs_panel_color";
private ColorPickerPreference mQsPanelColor;
private IOverlayManager mOverlayService; private IOverlayManager mOverlayService;
private UiModeManager mUiModeManager; private UiModeManager mUiModeManager;
@@ -174,6 +177,14 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
mQsTileStyle.setSummary(mQsTileStyle.getEntry()); mQsTileStyle.setSummary(mQsTileStyle.getEntry());
mQsTileStyle.setOnPreferenceChangeListener(this); mQsTileStyle.setOnPreferenceChangeListener(this);
mQsPanelColor = (ColorPickerPreference)findPreference(QS_PANEL_COLOR);
mQsPanelColor.setOnPreferenceChangeListener(this);
int intColor = Settings.System.getIntForUser(resolver,
Settings.System.QS_PANEL_BG_COLOR, DEFAULT_QS_PANEL_COLOR, UserHandle.USER_CURRENT);
String hexColor = String.format("#%08x", (0xFFFFFFFF & intColor));
mQsPanelColor.setSummary(hexColor);
mQsPanelColor.setNewPreviewColor(intColor);
mUiModeManager = getContext().getSystemService(UiModeManager.class); mUiModeManager = getContext().getSystemService(UiModeManager.class);
mOverlayService = IOverlayManager.Stub mOverlayService = IOverlayManager.Stub
@@ -185,6 +196,14 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
setupNavbarSwitchPref(); setupNavbarSwitchPref();
} }
public String getPreferenceKey() {
return QS_PANEL_COLOR;
}
public boolean isAvailable() {
return true;
}
@Override @Override
public boolean onPreferenceChange(Preference preference, Object objValue) { public boolean onPreferenceChange(Preference preference, Object objValue) {
ContentResolver resolver = getActivity().getContentResolver(); ContentResolver resolver = getActivity().getContentResolver();
@@ -326,6 +345,13 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
Settings.System.putIntForUser(resolver, Settings.System.putIntForUser(resolver,
Settings.System.QS_TILE_STYLE, qsTileStyleValue, UserHandle.USER_CURRENT); Settings.System.QS_TILE_STYLE, qsTileStyleValue, UserHandle.USER_CURRENT);
mQsTileStyle.setSummary(mQsTileStyle.getEntries()[qsTileStyleValue]); mQsTileStyle.setSummary(mQsTileStyle.getEntries()[qsTileStyleValue]);
} else if (preference == mQsPanelColor) {
String hex = ColorPickerPreference.convertToARGB(
Integer.valueOf(String.valueOf(objValue)));
preference.setSummary(hex);
int intHex = ColorPickerPreference.convertToColorInt(hex);
Settings.System.putIntForUser(resolver,
Settings.System.QS_PANEL_BG_COLOR, intHex, UserHandle.USER_CURRENT);
} else if (preference == mGesbar){ } else if (preference == mGesbar){
String nbSwitch = (String) objValue; String nbSwitch = (String) objValue;
final Context context = getContext(); final Context context = getContext();