Cherish: Introduce RGB Accenter [2/2]
This commit is contained in:
21
res/drawable/ic_accent_picker.xml
Normal file
21
res/drawable/ic_accent_picker.xml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="512"
|
||||||
|
android:viewportHeight="512">
|
||||||
|
<path
|
||||||
|
android:fillColor="?android:attr/colorControlNormal"
|
||||||
|
android:pathData="M387.9,123.9c-42.3,-42.2 -100.9,-61.7 -160.5,-53.5c-73.8,10.1 -136.5,65.4 -156,137.3l-0.6,2.3c-5.3,20.3 -0.8,41.6 12.2,58.3c13.5,17.4 35.5,27.5 56.9,27.6c6.1,0.1 12.3,0.7 18.4,2.1c27.4,6.2 49.9,28.8 56.1,56.1c1.4,6.1 2.1,12.3 2,18.3c-0.1,22.1 10.2,43.4 27.6,56.9c12.1,9.4 26.6,14.3 41.4,14.3c5.7,0 11.4,-0.7 17,-2.2l2.1,-0.5c72.3,-19.7 127.5,-82.6 137.5,-156.4C449.8,224.6 430.2,166.1 387.9,123.9zM404.6,279.3c-8,59.1 -52.3,109.5 -111.8,125.7c-12.3,3.2 -21.5,-2.1 -25.9,-5.5c-8.3,-6.4 -13.1,-16.5 -13.1,-27.1c0,-8.9 -1,-17.9 -2.9,-26.8c-9.5,-41.8 -42.6,-74.9 -84.4,-84.4c-8.7,-2 -17.6,-3 -26.3,-3c-0.3,0 -0.5,0 -0.8,0c-10.5,0 -20.5,-4.9 -26.9,-13.1c-3.4,-4.4 -8.7,-13.6 -5.1,-27.4c15.7,-57.9 66,-102.3 125,-110.3c48,-6.6 95,9.1 129,42.9C395.3,184.3 411,231.3 404.6,279.3z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="?android:attr/colorControlNormal"
|
||||||
|
android:pathData="M252.1,124.8h-14.9c-10.4,0 -18.8,8.4 -18.8,18.8s8.4,18.8 18.8,18.8h14.9c10.4,0 18.8,-8.4 18.8,-18.8S262.5,124.8 252.1,124.8z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="?android:attr/colorControlNormal"
|
||||||
|
android:pathData="M312.3,199.8h14.9c10.4,0 18.8,-8.4 18.8,-18.8s-8.4,-18.8 -18.8,-18.8h-14.9c-10.4,0 -18.8,8.4 -18.8,18.8S301.9,199.8 312.3,199.8z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="?android:attr/colorControlNormal"
|
||||||
|
android:pathData="M331,256c0,10.4 8.4,18.8 18.8,18.8h14.9c10.4,0 18.8,-8.4 18.8,-18.8c0,-10.4 -8.4,-18.8 -18.8,-18.8h-14.9C339.4,237.3 331,245.6 331,256z" />
|
||||||
|
<path
|
||||||
|
android:fillColor="?android:attr/colorControlNormal"
|
||||||
|
android:pathData="M327.1,312.3h-14.9c-10.4,0 -18.8,8.4 -18.8,18.8c0,10.4 8.4,18.8 18.8,18.8h14.9c10.4,0 18.8,-8.4 18.8,-18.8C345.9,320.6 337.5,312.3 327.1,312.3z" />
|
||||||
|
</vector>
|
||||||
@@ -236,4 +236,10 @@
|
|||||||
<string name="theme_type_light">Sáng</string>
|
<string name="theme_type_light">Sáng</string>
|
||||||
<string name="theme_type_pitch_black">Google dark</string>
|
<string name="theme_type_pitch_black">Google dark</string>
|
||||||
<string name="theme_type_solarized_dark">Solarized dark</string>
|
<string name="theme_type_solarized_dark">Solarized dark</string>
|
||||||
|
<!-- RGB Accenter -->
|
||||||
|
<string name="theme_rgb_title">Màu nhấn RGB| Chủ đề Gradient</string>
|
||||||
|
<string name="themes_hub_title">Chủ đề</string>
|
||||||
|
<string name="themes_hub_summary">Chủ đề màu nhấn Gradients</string>
|
||||||
|
<string name="accent_color">Chọn màu nhấn</string>
|
||||||
|
<string name="accent_summary">Tự làm Gradient</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -270,5 +270,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>
|
||||||
|
|
||||||
|
<!-- RGB Accenter -->
|
||||||
|
<string name="theme_rgb_title">RGB Accent | Gradient Theming</string>
|
||||||
|
<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>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -34,4 +34,18 @@
|
|||||||
android:defaultValue="1"/>
|
android:defaultValue="1"/>
|
||||||
|
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
|
||||||
|
<PreferenceCategory
|
||||||
|
android:key="system_rgb_category"
|
||||||
|
android:title="@string/theme_rgb_title">
|
||||||
|
|
||||||
|
<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" />
|
||||||
|
|
||||||
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
@@ -34,11 +34,16 @@ import java.util.Objects;
|
|||||||
|
|
||||||
import com.android.internal.util.cherish.ThemesUtils;
|
import com.android.internal.util.cherish.ThemesUtils;
|
||||||
import com.android.internal.util.cherish.CherishUtils;
|
import com.android.internal.util.cherish.CherishUtils;
|
||||||
|
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 ColorPickerPreference mThemeColor;
|
||||||
|
|
||||||
private UiModeManager mUiModeManager;
|
private UiModeManager mUiModeManager;
|
||||||
private IOverlayManager mOverlayService;
|
private IOverlayManager mOverlayService;
|
||||||
@@ -52,8 +57,11 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
PreferenceScreen prefScreen = getPreferenceScreen();
|
PreferenceScreen prefScreen = getPreferenceScreen();
|
||||||
ContentResolver resolver = getActivity().getContentResolver();
|
ContentResolver resolver = getActivity().getContentResolver();
|
||||||
|
mOverlayService = IOverlayManager.Stub
|
||||||
|
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
||||||
mUiModeManager = getContext().getSystemService(UiModeManager.class);
|
mUiModeManager = getContext().getSystemService(UiModeManager.class);
|
||||||
setupThemeSwitchPref();
|
setupThemeSwitchPref();
|
||||||
|
setupAccentPref();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -99,6 +107,16 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
|||||||
handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK);
|
handleBackgrounds(true, context, UiModeManager.MODE_NIGHT_YES, ThemesUtils.PITCH_BLACK);
|
||||||
break;
|
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) {
|
||||||
|
}
|
||||||
|
}else if (preference == mThemeColor) {
|
||||||
|
int color = (Integer) objValue;
|
||||||
|
String hexColor = String.format("%08X", (0xFFFFFFFF & color));
|
||||||
|
SystemProperties.set(ACCENT_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);
|
||||||
@@ -141,6 +159,16 @@ 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)
|
||||||
|
? Color.WHITE
|
||||||
|
: Color.parseColor("#" + colorVal);
|
||||||
|
mThemeColor.setNewPreviewColor(color);
|
||||||
|
mThemeColor.setOnPreferenceChangeListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
|
|||||||
Reference in New Issue
Block a user