Cherish:Comeback RGB Gradient Picker and RGB Accenter
This commit is contained in:
@@ -97,4 +97,12 @@
|
|||||||
<string name="theme_type_baked_green">Baked Green</string>
|
<string name="theme_type_baked_green">Baked Green</string>
|
||||||
<string name="theme_type_choco_x">Choco X</string>
|
<string name="theme_type_choco_x">Choco X</string>
|
||||||
<string name="theme_type_du_pitchblack">Pitch black</string>
|
<string name="theme_type_du_pitchblack">Pitch black</string>
|
||||||
|
|
||||||
|
<!--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>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -17,6 +17,22 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:title="@string/theme_title"
|
android:title="@string/theme_title"
|
||||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
||||||
|
|
||||||
|
<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" />
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="theme_switch"
|
android:key="theme_switch"
|
||||||
|
|||||||
@@ -44,9 +44,16 @@ import net.margaritov.preference.colorpicker.ColorPickerPreference;
|
|||||||
public class ThemeSettings extends SettingsPreferenceFragment implements
|
public class ThemeSettings extends SettingsPreferenceFragment implements
|
||||||
OnPreferenceChangeListener {
|
OnPreferenceChangeListener {
|
||||||
private static final String PREF_THEME_SWITCH = "theme_switch";
|
private static final String PREF_THEME_SWITCH = "theme_switch";
|
||||||
|
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";
|
||||||
|
static final int DEFAULT_QS_PANEL_COLOR = 0xffffffff;
|
||||||
|
|
||||||
private IOverlayManager mOverlayService;
|
private IOverlayManager mOverlayService;
|
||||||
private UiModeManager mUiModeManager;
|
private UiModeManager mUiModeManager;
|
||||||
|
private ColorPickerPreference mThemeColor;
|
||||||
|
private ColorPickerPreference mGradientColor;
|
||||||
private ListPreference mThemeSwitch;
|
private ListPreference mThemeSwitch;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -64,12 +71,34 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
|||||||
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
||||||
|
|
||||||
setupThemeSwitchPref();
|
setupThemeSwitchPref();
|
||||||
|
setupAccentPref();
|
||||||
|
setupGradientPref();
|
||||||
}
|
}
|
||||||
|
|
||||||
@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 == mThemeSwitch) {
|
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);
|
||||||
|
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 == mThemeSwitch) {
|
||||||
String theme_switch = (String) objValue;
|
String theme_switch = (String) objValue;
|
||||||
final Context context = getContext();
|
final Context context = getContext();
|
||||||
switch (theme_switch) {
|
switch (theme_switch) {
|
||||||
@@ -178,6 +207,26 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 handleBackgrounds(Boolean state, Context context, int mode, String[] overlays) {
|
private void handleBackgrounds(Boolean state, Context context, int mode, String[] overlays) {
|
||||||
if (context != null) {
|
if (context != null) {
|
||||||
Objects.requireNonNull(context.getSystemService(UiModeManager.class))
|
Objects.requireNonNull(context.getSystemService(UiModeManager.class))
|
||||||
|
|||||||
Reference in New Issue
Block a user