Update Summary for Battery Optimization

Bug: 37221696
Test: RunSettingsRoboTests
Change-Id: I7dc24879521a1375e0ad4b4b73e9a40633b93c3f
This commit is contained in:
jackqdyulei
2017-04-10 17:55:43 -07:00
parent 66871d8531
commit 781c3000d1
4 changed files with 83 additions and 10 deletions

View File

@@ -17,6 +17,7 @@ package com.android.settings.fuelgauge;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.text.TextUtils;
@@ -33,14 +34,29 @@ public class BatteryOptimizationPreferenceController extends PreferenceControlle
private static final String KEY_BACKGROUND_ACTIVITY = "battery_optimization";
private PowerWhitelistBackend mBackend;
private Fragment mFragment;
private SettingsActivity mSettingsActivity;
private String mPackageName;
public BatteryOptimizationPreferenceController(SettingsActivity settingsActivity,
Fragment fragment) {
Fragment fragment, String packageName) {
super(settingsActivity);
mFragment = fragment;
mSettingsActivity = settingsActivity;
mPackageName = packageName;
mBackend = PowerWhitelistBackend.getInstance();
}
@VisibleForTesting
BatteryOptimizationPreferenceController(SettingsActivity settingsActivity,
Fragment fragment, String packageName, PowerWhitelistBackend backend) {
super(settingsActivity);
mFragment = fragment;
mSettingsActivity = settingsActivity;
mPackageName = packageName;
mBackend = backend;
}
@Override
@@ -48,6 +64,12 @@ public class BatteryOptimizationPreferenceController extends PreferenceControlle
return true;
}
@Override
public void updateState(Preference preference) {
final boolean isWhitelisted = mBackend.isWhitelisted(mPackageName);
preference.setSummary(isWhitelisted ? R.string.high_power_on : R.string.high_power_off);
}
@Override
public String getPreferenceKey() {
return KEY_BACKGROUND_ACTIVITY;
@@ -66,4 +88,5 @@ public class BatteryOptimizationPreferenceController extends PreferenceControlle
R.string.high_power_apps, null, null, 0);
return true;
}
}