Cherish:Custom Rounded Corner and Padding preferences [2/2]
Cherish: 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. Fireworks: 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: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -1168,4 +1168,11 @@
|
|||||||
<string name="display_cutout_style_hide">Hide</string>
|
<string name="display_cutout_style_hide">Hide</string>
|
||||||
<string name="stock_statusbar_in_hide">Stock statusbar height</string>
|
<string name="stock_statusbar_in_hide">Stock statusbar height</string>
|
||||||
<string name="stock_statusbar_in_hide_summary">Use default statusbar height in Hide</string>
|
<string name="stock_statusbar_in_hide_summary">Use default statusbar height in Hide</string>
|
||||||
|
|
||||||
|
<!-- Rounded corners -->
|
||||||
|
<string name="corners_category">Corners</string>
|
||||||
|
<string name="corner_radius">Rounded corner radius</string>
|
||||||
|
<string name="content_padding">Corner content 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>
|
</resources>
|
||||||
|
|||||||
@@ -83,4 +83,35 @@
|
|||||||
android:fragment="com.cherish.settings.fragments.SmartPixels"
|
android:fragment="com.cherish.settings.fragments.SmartPixels"
|
||||||
android:title="@string/smart_pixels_title"
|
android:title="@string/smart_pixels_title"
|
||||||
android:summary="@string/smart_pixels_summary" />
|
android:summary="@string/smart_pixels_summary" />
|
||||||
|
|
||||||
|
<PreferenceCategory
|
||||||
|
android:key="corners_category"
|
||||||
|
android:title="@string/corners_category" >
|
||||||
|
|
||||||
|
<com.cherish.settings.preferences.SecureSettingSwitchPreference
|
||||||
|
android:key="sysui_rounded_fwvals"
|
||||||
|
android:title="@string/corner_fwvals"
|
||||||
|
android:summary="@string/corner_fwvals_summary"
|
||||||
|
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" /-->
|
||||||
|
</PreferenceCategory>
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.content.Intent;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import androidx.preference.ListPreference;
|
import androidx.preference.ListPreference;
|
||||||
@@ -28,13 +29,22 @@ import java.util.Arrays;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.cherish.settings.preferences.SystemSettingMasterSwitchPreference;
|
import com.cherish.settings.preferences.SystemSettingMasterSwitchPreference;
|
||||||
import com.cherish.settings.preferences.SystemSettingListPreference;
|
import com.cherish.settings.preferences.SystemSettingListPreference;
|
||||||
|
import com.cherish.settings.preferences.SecureSettingSwitchPreference;
|
||||||
public class MiscSettings extends SettingsPreferenceFragment implements
|
public class MiscSettings extends SettingsPreferenceFragment implements
|
||||||
OnPreferenceChangeListener {
|
OnPreferenceChangeListener {
|
||||||
|
|
||||||
private static final String SMART_PIXELS = "smart_pixels";
|
private static final String SMART_PIXELS = "smart_pixels";
|
||||||
|
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_ROUNDED_FWVALS = "sysui_rounded_fwvals";
|
||||||
|
|
||||||
|
private CustomSeekBarPreference mCornerRadius;
|
||||||
|
private CustomSeekBarPreference mContentPadding;
|
||||||
|
private SecureSettingSwitchPreference mRoundedFwvals;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
@@ -44,6 +54,38 @@ public class MiscSettings extends SettingsPreferenceFragment implements
|
|||||||
addPreferencesFromResource(R.xml.cherish_settings_misc);
|
addPreferencesFromResource(R.xml.cherish_settings_misc);
|
||||||
updateSmartPixelsPreference();
|
updateSmartPixelsPreference();
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
// Rounded use Framework Values
|
||||||
|
mRoundedFwvals = (SecureSettingSwitchPreference) findPreference(SYSUI_ROUNDED_FWVALS);
|
||||||
|
mRoundedFwvals.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSmartPixelsPreference() {
|
private void updateSmartPixelsPreference() {
|
||||||
@@ -59,9 +101,37 @@ public class MiscSettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||||
|
if (preference == mCornerRadius) {
|
||||||
|
Settings.Secure.putIntForUser(getContext().getContentResolver(), Settings.Secure.SYSUI_ROUNDED_SIZE,
|
||||||
|
(int) objValue, UserHandle.USER_CURRENT);
|
||||||
|
return true;
|
||||||
|
//} else if (preference == mContentPadding) {
|
||||||
|
// Settings.Secure.putIntForUser(getContext().getContentResolver(), Settings.Secure.SYSUI_ROUNDED_CONTENT_PADDING,
|
||||||
|
// (int) objValue, UserHandle.USER_CURRENT);
|
||||||
|
// return true;
|
||||||
|
} else if (preference == mRoundedFwvals) {
|
||||||
|
restoreCorners();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
mCornerRadius.setValue((int) (resourceIdRadius / density));
|
||||||
|
//mContentPadding.setValue((int) (res.getDimension(resourceIdPadding) / density));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
|
|||||||
Reference in New Issue
Block a user