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:
Kshitij Gupta
2018-12-16 03:26:02 +05:30
committed by Hưng Phan
parent 7c352e5482
commit 5cd33f929b
3 changed files with 108 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.UserHandle;
import android.content.Context;
import android.content.ContentResolver;
import android.content.res.Resources;
import androidx.preference.ListPreference;
@@ -28,13 +29,22 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import android.content.pm.PackageManager.NameNotFoundException;
import com.android.settings.SettingsPreferenceFragment;
import com.cherish.settings.preferences.SystemSettingMasterSwitchPreference;
import com.cherish.settings.preferences.SystemSettingListPreference;
import com.cherish.settings.preferences.SecureSettingSwitchPreference;
public class MiscSettings extends SettingsPreferenceFragment implements
OnPreferenceChangeListener {
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
public void onCreate(Bundle icicle) {
@@ -43,6 +53,38 @@ public class MiscSettings extends SettingsPreferenceFragment implements
addPreferencesFromResource(R.xml.cherish_settings_misc);
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);
}
@@ -59,9 +101,37 @@ public class MiscSettings extends SettingsPreferenceFragment implements
@Override
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;
}
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
public int getMetricsCategory() {