Loading src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +95 −73 Original line number Diff line number Diff line Loading @@ -61,13 +61,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * Power usage detail fragment for each app, this fragment contains * * 1. Detail battery usage information for app(i.e. usage time, usage amount) * Power usage detail fragment for each app, this fragment contains <br> * <br> * 1. Detail battery usage information for app(i.e. usage time, usage amount) <br> * 2. Battery related controls for app(i.e uninstall, force stop) */ public class AdvancedPowerUsageDetail extends DashboardFragment implements ButtonActionDialogFragment.AppButtonsDialogListener, public class AdvancedPowerUsageDetail extends DashboardFragment implements ButtonActionDialogFragment.AppButtonsDialogListener, Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { public static final String TAG = "AdvancedPowerDetail"; Loading Loading @@ -96,23 +96,17 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements private AppButtonsPreferenceController mAppButtonsPreferenceController; private PowerUsageTimeController mPowerUsageTimeController; @VisibleForTesting LayoutPreference mHeaderPreference; @VisibleForTesting ApplicationsState mState; @VisibleForTesting ApplicationsState.AppEntry mAppEntry; @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils; @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference; @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode @VisibleForTesting LayoutPreference mHeaderPreference; @VisibleForTesting ApplicationsState mState; @VisibleForTesting ApplicationsState.AppEntry mAppEntry; @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils; @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference; @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN; @VisibleForTesting BackupManager mBackupManager; @VisibleForTesting StringBuilder mLogStringBuilder; @VisibleForTesting BackupManager mBackupManager; @VisibleForTesting StringBuilder mLogStringBuilder; // A wrapper class to carry LaunchBatteryDetailPage required arguments. private static final class LaunchBatteryDetailPageArgs { Loading @@ -134,9 +128,14 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements /** Launches battery details page for an individual battery consumer fragment. */ public static void startBatteryDetailPage( Context context, int sourceMetricsCategory, BatteryDiffEntry diffEntry, String usagePercent, String slotInformation, boolean showTimeInformation, String anomalyHintPrefKey, String anomalyHintText) { Context context, int sourceMetricsCategory, BatteryDiffEntry diffEntry, String usagePercent, String slotInformation, boolean showTimeInformation, String anomalyHintPrefKey, String anomalyHintText) { final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs(); // configure the launch argument. launchArgs.mUsagePercent = usagePercent; Loading @@ -159,8 +158,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } /** Launches battery details page for an individual battery consumer. */ public static void startBatteryDetailPage(Activity caller, InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) { public static void startBatteryDetailPage( Activity caller, InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) { final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs(); // configure the launch argument. launchArgs.mUsagePercent = usagePercent; Loading Loading @@ -197,7 +199,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements args.putBoolean(EXTRA_SHOW_TIME_INFO, launchArgs.mShowTimeInformation); args.putString(EXTRA_ANOMALY_HINT_PREF_KEY, launchArgs.mAnomalyHintPrefKey); args.putString(EXTRA_ANOMALY_HINT_TEXT, launchArgs.mAnomalyHintText); final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser() final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser() : UserHandle.getUserId(launchArgs.mUid); new SubSettingLauncher(context) Loading @@ -209,11 +213,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements .launch(); } /** * Start packageName's battery detail page. */ /** Start packageName's battery detail page. */ public static void startBatteryDetailPage( Activity caller, Instrumentable instrumentable, String packageName, Activity caller, Instrumentable instrumentable, String packageName, UserHandle userHandle) { final Bundle args = new Bundle(3); final PackageManager packageManager = caller.getPackageManager(); Loading Loading @@ -261,10 +265,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements initHeader(); mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); initFooter(); mExecutor.execute(() -> { final String packageName = BatteryUtils .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() mExecutor.execute( () -> { final String packageName = BatteryUtils.getLoggingPackageName( getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory() .getMetricsFeatureProvider() .action( getContext(), SettingsEnums.OPEN_APP_BATTERY_USAGE, Loading @@ -282,7 +289,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode); logMetricCategory(currentOptimizeMode); mExecutor.execute(() -> { mExecutor.execute( () -> { BatteryOptimizeLogUtils.writeLog( getContext().getApplicationContext(), Action.LEAVE, Loading @@ -296,8 +304,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements @VisibleForTesting void notifyBackupManager() { if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) { final BackupManager backupManager = mBackupManager != null ? mBackupManager : new BackupManager(getContext()); final BackupManager backupManager = mBackupManager != null ? mBackupManager : new BackupManager(getContext()); backupManager.dataChanged(); } } Loading @@ -307,9 +315,10 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header); final Activity context = getActivity(); final Bundle bundle = getArguments(); EntityHeaderController controller = EntityHeaderController .newInstance(context, this, appSnippet) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController controller = EntityHeaderController.newInstance(context, this, appSnippet) .setButtonActions( EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE); if (mAppEntry == null) { Loading @@ -334,8 +343,12 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME); final String anomalyHintPrefKey = bundle.getString(EXTRA_ANOMALY_HINT_PREF_KEY); final String anomalyHintText = bundle.getString(EXTRA_ANOMALY_HINT_TEXT); mPowerUsageTimeController.handleScreenTimeUpdated(slotTime, screenOnTimeInMs, backgroundTimeMs, anomalyHintPrefKey, anomalyHintText); mPowerUsageTimeController.handleScreenTimeUpdated( slotTime, screenOnTimeInMs, backgroundTimeMs, anomalyHintPrefKey, anomalyHintText); } controller.done(true /* rebindActions */); } Loading Loading @@ -387,9 +400,15 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final int uid = bundle.getInt(EXTRA_UID, 0); final String packageName = bundle.getString(EXTRA_PACKAGE_NAME); mAppButtonsPreferenceController = new AppButtonsPreferenceController( (SettingsActivity) getActivity(), this, getSettingsLifecycle(), packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN); mAppButtonsPreferenceController = new AppButtonsPreferenceController( (SettingsActivity) getActivity(), this, getSettingsLifecycle(), packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN); if (bundle.getBoolean(EXTRA_SHOW_TIME_INFO, false)) { mPowerUsageTimeController = new PowerUsageTimeController(getContext()); controllers.add(mPowerUsageTimeController); Loading Loading @@ -461,10 +480,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements return; } int finalMetricCategory = metricCategory; mExecutor.execute(() -> { String packageName = BatteryUtils .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() mExecutor.execute( () -> { String packageName = BatteryUtils.getLoggingPackageName( getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory() .getMetricsFeatureProvider() .action( /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE, /* action */ finalMetricCategory, Loading src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java +2 −5 Original line number Diff line number Diff line Loading @@ -29,14 +29,11 @@ import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.android.settings.core.SubSettingLauncher; import com.android.settings.fuelgauge.AdvancedPowerUsageDetail; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.SubSettingLauncher; /** * Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */ /** Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */ public class AdvancedPowerUsageDetailActivity extends AppCompatActivity { private static final String TAG = "AdvancedPowerDetailActivity"; Loading src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ public class AllowBackgroundPreferenceController extends AbstractPreferenceContr public void updateState(Preference preference) { preference.setEnabled(mBatteryOptimizeUtils.isOptimizeModeMutable()); final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode() final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode() != BatteryOptimizeUtils.MODE_RESTRICTED; setChecked(preference, isAllowBackground); } Loading src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java +11 −8 Original line number Diff line number Diff line Loading @@ -24,11 +24,9 @@ import androidx.preference.TwoStatePreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; /** * Controller to change and update the auto restriction toggle */ public class AutoRestrictionPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { /** Controller to change and update the auto restriction toggle */ public class AutoRestrictionPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private static final String KEY_SMART_BATTERY = "auto_restriction"; private static final int ON = 1; private static final int OFF = 0; Loading @@ -50,15 +48,20 @@ public class AutoRestrictionPreferenceController extends BasePreferenceControlle @Override public void updateState(Preference preference) { super.updateState(preference); final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; final boolean smartBatteryOn = Settings.Global.getInt( mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; ((TwoStatePreference) preference).setChecked(smartBatteryOn); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean smartBatteryOn = (Boolean) newValue; Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt( mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, smartBatteryOn ? ON : OFF); return true; Loading src/com/android/settings/fuelgauge/BatteryActiveView.java +4 −2 Original line number Diff line number Diff line Loading @@ -63,13 +63,15 @@ public class BatteryActiveView extends View { return; } mPaint.setColor(color); canvas.drawRect(start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint); canvas.drawRect( start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint); } public interface BatteryActiveProvider { boolean hasData(); long getPeriod(); SparseIntArray getColorArray(); } } Loading
src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +95 −73 Original line number Diff line number Diff line Loading @@ -61,13 +61,13 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * Power usage detail fragment for each app, this fragment contains * * 1. Detail battery usage information for app(i.e. usage time, usage amount) * Power usage detail fragment for each app, this fragment contains <br> * <br> * 1. Detail battery usage information for app(i.e. usage time, usage amount) <br> * 2. Battery related controls for app(i.e uninstall, force stop) */ public class AdvancedPowerUsageDetail extends DashboardFragment implements ButtonActionDialogFragment.AppButtonsDialogListener, public class AdvancedPowerUsageDetail extends DashboardFragment implements ButtonActionDialogFragment.AppButtonsDialogListener, Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { public static final String TAG = "AdvancedPowerDetail"; Loading Loading @@ -96,23 +96,17 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements private AppButtonsPreferenceController mAppButtonsPreferenceController; private PowerUsageTimeController mPowerUsageTimeController; @VisibleForTesting LayoutPreference mHeaderPreference; @VisibleForTesting ApplicationsState mState; @VisibleForTesting ApplicationsState.AppEntry mAppEntry; @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils; @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference; @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode @VisibleForTesting LayoutPreference mHeaderPreference; @VisibleForTesting ApplicationsState mState; @VisibleForTesting ApplicationsState.AppEntry mAppEntry; @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils; @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference; @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN; @VisibleForTesting BackupManager mBackupManager; @VisibleForTesting StringBuilder mLogStringBuilder; @VisibleForTesting BackupManager mBackupManager; @VisibleForTesting StringBuilder mLogStringBuilder; // A wrapper class to carry LaunchBatteryDetailPage required arguments. private static final class LaunchBatteryDetailPageArgs { Loading @@ -134,9 +128,14 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements /** Launches battery details page for an individual battery consumer fragment. */ public static void startBatteryDetailPage( Context context, int sourceMetricsCategory, BatteryDiffEntry diffEntry, String usagePercent, String slotInformation, boolean showTimeInformation, String anomalyHintPrefKey, String anomalyHintText) { Context context, int sourceMetricsCategory, BatteryDiffEntry diffEntry, String usagePercent, String slotInformation, boolean showTimeInformation, String anomalyHintPrefKey, String anomalyHintText) { final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs(); // configure the launch argument. launchArgs.mUsagePercent = usagePercent; Loading @@ -159,8 +158,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements } /** Launches battery details page for an individual battery consumer. */ public static void startBatteryDetailPage(Activity caller, InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) { public static void startBatteryDetailPage( Activity caller, InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) { final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs(); // configure the launch argument. launchArgs.mUsagePercent = usagePercent; Loading Loading @@ -197,7 +199,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements args.putBoolean(EXTRA_SHOW_TIME_INFO, launchArgs.mShowTimeInformation); args.putString(EXTRA_ANOMALY_HINT_PREF_KEY, launchArgs.mAnomalyHintPrefKey); args.putString(EXTRA_ANOMALY_HINT_TEXT, launchArgs.mAnomalyHintText); final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser() final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser() : UserHandle.getUserId(launchArgs.mUid); new SubSettingLauncher(context) Loading @@ -209,11 +213,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements .launch(); } /** * Start packageName's battery detail page. */ /** Start packageName's battery detail page. */ public static void startBatteryDetailPage( Activity caller, Instrumentable instrumentable, String packageName, Activity caller, Instrumentable instrumentable, String packageName, UserHandle userHandle) { final Bundle args = new Bundle(3); final PackageManager packageManager = caller.getPackageManager(); Loading Loading @@ -261,10 +265,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements initHeader(); mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode(); initFooter(); mExecutor.execute(() -> { final String packageName = BatteryUtils .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() mExecutor.execute( () -> { final String packageName = BatteryUtils.getLoggingPackageName( getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory() .getMetricsFeatureProvider() .action( getContext(), SettingsEnums.OPEN_APP_BATTERY_USAGE, Loading @@ -282,7 +289,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode); logMetricCategory(currentOptimizeMode); mExecutor.execute(() -> { mExecutor.execute( () -> { BatteryOptimizeLogUtils.writeLog( getContext().getApplicationContext(), Action.LEAVE, Loading @@ -296,8 +304,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements @VisibleForTesting void notifyBackupManager() { if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) { final BackupManager backupManager = mBackupManager != null ? mBackupManager : new BackupManager(getContext()); final BackupManager backupManager = mBackupManager != null ? mBackupManager : new BackupManager(getContext()); backupManager.dataChanged(); } } Loading @@ -307,9 +315,10 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header); final Activity context = getActivity(); final Bundle bundle = getArguments(); EntityHeaderController controller = EntityHeaderController .newInstance(context, this, appSnippet) .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController controller = EntityHeaderController.newInstance(context, this, appSnippet) .setButtonActions( EntityHeaderController.ActionType.ACTION_NONE, EntityHeaderController.ActionType.ACTION_NONE); if (mAppEntry == null) { Loading @@ -334,8 +343,12 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME); final String anomalyHintPrefKey = bundle.getString(EXTRA_ANOMALY_HINT_PREF_KEY); final String anomalyHintText = bundle.getString(EXTRA_ANOMALY_HINT_TEXT); mPowerUsageTimeController.handleScreenTimeUpdated(slotTime, screenOnTimeInMs, backgroundTimeMs, anomalyHintPrefKey, anomalyHintText); mPowerUsageTimeController.handleScreenTimeUpdated( slotTime, screenOnTimeInMs, backgroundTimeMs, anomalyHintPrefKey, anomalyHintText); } controller.done(true /* rebindActions */); } Loading Loading @@ -387,9 +400,15 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final int uid = bundle.getInt(EXTRA_UID, 0); final String packageName = bundle.getString(EXTRA_PACKAGE_NAME); mAppButtonsPreferenceController = new AppButtonsPreferenceController( (SettingsActivity) getActivity(), this, getSettingsLifecycle(), packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN); mAppButtonsPreferenceController = new AppButtonsPreferenceController( (SettingsActivity) getActivity(), this, getSettingsLifecycle(), packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN); if (bundle.getBoolean(EXTRA_SHOW_TIME_INFO, false)) { mPowerUsageTimeController = new PowerUsageTimeController(getContext()); controllers.add(mPowerUsageTimeController); Loading Loading @@ -461,10 +480,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements return; } int finalMetricCategory = metricCategory; mExecutor.execute(() -> { String packageName = BatteryUtils .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory().getMetricsFeatureProvider() mExecutor.execute( () -> { String packageName = BatteryUtils.getLoggingPackageName( getContext(), mBatteryOptimizeUtils.getPackageName()); FeatureFactory.getFeatureFactory() .getMetricsFeatureProvider() .action( /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE, /* action */ finalMetricCategory, Loading
src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java +2 −5 Original line number Diff line number Diff line Loading @@ -29,14 +29,11 @@ import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.android.settings.core.SubSettingLauncher; import com.android.settings.fuelgauge.AdvancedPowerUsageDetail; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.SubSettingLauncher; /** * Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */ /** Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */ public class AdvancedPowerUsageDetailActivity extends AppCompatActivity { private static final String TAG = "AdvancedPowerDetailActivity"; Loading
src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,8 @@ public class AllowBackgroundPreferenceController extends AbstractPreferenceContr public void updateState(Preference preference) { preference.setEnabled(mBatteryOptimizeUtils.isOptimizeModeMutable()); final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode() final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode() != BatteryOptimizeUtils.MODE_RESTRICTED; setChecked(preference, isAllowBackground); } Loading
src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java +11 −8 Original line number Diff line number Diff line Loading @@ -24,11 +24,9 @@ import androidx.preference.TwoStatePreference; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; /** * Controller to change and update the auto restriction toggle */ public class AutoRestrictionPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { /** Controller to change and update the auto restriction toggle */ public class AutoRestrictionPreferenceController extends BasePreferenceController implements Preference.OnPreferenceChangeListener { private static final String KEY_SMART_BATTERY = "auto_restriction"; private static final int ON = 1; private static final int OFF = 0; Loading @@ -50,15 +48,20 @@ public class AutoRestrictionPreferenceController extends BasePreferenceControlle @Override public void updateState(Preference preference) { super.updateState(preference); final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; final boolean smartBatteryOn = Settings.Global.getInt( mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON; ((TwoStatePreference) preference).setChecked(smartBatteryOn); } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { final boolean smartBatteryOn = (Boolean) newValue; Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.putInt( mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, smartBatteryOn ? ON : OFF); return true; Loading
src/com/android/settings/fuelgauge/BatteryActiveView.java +4 −2 Original line number Diff line number Diff line Loading @@ -63,13 +63,15 @@ public class BatteryActiveView extends View { return; } mPaint.setColor(color); canvas.drawRect(start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint); canvas.drawRect( start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint); } public interface BatteryActiveProvider { boolean hasData(); long getPeriod(); SparseIntArray getColorArray(); } }