Merge "Tuner: add battery pct preference." into mnc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4402f4bb12
@@ -1025,6 +1025,12 @@
|
|||||||
<!-- Name of special SystemUI debug settings -->
|
<!-- Name of special SystemUI debug settings -->
|
||||||
<string name="system_ui_tuner">System UI tuner</string>
|
<string name="system_ui_tuner">System UI tuner</string>
|
||||||
|
|
||||||
|
<!-- Preference to show/hide embedded battery percentage [CHAR LIMIT=50] -->
|
||||||
|
<string name="show_battery_percentage">Show embedded battery percentage</string>
|
||||||
|
|
||||||
|
<!-- Summary for battery percentage preference [CHAR LIMIT=NONE] -->
|
||||||
|
<string name="show_battery_percentage_summary">Show battery level percentage inside the status bar icon when not charging</string>
|
||||||
|
|
||||||
<!-- Name of quick settings -->
|
<!-- Name of quick settings -->
|
||||||
<string name="quick_settings">Quick Settings</string>
|
<string name="quick_settings">Quick Settings</string>
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,14 @@
|
|||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:title="@string/system_ui_tuner">
|
android:title="@string/system_ui_tuner">
|
||||||
|
|
||||||
<!-- Tuner prefs go here -->
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="qs_tuner"
|
android:key="qs_tuner"
|
||||||
android:title="@string/quick_settings" />
|
android:title="@string/quick_settings" />
|
||||||
|
|
||||||
|
<SwitchPreference
|
||||||
|
android:key="battery_pct"
|
||||||
|
android:title="@string/show_battery_percentage"
|
||||||
|
android:summary="@string/show_battery_percentage_summary"
|
||||||
|
android:persistent="false" />
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|||||||
@@ -23,16 +23,17 @@ import android.content.Intent;
|
|||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
|
import android.database.ContentObserver;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.Paint;
|
import android.graphics.Paint;
|
||||||
import android.graphics.Path;
|
import android.graphics.Path;
|
||||||
import android.graphics.PorterDuff;
|
|
||||||
import android.graphics.PorterDuffColorFilter;
|
|
||||||
import android.graphics.RectF;
|
import android.graphics.RectF;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.BatteryManager;
|
import android.os.BatteryManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -43,10 +44,9 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
BatteryController.BatteryStateChangeCallback {
|
BatteryController.BatteryStateChangeCallback {
|
||||||
public static final String TAG = BatteryMeterView.class.getSimpleName();
|
public static final String TAG = BatteryMeterView.class.getSimpleName();
|
||||||
public static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST";
|
public static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST";
|
||||||
|
public static final String SHOW_PERCENT_SETTING = "status_bar_show_battery_percent";
|
||||||
|
|
||||||
private static final boolean ENABLE_PERCENT = true;
|
|
||||||
private static final boolean SINGLE_DIGIT_PERCENT = false;
|
private static final boolean SINGLE_DIGIT_PERCENT = false;
|
||||||
private static final boolean SHOW_100_PERCENT = false;
|
|
||||||
|
|
||||||
private static final int FULL = 96;
|
private static final int FULL = 96;
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
|
|
||||||
private final int[] mColors;
|
private final int[] mColors;
|
||||||
|
|
||||||
boolean mShowPercent = true;
|
private boolean mShowPercent;
|
||||||
private float mButtonHeightFraction;
|
private float mButtonHeightFraction;
|
||||||
private float mSubpixelSmoothingLeft;
|
private float mSubpixelSmoothingLeft;
|
||||||
private float mSubpixelSmoothingRight;
|
private float mSubpixelSmoothingRight;
|
||||||
@@ -87,103 +87,8 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
private int mLightModeBackgroundColor;
|
private int mLightModeBackgroundColor;
|
||||||
private int mLightModeFillColor;
|
private int mLightModeFillColor;
|
||||||
|
|
||||||
private class BatteryTracker extends BroadcastReceiver {
|
private BatteryTracker mTracker = new BatteryTracker();
|
||||||
public static final int UNKNOWN_LEVEL = -1;
|
private final SettingObserver mSettingObserver = new SettingObserver();
|
||||||
|
|
||||||
// current battery status
|
|
||||||
int level = UNKNOWN_LEVEL;
|
|
||||||
String percentStr;
|
|
||||||
int plugType;
|
|
||||||
boolean plugged;
|
|
||||||
int health;
|
|
||||||
int status;
|
|
||||||
String technology;
|
|
||||||
int voltage;
|
|
||||||
int temperature;
|
|
||||||
boolean testmode = false;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
final String action = intent.getAction();
|
|
||||||
if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
|
|
||||||
if (testmode && ! intent.getBooleanExtra("testmode", false)) return;
|
|
||||||
|
|
||||||
level = (int)(100f
|
|
||||||
* intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0)
|
|
||||||
/ intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100));
|
|
||||||
|
|
||||||
plugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
|
|
||||||
plugged = plugType != 0;
|
|
||||||
health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH,
|
|
||||||
BatteryManager.BATTERY_HEALTH_UNKNOWN);
|
|
||||||
status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
|
|
||||||
BatteryManager.BATTERY_STATUS_UNKNOWN);
|
|
||||||
technology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY);
|
|
||||||
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
|
|
||||||
temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0);
|
|
||||||
|
|
||||||
setContentDescription(
|
|
||||||
context.getString(R.string.accessibility_battery_level, level));
|
|
||||||
postInvalidate();
|
|
||||||
} else if (action.equals(ACTION_LEVEL_TEST)) {
|
|
||||||
testmode = true;
|
|
||||||
post(new Runnable() {
|
|
||||||
int curLevel = 0;
|
|
||||||
int incr = 1;
|
|
||||||
int saveLevel = level;
|
|
||||||
int savePlugged = plugType;
|
|
||||||
Intent dummy = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
if (curLevel < 0) {
|
|
||||||
testmode = false;
|
|
||||||
dummy.putExtra("level", saveLevel);
|
|
||||||
dummy.putExtra("plugged", savePlugged);
|
|
||||||
dummy.putExtra("testmode", false);
|
|
||||||
} else {
|
|
||||||
dummy.putExtra("level", curLevel);
|
|
||||||
dummy.putExtra("plugged", incr > 0 ? BatteryManager.BATTERY_PLUGGED_AC : 0);
|
|
||||||
dummy.putExtra("testmode", true);
|
|
||||||
}
|
|
||||||
getContext().sendBroadcast(dummy);
|
|
||||||
|
|
||||||
if (!testmode) return;
|
|
||||||
|
|
||||||
curLevel += incr;
|
|
||||||
if (curLevel == 100) {
|
|
||||||
incr *= -1;
|
|
||||||
}
|
|
||||||
postDelayed(this, 200);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BatteryTracker mTracker = new BatteryTracker();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttachedToWindow() {
|
|
||||||
super.onAttachedToWindow();
|
|
||||||
|
|
||||||
IntentFilter filter = new IntentFilter();
|
|
||||||
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
|
|
||||||
filter.addAction(ACTION_LEVEL_TEST);
|
|
||||||
final Intent sticky = getContext().registerReceiver(mTracker, filter);
|
|
||||||
if (sticky != null) {
|
|
||||||
// preload the battery level
|
|
||||||
mTracker.onReceive(getContext(), sticky);
|
|
||||||
}
|
|
||||||
mBatteryController.addStateChangedCallback(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetachedFromWindow() {
|
|
||||||
super.onDetachedFromWindow();
|
|
||||||
|
|
||||||
getContext().unregisterReceiver(mTracker);
|
|
||||||
mBatteryController.removeStateChangedCallback(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
public BatteryMeterView(Context context) {
|
public BatteryMeterView(Context context) {
|
||||||
this(context, null, 0);
|
this(context, null, 0);
|
||||||
@@ -213,8 +118,7 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
levels.recycle();
|
levels.recycle();
|
||||||
colors.recycle();
|
colors.recycle();
|
||||||
atts.recycle();
|
atts.recycle();
|
||||||
mShowPercent = ENABLE_PERCENT && 0 != Settings.System.getInt(
|
updateShowPercent();
|
||||||
context.getContentResolver(), "status_bar_show_battery_percent", 0);
|
|
||||||
mWarningString = context.getString(R.string.battery_meter_very_low_overlay_symbol);
|
mWarningString = context.getString(R.string.battery_meter_very_low_overlay_symbol);
|
||||||
mCriticalLevel = mContext.getResources().getInteger(
|
mCriticalLevel = mContext.getResources().getInteger(
|
||||||
com.android.internal.R.integer.config_criticalBatteryWarningLevel);
|
com.android.internal.R.integer.config_criticalBatteryWarningLevel);
|
||||||
@@ -261,6 +165,32 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
mLightModeFillColor = context.getColor(R.color.light_mode_icon_color_dual_tone_fill);
|
mLightModeFillColor = context.getColor(R.color.light_mode_icon_color_dual_tone_fill);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttachedToWindow() {
|
||||||
|
super.onAttachedToWindow();
|
||||||
|
|
||||||
|
IntentFilter filter = new IntentFilter();
|
||||||
|
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
|
||||||
|
filter.addAction(ACTION_LEVEL_TEST);
|
||||||
|
final Intent sticky = getContext().registerReceiver(mTracker, filter);
|
||||||
|
if (sticky != null) {
|
||||||
|
// preload the battery level
|
||||||
|
mTracker.onReceive(getContext(), sticky);
|
||||||
|
}
|
||||||
|
mBatteryController.addStateChangedCallback(this);
|
||||||
|
getContext().getContentResolver().registerContentObserver(
|
||||||
|
Settings.System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDetachedFromWindow() {
|
||||||
|
super.onDetachedFromWindow();
|
||||||
|
|
||||||
|
getContext().unregisterReceiver(mTracker);
|
||||||
|
mBatteryController.removeStateChangedCallback(this);
|
||||||
|
getContext().getContentResolver().unregisterContentObserver(mSettingObserver);
|
||||||
|
}
|
||||||
|
|
||||||
public void setBatteryController(BatteryController batteryController) {
|
public void setBatteryController(BatteryController batteryController) {
|
||||||
mBatteryController = batteryController;
|
mBatteryController = batteryController;
|
||||||
mPowerSaveEnabled = mBatteryController.isPowerSave();
|
mPowerSaveEnabled = mBatteryController.isPowerSave();
|
||||||
@@ -300,6 +230,11 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
mWarningTextHeight = -mWarningTextPaint.getFontMetrics().ascent;
|
mWarningTextHeight = -mWarningTextPaint.getFontMetrics().ascent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateShowPercent() {
|
||||||
|
mShowPercent = 0 != Settings.System.getInt(getContext().getContentResolver(),
|
||||||
|
SHOW_PERCENT_SETTING, 0);
|
||||||
|
}
|
||||||
|
|
||||||
private int getColorForLevel(int percent) {
|
private int getColorForLevel(int percent) {
|
||||||
|
|
||||||
// If we are in power save mode, always use the normal color.
|
// If we are in power save mode, always use the normal color.
|
||||||
@@ -447,8 +382,7 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
boolean pctOpaque = false;
|
boolean pctOpaque = false;
|
||||||
float pctX = 0, pctY = 0;
|
float pctX = 0, pctY = 0;
|
||||||
String pctText = null;
|
String pctText = null;
|
||||||
if (!tracker.plugged && level > mCriticalLevel && mShowPercent
|
if (!tracker.plugged && level > mCriticalLevel && mShowPercent) {
|
||||||
&& !(tracker.level == 100 && !SHOW_100_PERCENT)) {
|
|
||||||
mTextPaint.setColor(getColorForLevel(level));
|
mTextPaint.setColor(getColorForLevel(level));
|
||||||
mTextPaint.setTextSize(height *
|
mTextPaint.setTextSize(height *
|
||||||
(SINGLE_DIGIT_PERCENT ? 0.75f
|
(SINGLE_DIGIT_PERCENT ? 0.75f
|
||||||
@@ -518,4 +452,92 @@ public class BatteryMeterView extends View implements DemoMode,
|
|||||||
postInvalidate();
|
postInvalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final class BatteryTracker extends BroadcastReceiver {
|
||||||
|
public static final int UNKNOWN_LEVEL = -1;
|
||||||
|
|
||||||
|
// current battery status
|
||||||
|
int level = UNKNOWN_LEVEL;
|
||||||
|
String percentStr;
|
||||||
|
int plugType;
|
||||||
|
boolean plugged;
|
||||||
|
int health;
|
||||||
|
int status;
|
||||||
|
String technology;
|
||||||
|
int voltage;
|
||||||
|
int temperature;
|
||||||
|
boolean testmode = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
final String action = intent.getAction();
|
||||||
|
if (action.equals(Intent.ACTION_BATTERY_CHANGED)) {
|
||||||
|
if (testmode && ! intent.getBooleanExtra("testmode", false)) return;
|
||||||
|
|
||||||
|
level = (int)(100f
|
||||||
|
* intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0)
|
||||||
|
/ intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100));
|
||||||
|
|
||||||
|
plugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
|
||||||
|
plugged = plugType != 0;
|
||||||
|
health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH,
|
||||||
|
BatteryManager.BATTERY_HEALTH_UNKNOWN);
|
||||||
|
status = intent.getIntExtra(BatteryManager.EXTRA_STATUS,
|
||||||
|
BatteryManager.BATTERY_STATUS_UNKNOWN);
|
||||||
|
technology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY);
|
||||||
|
voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
|
||||||
|
temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0);
|
||||||
|
|
||||||
|
setContentDescription(
|
||||||
|
context.getString(R.string.accessibility_battery_level, level));
|
||||||
|
postInvalidate();
|
||||||
|
} else if (action.equals(ACTION_LEVEL_TEST)) {
|
||||||
|
testmode = true;
|
||||||
|
post(new Runnable() {
|
||||||
|
int curLevel = 0;
|
||||||
|
int incr = 1;
|
||||||
|
int saveLevel = level;
|
||||||
|
int savePlugged = plugType;
|
||||||
|
Intent dummy = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (curLevel < 0) {
|
||||||
|
testmode = false;
|
||||||
|
dummy.putExtra("level", saveLevel);
|
||||||
|
dummy.putExtra("plugged", savePlugged);
|
||||||
|
dummy.putExtra("testmode", false);
|
||||||
|
} else {
|
||||||
|
dummy.putExtra("level", curLevel);
|
||||||
|
dummy.putExtra("plugged", incr > 0 ? BatteryManager.BATTERY_PLUGGED_AC
|
||||||
|
: 0);
|
||||||
|
dummy.putExtra("testmode", true);
|
||||||
|
}
|
||||||
|
getContext().sendBroadcast(dummy);
|
||||||
|
|
||||||
|
if (!testmode) return;
|
||||||
|
|
||||||
|
curLevel += incr;
|
||||||
|
if (curLevel == 100) {
|
||||||
|
incr *= -1;
|
||||||
|
}
|
||||||
|
postDelayed(this, 200);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final class SettingObserver extends ContentObserver {
|
||||||
|
public SettingObserver() {
|
||||||
|
super(new Handler());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri) {
|
||||||
|
super.onChange(selfChange, uri);
|
||||||
|
updateShowPercent();
|
||||||
|
postInvalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,11 +15,19 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.systemui.tuner;
|
package com.android.systemui.tuner;
|
||||||
|
|
||||||
|
import static com.android.systemui.BatteryMeterView.SHOW_PERCENT_SETTING;
|
||||||
|
|
||||||
import android.app.FragmentTransaction;
|
import android.app.FragmentTransaction;
|
||||||
|
import android.database.ContentObserver;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
|
import android.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.preference.Preference.OnPreferenceClickListener;
|
import android.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.preference.PreferenceFragment;
|
import android.preference.PreferenceFragment;
|
||||||
|
import android.preference.SwitchPreference;
|
||||||
|
import android.provider.Settings.System;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
@@ -27,6 +35,11 @@ import com.android.systemui.R;
|
|||||||
public class TunerFragment extends PreferenceFragment {
|
public class TunerFragment extends PreferenceFragment {
|
||||||
|
|
||||||
private static final String KEY_QS_TUNER = "qs_tuner";
|
private static final String KEY_QS_TUNER = "qs_tuner";
|
||||||
|
private static final String KEY_BATTERY_PCT = "battery_pct";
|
||||||
|
|
||||||
|
private final SettingObserver mSettingObserver = new SettingObserver();
|
||||||
|
|
||||||
|
private SwitchPreference mBatteryPct;
|
||||||
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -45,6 +58,21 @@ public class TunerFragment extends PreferenceFragment {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
mBatteryPct = (SwitchPreference) findPreference(KEY_BATTERY_PCT);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
updateBatteryPct();
|
||||||
|
getContext().getContentResolver().registerContentObserver(
|
||||||
|
System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
super.onPause();
|
||||||
|
getContext().getContentResolver().unregisterContentObserver(mSettingObserver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -57,4 +85,31 @@ public class TunerFragment extends PreferenceFragment {
|
|||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateBatteryPct() {
|
||||||
|
mBatteryPct.setOnPreferenceChangeListener(null);
|
||||||
|
mBatteryPct.setChecked(System.getInt(getContext().getContentResolver(),
|
||||||
|
SHOW_PERCENT_SETTING, 0) != 0);
|
||||||
|
mBatteryPct.setOnPreferenceChangeListener(mBatteryPctChange);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final class SettingObserver extends ContentObserver {
|
||||||
|
public SettingObserver() {
|
||||||
|
super(new Handler());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri, int userId) {
|
||||||
|
super.onChange(selfChange, uri, userId);
|
||||||
|
updateBatteryPct();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final OnPreferenceChangeListener mBatteryPctChange = new OnPreferenceChangeListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
final boolean v = (Boolean) newValue;
|
||||||
|
System.putInt(getContext().getContentResolver(), SHOW_PERCENT_SETTING, v ? 1 : 0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user