Cherish:Custom Rounded Corner and Padding preferences [2/2]
Extensions: Add Runtime Rounded Corner preferences Change-Id: I6dd7b0c3b8fce13c738f2239ba5504b14d1cc568 Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> Signed-off-by: Shubham Singh <coolsks94@gmail.com> RoundCornerPreferences: Use frameworks default values Change-Id: Ib5ad571bec311b75bc138bae238e5ca8ee005358 Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> RoundCornerPreferences: Evaluate framework values correctly Change-Id: I81d9830d4cfc76a568d6862c344c1f44666e3bc9 Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> Allow using framework values for rounded corners [2/2] Change-Id: I04ac74f7ea2062dfe7c3a783bdb08b65cb774d34 Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> RoundCorners: Allow radius to reach 60 - Some devices have almost 50. Allow configuring a bit over this. Extensions: corners: Update seekbars when framework values toggled - Clean up and refactor some older code - Add new method to restore corner values to the seekbar prefs Change-Id: Ib6869208c8cc0eeaf30acfe2126c1af52a21b01a Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> Signed-off-by: Shubham Singh <coolsks94@gmail.com> Change-Id: I3cd485c178d74f507e78c9ad173a73d1650a7561 Signed-off-by: Kshitij Gupta <kshitijgm@gmail.com> Signed-off-by: Shubham Singh <coolsks94@gmail.com> Signed-off-by: SagarMakhar <sagarmakhar@gmail.com> Signed-off-by: blinoff82 <blinov.in@gmail.com>
This commit is contained in:
@@ -248,4 +248,13 @@
|
||||
<string name="panel_porn_title">Menu nguồn trong suốt</string>
|
||||
<string name="power_menu_transparency">Độ mờ của menu nguồn / khởi động lại</string>
|
||||
<string name="power_menu_dialog_dim"> Nguồn/ khởi động lại hộp thoại mờ nền</string>
|
||||
<!-- Rounded corners -->
|
||||
<string name="corners_category_title">Góc tròn</string>
|
||||
<string name="corners_category_summary">Điều chỉnh các góc tròn và phần đệm</string>
|
||||
<string name="corners_title">Tùy chỉnh các góc tròn</string>
|
||||
<string name="corner_radius">Bán kính góc tròn</string>
|
||||
<string name="content_padding">Góc đệm nội dung</string>
|
||||
<string name="status_bar_padding">Thanh đệm thêm thanh trạng thái</string>
|
||||
<string name="corner_fwvals">Sử dụng các giá trị khung</string>
|
||||
<string name="corner_fwvals_summary">Hữu ích nếu thiết bị thực sự có các góc tròn</string>
|
||||
</resources>
|
||||
|
||||
@@ -286,5 +286,15 @@
|
||||
<string name="panel_porn_title">Power Menu Transparency</string>
|
||||
<string name="power_menu_transparency">Power/reboot menu opacity</string>
|
||||
<string name="power_menu_dialog_dim">Power/reboot dialog dim background amount</string>
|
||||
|
||||
<!-- Rounded corners -->
|
||||
<string name="corners_category_title">Rounded corners</string>
|
||||
<string name="corners_category_summary">Adjust rounded corners and padding</string>
|
||||
<string name="corners_title">Customize rounded corners</string>
|
||||
<string name="corner_radius">Rounded corner radius</string>
|
||||
<string name="content_padding">Corner content padding</string>
|
||||
<string name="status_bar_padding">Statusbar extra padding</string>
|
||||
<string name="corner_fwvals">Use framework values</string>
|
||||
<string name="corner_fwvals_summary">Useful if the device actually has rounded corners</string>
|
||||
|
||||
</resources>
|
||||
|
||||
@@ -56,4 +56,43 @@
|
||||
android:persistent="false" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:key="rounded_corners_category"
|
||||
android:title="@string/corners_category_title" >
|
||||
|
||||
<com.cherish.settings.preferences.SecureSettingSwitchPreference
|
||||
android:key="sysui_rounded_fwvals"
|
||||
android:title="@string/corner_fwvals"
|
||||
android:defaultValue="true"
|
||||
android:disableDependentsState="true" />
|
||||
|
||||
<com.cherish.settings.preferences.CustomSeekBarPreference
|
||||
android:key="sysui_rounded_size"
|
||||
android:title="@string/corner_radius"
|
||||
android:max="60"
|
||||
settings:min="0"
|
||||
settings:units="dp"
|
||||
android:persistent="false"
|
||||
android:dependency="sysui_rounded_fwvals" />
|
||||
|
||||
<com.cherish.settings.preferences.CustomSeekBarPreference
|
||||
android:key="sysui_rounded_content_padding"
|
||||
android:title="@string/content_padding"
|
||||
android:max="30"
|
||||
settings:min="0"
|
||||
settings:units="dp"
|
||||
android:persistent="false"
|
||||
android:dependency="sysui_rounded_fwvals" />
|
||||
|
||||
<com.cherish.settings.preferences.CustomSeekBarPreference
|
||||
android:key="sysui_status_bar_padding"
|
||||
android:title="@string/status_bar_padding"
|
||||
android:max="30"
|
||||
settings:min="0"
|
||||
settings:units="dp"
|
||||
android:persistent="false"
|
||||
android:dependency="sysui_rounded_fwvals" />
|
||||
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
||||
@@ -6,6 +6,7 @@ import static android.os.UserHandle.USER_SYSTEM;
|
||||
import android.app.UiModeManager;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -47,12 +48,20 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
||||
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 SYSUI_ROUNDED_SIZE = "sysui_rounded_size";
|
||||
private static final String SYSUI_ROUNDED_CONTENT_PADDING = "sysui_rounded_content_padding";
|
||||
private static final String SYSUI_STATUS_BAR_PADDING = "sysui_status_bar_padding";
|
||||
private static final String SYSUI_ROUNDED_FWVALS = "sysui_rounded_fwvals";
|
||||
|
||||
private ColorPickerPreference mThemeColor;
|
||||
private ColorPickerPreference mGradientColor;
|
||||
private UiModeManager mUiModeManager;
|
||||
private IOverlayManager mOverlayService;
|
||||
private ListPreference mThemeSwitch;
|
||||
private CustomSeekBarPreference mCornerRadius;
|
||||
private CustomSeekBarPreference mContentPadding;
|
||||
private CustomSeekBarPreference mSBPadding;
|
||||
private SwitchPreference mRoundedFwvals;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
@@ -62,6 +71,49 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
||||
|
||||
PreferenceScreen prefScreen = getPreferenceScreen();
|
||||
ContentResolver resolver = getActivity().getContentResolver();
|
||||
|
||||
Resources res = null;
|
||||
Context ctx = getContext();
|
||||
float density = Resources.getSystem().getDisplayMetrics().density;
|
||||
|
||||
try {
|
||||
res = ctx.getPackageManager().getResourcesForApplication("com.android.systemui");
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Rounded Corner Radius
|
||||
mCornerRadius = (CustomSeekBarPreference) findPreference(SYSUI_ROUNDED_SIZE);
|
||||
int resourceIdRadius = (int) ctx.getResources().getDimension(com.android.internal.R.dimen.rounded_corner_radius);
|
||||
int cornerRadius = Settings.Secure.getIntForUser(ctx.getContentResolver(), Settings.Secure.SYSUI_ROUNDED_SIZE,
|
||||
((int) (resourceIdRadius / density)), UserHandle.USER_CURRENT);
|
||||
mCornerRadius.setValue(cornerRadius);
|
||||
mCornerRadius.setOnPreferenceChangeListener(this);
|
||||
|
||||
// Rounded Content Padding
|
||||
mContentPadding = (CustomSeekBarPreference) findPreference(SYSUI_ROUNDED_CONTENT_PADDING);
|
||||
int resourceIdPadding = res.getIdentifier("com.android.systemui:dimen/rounded_corner_content_padding", null,
|
||||
null);
|
||||
int contentPadding = Settings.Secure.getIntForUser(ctx.getContentResolver(),
|
||||
Settings.Secure.SYSUI_ROUNDED_CONTENT_PADDING,
|
||||
(int) (res.getDimension(resourceIdPadding) / density), UserHandle.USER_CURRENT);
|
||||
mContentPadding.setValue(contentPadding);
|
||||
mContentPadding.setOnPreferenceChangeListener(this);
|
||||
|
||||
// Status Bar Content Padding
|
||||
mSBPadding = (CustomSeekBarPreference) findPreference(SYSUI_STATUS_BAR_PADDING);
|
||||
int resourceIdSBPadding = res.getIdentifier("com.android.systemui:dimen/status_bar_extra_padding", null,
|
||||
null);
|
||||
int sbPadding = Settings.Secure.getIntForUser(ctx.getContentResolver(),
|
||||
Settings.Secure.SYSUI_STATUS_BAR_PADDING,
|
||||
(int) (res.getDimension(resourceIdSBPadding) / density), UserHandle.USER_CURRENT);
|
||||
mSBPadding.setValue(sbPadding);
|
||||
mSBPadding.setOnPreferenceChangeListener(this);
|
||||
|
||||
// Rounded use Framework Values
|
||||
mRoundedFwvals = (SwitchPreference) findPreference(SYSUI_ROUNDED_FWVALS);
|
||||
mRoundedFwvals.setOnPreferenceChangeListener(this);
|
||||
|
||||
mOverlayService = IOverlayManager.Stub
|
||||
.asInterface(ServiceManager.getService(Context.OVERLAY_SERVICE));
|
||||
mUiModeManager = getContext().getSystemService(UiModeManager.class);
|
||||
@@ -167,6 +219,17 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
||||
mOverlayService.reloadAssets("com.android.systemui", UserHandle.USER_CURRENT);
|
||||
} catch (RemoteException ignored) {
|
||||
}
|
||||
} else if (preference == mCornerRadius) {
|
||||
Settings.Secure.putIntForUser(getContext().getContentResolver(), Settings.Secure.SYSUI_ROUNDED_SIZE,
|
||||
(int) objValue, UserHandle.USER_CURRENT);
|
||||
} else if (preference == mContentPadding) {
|
||||
Settings.Secure.putIntForUser(getContext().getContentResolver(), Settings.Secure.SYSUI_ROUNDED_CONTENT_PADDING,
|
||||
(int) objValue, UserHandle.USER_CURRENT);
|
||||
} else if (preference == mSBPadding) {
|
||||
Settings.Secure.putIntForUser(getContext().getContentResolver(), Settings.Secure.SYSUI_STATUS_BAR_PADDING,
|
||||
(int) objValue, UserHandle.USER_CURRENT);
|
||||
} else if (preference == mRoundedFwvals) {
|
||||
restoreCorners();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -228,6 +291,27 @@ public class ThemeSettings extends SettingsPreferenceFragment implements
|
||||
mGradientColor.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
private void restoreCorners() {
|
||||
Resources res = null;
|
||||
float density = Resources.getSystem().getDisplayMetrics().density;
|
||||
Context ctx = getContext();
|
||||
|
||||
try {
|
||||
res = ctx.getPackageManager().getResourcesForApplication("com.android.systemui");
|
||||
} catch (NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
int resourceIdRadius = (int) ctx.getResources().getDimension(com.android.internal.R.dimen.rounded_corner_radius);
|
||||
int resourceIdPadding = res.getIdentifier("com.android.systemui:dimen/rounded_corner_content_padding", null,
|
||||
null);
|
||||
int resourceIdSBPadding = res.getIdentifier("com.android.systemui:dimen/status_bar_extra_padding", null,
|
||||
null);
|
||||
mCornerRadius.setValue((int) (resourceIdRadius / density));
|
||||
mContentPadding.setValue((int) (res.getDimension(resourceIdPadding) / density));
|
||||
mSBPadding.setValue((int) (res.getDimension(resourceIdSBPadding) / density));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
|
||||
|
||||
Reference in New Issue
Block a user