Cherish:Cleanup and add rgb accenter
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
10
res/drawable/ic_menu_reset.xml
Normal file
10
res/drawable/ic_menu_reset.xml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:height="24dp"
|
||||||
|
android:width="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24"
|
||||||
|
android:tint="?android:attr/colorControlNormal" >
|
||||||
|
<path android:fillColor="?android:attr/colorAccent"
|
||||||
|
android:pathData="M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z"/>
|
||||||
|
</vector>
|
||||||
|
|
||||||
@@ -679,6 +679,7 @@
|
|||||||
|
|
||||||
<!-- Brightness sliders styles -->
|
<!-- Brightness sliders styles -->
|
||||||
<string-array name="brightness_slider_style_selector_entries" translatable="false">
|
<string-array name="brightness_slider_style_selector_entries" translatable="false">
|
||||||
|
<item>@string/brightness_slider_style_default</item>
|
||||||
<item>@string/brightness_slider_style_daniel</item>
|
<item>@string/brightness_slider_style_daniel</item>
|
||||||
<item>@string/brightness_slider_style_mememini</item>
|
<item>@string/brightness_slider_style_mememini</item>
|
||||||
<item>@string/brightness_slider_style_memeround</item>
|
<item>@string/brightness_slider_style_memeround</item>
|
||||||
@@ -690,14 +691,15 @@
|
|||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="brightness_slider_style_selector_values" translatable="false">
|
<string-array name="brightness_slider_style_selector_values" translatable="false">
|
||||||
|
<item>0</item>
|
||||||
<item>1</item>
|
<item>1</item>
|
||||||
<item>2</item>
|
<item>2</item>
|
||||||
<item>3</item>
|
<item>3</item>
|
||||||
<item>4</item>
|
<item>4</item>
|
||||||
<item>5</item>
|
<item>5</item>
|
||||||
<item>6</item>
|
<item>6</item>
|
||||||
<item>12</item>
|
<item>7</item>
|
||||||
<item>14</item>
|
<item>8</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- Notification Background styles -->
|
<!-- Notification Background styles -->
|
||||||
|
|||||||
@@ -93,10 +93,11 @@
|
|||||||
<!--Accenter -->
|
<!--Accenter -->
|
||||||
<string name="themes_hub_title">Themes</string>
|
<string name="themes_hub_title">Themes</string>
|
||||||
<string name="themes_hub_summary">Accents-Gradients-Themes</string>
|
<string name="themes_hub_summary">Accents-Gradients-Themes</string>
|
||||||
<string name="accent_color">Accent picker</string>
|
<string name="rgb_accent_picker_title_dark">Accent Picker</string>
|
||||||
<string name="accent_summary">Gradient Maker</string>
|
<string name="rgb_accent_picker_summary">Choose the accent color yourself</string>
|
||||||
<string name="gradient_color">Gradient picker</string>
|
|
||||||
<string name="gradient_summary">Gradient effect maker</string>
|
<string name="theme_option_reset_title">Reset Theme Options</string>
|
||||||
|
<string name="theme_option_reset_message">Are you sure you want to reset themes-accent to default?</string>
|
||||||
|
|
||||||
<!--ThemePicker-->
|
<!--ThemePicker-->
|
||||||
<string name="theme_select_title">Styles and Wallpapers</string>
|
<string name="theme_select_title">Styles and Wallpapers</string>
|
||||||
@@ -751,6 +752,7 @@
|
|||||||
|
|
||||||
<!-- Brightness Slider style -->
|
<!-- Brightness Slider style -->
|
||||||
<string name="brightness_slider_style_title">Brightness slider style</string>
|
<string name="brightness_slider_style_title">Brightness slider style</string>
|
||||||
|
<string name="brightness_slider_style_default">Default</string>
|
||||||
<string name="brightness_slider_style_daniel">Daniel</string>
|
<string name="brightness_slider_style_daniel">Daniel</string>
|
||||||
<string name="brightness_slider_style_mememini">Meme mini</string>
|
<string name="brightness_slider_style_mememini">Meme mini</string>
|
||||||
<string name="brightness_slider_style_memeround">Meme round</string>
|
<string name="brightness_slider_style_memeround">Meme round</string>
|
||||||
|
|||||||
@@ -61,20 +61,12 @@
|
|||||||
settings:interval="1"/>
|
settings:interval="1"/>
|
||||||
|
|
||||||
<net.margaritov.preference.colorpicker.ColorPickerPreference
|
<net.margaritov.preference.colorpicker.ColorPickerPreference
|
||||||
android:key="accent_color"
|
|
||||||
android:icon="@drawable/ic_accent_picker"
|
android:icon="@drawable/ic_accent_picker"
|
||||||
android:title="@string/accent_color"
|
android:key="rgb_accent_picker_dark"
|
||||||
android:summary="@string/accent_summary"
|
android:title="@string/rgb_accent_picker_title_dark"
|
||||||
android:defaultValue="0xffffff"
|
android:summary="@string/rgb_accent_picker_summary"
|
||||||
android:persistent="false" />
|
android:persistent="false"
|
||||||
|
settings:iconSpaceReserved="false" />
|
||||||
<net.margaritov.preference.colorpicker.ColorPickerPreference
|
|
||||||
android:key="gradient_color"
|
|
||||||
android:icon="@drawable/ic_accent_picker"
|
|
||||||
android:title="@string/gradient_color"
|
|
||||||
android:summary="@string/gradient_summary"
|
|
||||||
android:defaultValue="0xffffff"
|
|
||||||
android:persistent="false" />
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="clock_style"
|
android:key="clock_style"
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import static com.cherish.settings.utils.Utils.handleOverlays;
|
|||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import static android.os.UserHandle.USER_SYSTEM;
|
import static android.os.UserHandle.USER_SYSTEM;
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.app.DialogFragment;
|
||||||
import android.app.UiModeManager;
|
import android.app.UiModeManager;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -22,6 +26,7 @@ import android.os.RemoteException;
|
|||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
@@ -39,6 +44,9 @@ import com.android.settings.display.FontPickerPreferenceController;
|
|||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuItem;
|
||||||
|
import android.view.MenuInflater;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
@@ -71,24 +79,22 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
private static final String PREF_THEME_SWITCH = "theme_switch";
|
private static final String PREF_THEME_SWITCH = "theme_switch";
|
||||||
private static final String QS_HEADER_STYLE = "qs_header_style";
|
private static final String QS_HEADER_STYLE = "qs_header_style";
|
||||||
private static final String QS_TILE_STYLE = "qs_tile_style";
|
private static final String QS_TILE_STYLE = "qs_tile_style";
|
||||||
private static final String ACCENT_COLOR = "accent_color";
|
private static final String PREF_RGB_ACCENT_PICKER_DARK = "rgb_accent_picker_dark";
|
||||||
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";
|
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 static final String QS_PANEL_COLOR = "qs_panel_color";
|
||||||
private static final String SWITCH_STYLE = "switch_style";
|
private static final String SWITCH_STYLE = "switch_style";
|
||||||
private static final String HIDE_NOTCH = "display_hide_notch";
|
private static final String HIDE_NOTCH = "display_hide_notch";
|
||||||
|
private static final int MENU_RESET = Menu.FIRST;
|
||||||
|
|
||||||
private SystemSettingListPreference mSwitchStyle;
|
private SystemSettingListPreference mSwitchStyle;
|
||||||
private ColorPickerPreference mQsPanelColor;
|
private ColorPickerPreference mQsPanelColor;
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
private IOverlayManager mOverlayService;
|
private IOverlayManager mOverlayService;
|
||||||
private UiModeManager mUiModeManager;
|
private UiModeManager mUiModeManager;
|
||||||
private ColorPickerPreference mThemeColor;
|
private ColorPickerPreference rgbAccentPickerDark;
|
||||||
private ColorPickerPreference mGradientColor;
|
|
||||||
private ListPreference mThemeSwitch;
|
private ListPreference mThemeSwitch;
|
||||||
private ListPreference mBrightnessSliderStyle;
|
private ListPreference mBrightnessSliderStyle;
|
||||||
private ListPreference mSystemSliderStyle;
|
private ListPreference mSystemSliderStyle;
|
||||||
@@ -154,6 +160,7 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
PreferenceScreen prefScreen = getPreferenceScreen();
|
PreferenceScreen prefScreen = getPreferenceScreen();
|
||||||
ContentResolver resolver = getActivity().getContentResolver();
|
ContentResolver resolver = getActivity().getContentResolver();
|
||||||
final Resources res = getResources();
|
final Resources res = getResources();
|
||||||
|
mContext = getActivity();
|
||||||
|
|
||||||
mIntentFilter = new IntentFilter();
|
mIntentFilter = new IntentFilter();
|
||||||
mIntentFilter.addAction("com.android.server.ACTION_FONT_CHANGED");
|
mIntentFilter.addAction("com.android.server.ACTION_FONT_CHANGED");
|
||||||
@@ -271,9 +278,15 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
mOverlayService = IOverlayManager.Stub
|
mOverlayService = IOverlayManager.Stub
|
||||||
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
||||||
|
|
||||||
setupAccentPref();
|
rgbAccentPickerDark = (ColorPickerPreference) findPreference(PREF_RGB_ACCENT_PICKER_DARK);
|
||||||
|
String colorValDark = Settings.Secure.getStringForUser(mContext.getContentResolver(),
|
||||||
|
Settings.Secure.ACCENT_DARK, UserHandle.USER_CURRENT);
|
||||||
|
int colorDark = (colorValDark == null)
|
||||||
|
? DEFAULT
|
||||||
|
: Color.parseColor("#" + colorValDark);
|
||||||
|
rgbAccentPickerDark.setNewPreviewColor(colorDark);
|
||||||
|
rgbAccentPickerDark.setOnPreferenceChangeListener(this);
|
||||||
setSystemSliderPref();
|
setSystemSliderPref();
|
||||||
setupGradientPref();
|
|
||||||
setupNavbarSwitchPref();
|
setupNavbarSwitchPref();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,20 +301,12 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||||
ContentResolver resolver = getActivity().getContentResolver();
|
ContentResolver resolver = getActivity().getContentResolver();
|
||||||
if (preference == mThemeColor) {
|
if (preference == rgbAccentPickerDark) {
|
||||||
int color = (Integer) objValue;
|
int colorDark = (Integer) objValue;
|
||||||
String hexColor = String.format("%08X", (0xFFFFFFFF & color));
|
String hexColor = String.format("%08X", (0xFFFFFFFF & colorDark));
|
||||||
SystemProperties.set(ACCENT_COLOR_PROP, hexColor);
|
Settings.Secure.putStringForUser(mContext.getContentResolver(),
|
||||||
try {
|
Settings.Secure.ACCENT_DARK,
|
||||||
mOverlayService.reloadAndroidAssets(UserHandle.USER_CURRENT);
|
hexColor, UserHandle.USER_CURRENT);
|
||||||
mOverlayService.reloadAssets("com.android.settings", UserHandle.USER_CURRENT);
|
|
||||||
mOverlayService.reloadAssets("com.android.systemui", UserHandle.USER_CURRENT);
|
|
||||||
} catch (RemoteException ignored) {
|
|
||||||
}
|
|
||||||
} else if (preference == mGradientColor) {
|
|
||||||
int color = (Integer) objValue;
|
|
||||||
String hexColor = String.format("%08X", (0xFFFFFFFF & color));
|
|
||||||
SystemProperties.set(GRADIENT_COLOR_PROP, hexColor);
|
|
||||||
try {
|
try {
|
||||||
mOverlayService.reloadAndroidAssets(UserHandle.USER_CURRENT);
|
mOverlayService.reloadAndroidAssets(UserHandle.USER_CURRENT);
|
||||||
mOverlayService.reloadAssets("com.android.settings", UserHandle.USER_CURRENT);
|
mOverlayService.reloadAssets("com.android.settings", UserHandle.USER_CURRENT);
|
||||||
@@ -446,27 +451,6 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void setupAccentPref() {
|
|
||||||
mThemeColor = (ColorPickerPreference) findPreference(ACCENT_COLOR);
|
|
||||||
String colorVal = SystemProperties.get(ACCENT_COLOR_PROP, "-1");
|
|
||||||
int color = "-1".equals(colorVal)
|
|
||||||
? DEFAULT
|
|
||||||
: Color.parseColor("#" + colorVal);
|
|
||||||
mThemeColor.setNewPreviewColor(color);
|
|
||||||
mThemeColor.setOnPreferenceChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupGradientPref() {
|
|
||||||
mGradientColor = (ColorPickerPreference) findPreference(GRADIENT_COLOR);
|
|
||||||
String colorVal = SystemProperties.get(GRADIENT_COLOR_PROP, "-1");
|
|
||||||
int color = "-1".equals(colorVal)
|
|
||||||
? DEFAULT
|
|
||||||
: Color.parseColor("#" + colorVal);
|
|
||||||
mGradientColor.setNewPreviewColor(color);
|
|
||||||
mGradientColor.setOnPreferenceChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setupNavbarSwitchPref() {
|
private void setupNavbarSwitchPref() {
|
||||||
mGesbar = (ListPreference) findPreference(PREF_NB_COLOR);
|
mGesbar = (ListPreference) findPreference(PREF_NB_COLOR);
|
||||||
mGesbar.setOnPreferenceChangeListener(this);
|
mGesbar.setOnPreferenceChangeListener(this);
|
||||||
@@ -493,6 +477,43 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
|||||||
return overlayName;
|
return overlayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
|
menu.add(0, MENU_RESET, 0, R.string.reset)
|
||||||
|
.setIcon(R.drawable.ic_menu_reset)
|
||||||
|
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case MENU_RESET:
|
||||||
|
resetToDefault();
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return super.onContextItemSelected(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetToDefault() {
|
||||||
|
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
|
||||||
|
alertDialog.setTitle(R.string.theme_option_reset_title);
|
||||||
|
alertDialog.setMessage(R.string.theme_option_reset_message);
|
||||||
|
alertDialog.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
resetValues();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
alertDialog.setNegativeButton(R.string.cancel, null);
|
||||||
|
alertDialog.create().show();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetValues() {
|
||||||
|
final Context context = getContext();
|
||||||
|
rgbAccentPickerDark = (ColorPickerPreference) findPreference(PREF_RGB_ACCENT_PICKER_DARK);
|
||||||
|
rgbAccentPickerDark.setNewPreviewColor(DEFAULT);
|
||||||
|
}
|
||||||
|
|
||||||
private int getOverlayPosition(String[] overlays) {
|
private int getOverlayPosition(String[] overlays) {
|
||||||
int position = -1;
|
int position = -1;
|
||||||
for (int i = 0; i < overlays.length; i++) {
|
for (int i = 0; i < overlays.length; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user