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 -->
|
||||
<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_mememini</item>
|
||||
<item>@string/brightness_slider_style_memeround</item>
|
||||
@@ -690,14 +691,15 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="brightness_slider_style_selector_values" translatable="false">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>12</item>
|
||||
<item>14</item>
|
||||
<item>7</item>
|
||||
<item>8</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Notification Background styles -->
|
||||
|
||||
@@ -93,10 +93,11 @@
|
||||
<!--Accenter -->
|
||||
<string name="themes_hub_title">Themes</string>
|
||||
<string name="themes_hub_summary">Accents-Gradients-Themes</string>
|
||||
<string name="accent_color">Accent picker</string>
|
||||
<string name="accent_summary">Gradient Maker</string>
|
||||
<string name="gradient_color">Gradient picker</string>
|
||||
<string name="gradient_summary">Gradient effect maker</string>
|
||||
<string name="rgb_accent_picker_title_dark">Accent Picker</string>
|
||||
<string name="rgb_accent_picker_summary">Choose the accent color yourself</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-->
|
||||
<string name="theme_select_title">Styles and Wallpapers</string>
|
||||
@@ -751,6 +752,7 @@
|
||||
|
||||
<!-- Brightness Slider style -->
|
||||
<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_mememini">Meme mini</string>
|
||||
<string name="brightness_slider_style_memeround">Meme round</string>
|
||||
|
||||
@@ -61,20 +61,12 @@
|
||||
settings:interval="1"/>
|
||||
|
||||
<net.margaritov.preference.colorpicker.ColorPickerPreference
|
||||
android:key="accent_color"
|
||||
android:icon="@drawable/ic_accent_picker"
|
||||
android:title="@string/accent_color"
|
||||
android:summary="@string/accent_summary"
|
||||
android:defaultValue="0xffffff"
|
||||
android:persistent="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" />
|
||||
android:key="rgb_accent_picker_dark"
|
||||
android:title="@string/rgb_accent_picker_title_dark"
|
||||
android:summary="@string/rgb_accent_picker_summary"
|
||||
android:persistent="false"
|
||||
settings:iconSpaceReserved="false" />
|
||||
|
||||
<Preference
|
||||
android:key="clock_style"
|
||||
|
||||
@@ -4,6 +4,10 @@ import static com.cherish.settings.utils.Utils.handleOverlays;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
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.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
@@ -22,6 +26,7 @@ import android.os.RemoteException;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.provider.Settings;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.ContentResolver;
|
||||
import android.content.res.Resources;
|
||||
@@ -39,6 +44,9 @@ import com.android.settings.display.FontPickerPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import android.provider.Settings;
|
||||
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.FragmentManager;
|
||||
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 QS_HEADER_STYLE = "qs_header_style";
|
||||
private static final String QS_TILE_STYLE = "qs_tile_style";
|
||||
private static final String ACCENT_COLOR = "accent_color";
|
||||
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_RGB_ACCENT_PICKER_DARK = "rgb_accent_picker_dark";
|
||||
private static final String PREF_NB_COLOR = "navbar_color";
|
||||
static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff;
|
||||
static final int DEFAULT = 0xff1a73e8;
|
||||
private static final String QS_PANEL_COLOR = "qs_panel_color";
|
||||
private static final String SWITCH_STYLE = "switch_style";
|
||||
private static final String HIDE_NOTCH = "display_hide_notch";
|
||||
private static final int MENU_RESET = Menu.FIRST;
|
||||
|
||||
private SystemSettingListPreference mSwitchStyle;
|
||||
private ColorPickerPreference mQsPanelColor;
|
||||
private Context mContext;
|
||||
|
||||
private IOverlayManager mOverlayService;
|
||||
private UiModeManager mUiModeManager;
|
||||
private ColorPickerPreference mThemeColor;
|
||||
private ColorPickerPreference mGradientColor;
|
||||
private ColorPickerPreference rgbAccentPickerDark;
|
||||
private ListPreference mThemeSwitch;
|
||||
private ListPreference mBrightnessSliderStyle;
|
||||
private ListPreference mSystemSliderStyle;
|
||||
@@ -154,6 +160,7 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
||||
PreferenceScreen prefScreen = getPreferenceScreen();
|
||||
ContentResolver resolver = getActivity().getContentResolver();
|
||||
final Resources res = getResources();
|
||||
mContext = getActivity();
|
||||
|
||||
mIntentFilter = new IntentFilter();
|
||||
mIntentFilter.addAction("com.android.server.ACTION_FONT_CHANGED");
|
||||
@@ -271,9 +278,15 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
||||
mOverlayService = IOverlayManager.Stub
|
||||
.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();
|
||||
setupGradientPref();
|
||||
setupNavbarSwitchPref();
|
||||
}
|
||||
|
||||
@@ -288,20 +301,12 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||
ContentResolver resolver = getActivity().getContentResolver();
|
||||
if (preference == mThemeColor) {
|
||||
int color = (Integer) objValue;
|
||||
String hexColor = String.format("%08X", (0xFFFFFFFF & color));
|
||||
SystemProperties.set(ACCENT_COLOR_PROP, hexColor);
|
||||
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) {
|
||||
}
|
||||
} else if (preference == mGradientColor) {
|
||||
int color = (Integer) objValue;
|
||||
String hexColor = String.format("%08X", (0xFFFFFFFF & color));
|
||||
SystemProperties.set(GRADIENT_COLOR_PROP, hexColor);
|
||||
if (preference == rgbAccentPickerDark) {
|
||||
int colorDark = (Integer) objValue;
|
||||
String hexColor = String.format("%08X", (0xFFFFFFFF & colorDark));
|
||||
Settings.Secure.putStringForUser(mContext.getContentResolver(),
|
||||
Settings.Secure.ACCENT_DARK,
|
||||
hexColor, UserHandle.USER_CURRENT);
|
||||
try {
|
||||
mOverlayService.reloadAndroidAssets(UserHandle.USER_CURRENT);
|
||||
mOverlayService.reloadAssets("com.android.settings", UserHandle.USER_CURRENT);
|
||||
@@ -445,27 +450,6 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
||||
mSystemSliderStyle.setValue("1");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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() {
|
||||
mGesbar = (ListPreference) findPreference(PREF_NB_COLOR);
|
||||
@@ -492,6 +476,43 @@ public class ThemeSettings extends DashboardFragment implements OnPreferenceChan
|
||||
}
|
||||
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) {
|
||||
int position = -1;
|
||||
|
||||
Reference in New Issue
Block a user