Update battery health state intent (1/3)
- Update the extra from overheated to longlife Bug: 278192441 Test: atest SystemUITest Change-Id: I92f130350a4f6c4e6c0dc762a924c563526b6434
This commit is contained in:
@@ -16,12 +16,11 @@
|
||||
|
||||
package com.android.settingslib.fuelgauge;
|
||||
|
||||
import static android.os.BatteryManager.BATTERY_HEALTH_OVERHEAT;
|
||||
import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
|
||||
import static android.os.BatteryManager.BATTERY_STATUS_FULL;
|
||||
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
|
||||
import static android.os.BatteryManager.EXTRA_HEALTH;
|
||||
import static android.os.BatteryManager.EXTRA_LEVEL;
|
||||
import static android.os.BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
|
||||
import static android.os.BatteryManager.CHARGING_POLICY_DEFAULT;
|
||||
import static android.os.BatteryManager.EXTRA_CHARGING_STATUS;
|
||||
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_CURRENT;
|
||||
import static android.os.BatteryManager.EXTRA_MAX_CHARGING_VOLTAGE;
|
||||
import static android.os.BatteryManager.EXTRA_PLUGGED;
|
||||
@@ -51,7 +50,7 @@ public class BatteryStatus {
|
||||
public final int status;
|
||||
public final int level;
|
||||
public final int plugged;
|
||||
public final int health;
|
||||
public final int chargingStatus;
|
||||
public final int maxChargingWattage;
|
||||
public final boolean present;
|
||||
public final Optional<Boolean> incompatibleCharger;
|
||||
@@ -62,12 +61,12 @@ public class BatteryStatus {
|
||||
? null : new BatteryStatus(batteryChangedIntent, incompatibleCharger);
|
||||
}
|
||||
|
||||
public BatteryStatus(int status, int level, int plugged, int health,
|
||||
public BatteryStatus(int status, int level, int plugged, int chargingStatus,
|
||||
int maxChargingWattage, boolean present) {
|
||||
this.status = status;
|
||||
this.level = level;
|
||||
this.plugged = plugged;
|
||||
this.health = health;
|
||||
this.chargingStatus = chargingStatus;
|
||||
this.maxChargingWattage = maxChargingWattage;
|
||||
this.present = present;
|
||||
this.incompatibleCharger = Optional.empty();
|
||||
@@ -86,7 +85,8 @@ public class BatteryStatus {
|
||||
status = batteryChangedIntent.getIntExtra(EXTRA_STATUS, BATTERY_STATUS_UNKNOWN);
|
||||
plugged = batteryChangedIntent.getIntExtra(EXTRA_PLUGGED, 0);
|
||||
level = getBatteryLevel(batteryChangedIntent);
|
||||
health = batteryChangedIntent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);
|
||||
chargingStatus = batteryChangedIntent.getIntExtra(EXTRA_CHARGING_STATUS,
|
||||
CHARGING_POLICY_DEFAULT);
|
||||
present = batteryChangedIntent.getBooleanExtra(EXTRA_PRESENT, true);
|
||||
this.incompatibleCharger = incompatibleCharger;
|
||||
|
||||
@@ -143,9 +143,9 @@ public class BatteryStatus {
|
||||
return level < LOW_BATTERY_THRESHOLD;
|
||||
}
|
||||
|
||||
/** Whether battery is overheated. */
|
||||
public boolean isOverheated() {
|
||||
return health == BATTERY_HEALTH_OVERHEAT;
|
||||
/** Whether battery defender is enabled. */
|
||||
public boolean isBatteryDefender() {
|
||||
return chargingStatus == CHARGING_POLICY_ADAPTIVE_LONGLIFE;
|
||||
}
|
||||
|
||||
/** Return current chargin speed is fast, slow or normal. */
|
||||
@@ -163,7 +163,8 @@ public class BatteryStatus {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "BatteryStatus{status=" + status + ",level=" + level + ",plugged=" + plugged
|
||||
+ ",health=" + health + ",maxChargingWattage=" + maxChargingWattage + "}";
|
||||
+ ",chargingStatus=" + chargingStatus + ",maxChargingWattage=" + maxChargingWattage
|
||||
+ "}";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,6 +29,7 @@ import static android.hardware.biometrics.BiometricConstants.LockoutMode;
|
||||
import static android.hardware.biometrics.BiometricSourceType.FACE;
|
||||
import static android.hardware.biometrics.BiometricSourceType.FINGERPRINT;
|
||||
import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;
|
||||
import static android.os.BatteryManager.CHARGING_POLICY_DEFAULT;
|
||||
import static android.os.PowerManager.WAKE_REASON_UNKNOWN;
|
||||
|
||||
import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_BOOT;
|
||||
@@ -2440,7 +2441,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
}
|
||||
|
||||
// Take a guess at initial SIM state, battery status and PLMN until we get an update
|
||||
mBatteryStatus = new BatteryStatus(BATTERY_STATUS_UNKNOWN, 100, 0, 0, 0, true);
|
||||
mBatteryStatus = new BatteryStatus(BATTERY_STATUS_UNKNOWN, /* level= */ 100, /* plugged= */
|
||||
0, CHARGING_POLICY_DEFAULT, /* maxChargingWattage= */0, /* present= */true);
|
||||
|
||||
// Watch for interesting updates
|
||||
final IntentFilter filter = new IntentFilter();
|
||||
@@ -3856,8 +3858,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
return true;
|
||||
}
|
||||
|
||||
// change in battery overheat
|
||||
return current.health != old.health;
|
||||
// change in charging status
|
||||
return current.chargingStatus != old.chargingStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -78,7 +78,7 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
|
||||
private boolean mShowPercentAvailable;
|
||||
private String mEstimateText = null;
|
||||
private boolean mCharging;
|
||||
private boolean mIsOverheated;
|
||||
private boolean mIsBatteryDefender;
|
||||
private boolean mDisplayShieldEnabled;
|
||||
// Error state where we know nothing about the current battery state
|
||||
private boolean mBatteryStateUnknown;
|
||||
@@ -213,9 +213,9 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
|
||||
mDrawable.setPowerSaveEnabled(isPowerSave);
|
||||
}
|
||||
|
||||
void onIsOverheatedChanged(boolean isOverheated) {
|
||||
boolean valueChanged = mIsOverheated != isOverheated;
|
||||
mIsOverheated = isOverheated;
|
||||
void onIsBatteryDefenderChanged(boolean isBatteryDefender) {
|
||||
boolean valueChanged = mIsBatteryDefender != isBatteryDefender;
|
||||
mIsBatteryDefender = isBatteryDefender;
|
||||
if (valueChanged) {
|
||||
updateContentDescription();
|
||||
// The battery drawable is a different size depending on whether it's currently
|
||||
@@ -308,12 +308,12 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
|
||||
contentDescription = context.getString(R.string.accessibility_battery_unknown);
|
||||
} else if (mShowPercentMode == MODE_ESTIMATE && !TextUtils.isEmpty(mEstimateText)) {
|
||||
contentDescription = context.getString(
|
||||
mIsOverheated
|
||||
mIsBatteryDefender
|
||||
? R.string.accessibility_battery_level_charging_paused_with_estimate
|
||||
: R.string.accessibility_battery_level_with_estimate,
|
||||
mLevel,
|
||||
mEstimateText);
|
||||
} else if (mIsOverheated) {
|
||||
} else if (mIsBatteryDefender) {
|
||||
contentDescription =
|
||||
context.getString(R.string.accessibility_battery_level_charging_paused, mLevel);
|
||||
} else if (mCharging) {
|
||||
@@ -399,9 +399,7 @@ public class BatteryMeterView extends LinearLayout implements DarkReceiver {
|
||||
float mainBatteryWidth =
|
||||
res.getDimensionPixelSize(R.dimen.status_bar_battery_icon_width) * iconScaleFactor;
|
||||
|
||||
// If the battery is marked as overheated, we should display a shield indicating that the
|
||||
// battery is being "defended".
|
||||
boolean displayShield = mDisplayShieldEnabled && mIsOverheated;
|
||||
boolean displayShield = mDisplayShieldEnabled && mIsBatteryDefender;
|
||||
float fullBatteryIconHeight =
|
||||
BatterySpecs.getFullBatteryHeight(mainBatteryHeight, displayShield);
|
||||
float fullBatteryIconWidth =
|
||||
|
||||
@@ -91,8 +91,8 @@ public class BatteryMeterViewController extends ViewController<BatteryMeterView>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onIsOverheatedChanged(boolean isOverheated) {
|
||||
mView.onIsOverheatedChanged(isOverheated);
|
||||
public void onIsBatteryDefenderChanged(boolean isBatteryDefender) {
|
||||
mView.onIsBatteryDefenderChanged(isBatteryDefender);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@ public class KeyguardIndicationController {
|
||||
private boolean mPowerPluggedInDock;
|
||||
|
||||
private boolean mPowerCharged;
|
||||
private boolean mBatteryOverheated;
|
||||
private boolean mBatteryDefender;
|
||||
private boolean mEnableBatteryDefender;
|
||||
private boolean mIncompatibleCharger;
|
||||
private int mChargingSpeed;
|
||||
@@ -921,7 +921,7 @@ public class KeyguardIndicationController {
|
||||
*/
|
||||
protected String computePowerIndication() {
|
||||
int chargingId;
|
||||
if (mBatteryOverheated) {
|
||||
if (mBatteryDefender) {
|
||||
chargingId = R.string.keyguard_plugged_in_charging_limited;
|
||||
String percentage = NumberFormat.getPercentInstance().format(mBatteryLevel / 100f);
|
||||
return mContext.getResources().getString(chargingId, percentage);
|
||||
@@ -1093,9 +1093,9 @@ public class KeyguardIndicationController {
|
||||
mChargingSpeed = status.getChargingSpeed(mContext);
|
||||
mBatteryLevel = status.level;
|
||||
mBatteryPresent = status.present;
|
||||
mBatteryOverheated = status.isOverheated();
|
||||
mBatteryDefender = status.isBatteryDefender();
|
||||
// when the battery is overheated, device doesn't charge so only guard on pluggedIn:
|
||||
mEnableBatteryDefender = mBatteryOverheated && status.isPluggedIn();
|
||||
mEnableBatteryDefender = mBatteryDefender && status.isPluggedIn();
|
||||
mIncompatibleCharger = status.incompatibleCharger.orElse(false);
|
||||
try {
|
||||
mChargingTimeRemaining = mPowerPluggedIn
|
||||
@@ -1106,7 +1106,7 @@ public class KeyguardIndicationController {
|
||||
}
|
||||
|
||||
mKeyguardLogger.logRefreshBatteryInfo(isChargingOrFull, mPowerPluggedIn, mBatteryLevel,
|
||||
mBatteryOverheated);
|
||||
mBatteryDefender);
|
||||
updateDeviceEntryIndication(!wasPluggedIn && mPowerPluggedInWired);
|
||||
}
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ public interface BatteryController extends DemoMode,
|
||||
default void onWirelessChargingChanged(boolean isWirlessCharging) {
|
||||
}
|
||||
|
||||
default void onIsOverheatedChanged(boolean isOverheated) {
|
||||
default void onIsBatteryDefenderChanged(boolean isBatteryDefender) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
|
||||
package com.android.systemui.statusbar.policy;
|
||||
|
||||
import static android.os.BatteryManager.BATTERY_HEALTH_OVERHEAT;
|
||||
import static android.os.BatteryManager.BATTERY_HEALTH_UNKNOWN;
|
||||
import static android.os.BatteryManager.EXTRA_HEALTH;
|
||||
import static android.os.BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
|
||||
import static android.os.BatteryManager.CHARGING_POLICY_DEFAULT;
|
||||
import static android.os.BatteryManager.EXTRA_CHARGING_STATUS;
|
||||
import static android.os.BatteryManager.EXTRA_PRESENT;
|
||||
|
||||
import static com.android.settingslib.fuelgauge.BatterySaverLogging.SAVER_ENABLED_QS;
|
||||
@@ -94,7 +94,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
protected boolean mPowerSave;
|
||||
private boolean mAodPowerSave;
|
||||
private boolean mWirelessCharging;
|
||||
private boolean mIsOverheated = false;
|
||||
private boolean mIsBatteryDefender = false;
|
||||
private boolean mTestMode = false;
|
||||
@VisibleForTesting
|
||||
boolean mHasReceivedBattery = false;
|
||||
@@ -163,7 +163,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
pw.print(" mPluggedIn="); pw.println(mPluggedIn);
|
||||
pw.print(" mCharging="); pw.println(mCharging);
|
||||
pw.print(" mCharged="); pw.println(mCharged);
|
||||
pw.print(" mIsOverheated="); pw.println(mIsOverheated);
|
||||
pw.print(" mIsBatteryDefender="); pw.println(mIsBatteryDefender);
|
||||
pw.print(" mPowerSave="); pw.println(mPowerSave);
|
||||
pw.print(" mStateUnknown="); pw.println(mStateUnknown);
|
||||
}
|
||||
@@ -197,7 +197,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
cb.onPowerSaveChanged(mPowerSave);
|
||||
cb.onBatteryUnknownStateChanged(mStateUnknown);
|
||||
cb.onWirelessChargingChanged(mWirelessCharging);
|
||||
cb.onIsOverheatedChanged(mIsOverheated);
|
||||
cb.onIsBatteryDefenderChanged(mIsBatteryDefender);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -236,11 +236,11 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
fireBatteryUnknownStateChanged();
|
||||
}
|
||||
|
||||
int batteryHealth = intent.getIntExtra(EXTRA_HEALTH, BATTERY_HEALTH_UNKNOWN);
|
||||
boolean isOverheated = batteryHealth == BATTERY_HEALTH_OVERHEAT;
|
||||
if (isOverheated != mIsOverheated) {
|
||||
mIsOverheated = isOverheated;
|
||||
fireIsOverheatedChanged();
|
||||
int chargingStatus = intent.getIntExtra(EXTRA_CHARGING_STATUS, CHARGING_POLICY_DEFAULT);
|
||||
boolean isBatteryDefender = chargingStatus == CHARGING_POLICY_ADAPTIVE_LONGLIFE;
|
||||
if (isBatteryDefender != mIsBatteryDefender) {
|
||||
mIsBatteryDefender = isBatteryDefender;
|
||||
fireIsBatteryDefenderChanged();
|
||||
}
|
||||
|
||||
fireBatteryLevelChanged();
|
||||
@@ -313,8 +313,8 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
return mPluggedChargingSource == BatteryManager.BATTERY_PLUGGED_WIRELESS;
|
||||
}
|
||||
|
||||
public boolean isOverheated() {
|
||||
return mIsOverheated;
|
||||
public boolean isBatteryDefender() {
|
||||
return mIsBatteryDefender;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -428,11 +428,11 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
}
|
||||
}
|
||||
|
||||
private void fireIsOverheatedChanged() {
|
||||
private void fireIsBatteryDefenderChanged() {
|
||||
synchronized (mChangeCallbacks) {
|
||||
final int n = mChangeCallbacks.size();
|
||||
for (int i = 0; i < n; i++) {
|
||||
mChangeCallbacks.get(i).onIsOverheatedChanged(mIsOverheated);
|
||||
mChangeCallbacks.get(i).onIsBatteryDefenderChanged(mIsBatteryDefender);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -447,7 +447,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
String plugged = args.getString("plugged");
|
||||
String powerSave = args.getString("powersave");
|
||||
String present = args.getString("present");
|
||||
String overheated = args.getString("overheated");
|
||||
String defender = args.getString("defender");
|
||||
if (level != null) {
|
||||
mLevel = Math.min(Math.max(Integer.parseInt(level), 0), 100);
|
||||
}
|
||||
@@ -462,9 +462,9 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
||||
mStateUnknown = !present.equals("true");
|
||||
fireBatteryUnknownStateChanged();
|
||||
}
|
||||
if (overheated != null) {
|
||||
mIsOverheated = overheated.equals("true");
|
||||
fireIsOverheatedChanged();
|
||||
if (defender != null) {
|
||||
mIsBatteryDefender = defender.equals("true");
|
||||
fireIsBatteryDefenderChanged();
|
||||
}
|
||||
fireBatteryLevelChanged();
|
||||
}
|
||||
|
||||
@@ -3088,7 +3088,8 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
|
||||
|
||||
private Intent getBatteryIntent() {
|
||||
return new Intent(Intent.ACTION_BATTERY_CHANGED).putExtra(
|
||||
BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
|
||||
BatteryManager.EXTRA_CHARGING_STATUS,
|
||||
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
|
||||
}
|
||||
|
||||
private class TestableKeyguardUpdateMonitor extends KeyguardUpdateMonitor {
|
||||
|
||||
@@ -85,9 +85,9 @@ class BatteryMeterViewTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun contentDescription_estimateAndOverheated() {
|
||||
fun contentDescription_estimateAndBatteryDefender() {
|
||||
mBatteryMeterView.onBatteryLevelChanged(17, false)
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
mBatteryMeterView.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE)
|
||||
mBatteryMeterView.setBatteryEstimateFetcher(Fetcher())
|
||||
|
||||
@@ -103,9 +103,9 @@ class BatteryMeterViewTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun contentDescription_overheated() {
|
||||
fun contentDescription_batteryDefender() {
|
||||
mBatteryMeterView.onBatteryLevelChanged(90, false)
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
|
||||
assertThat(mBatteryMeterView.contentDescription).isEqualTo(
|
||||
context.getString(R.string.accessibility_battery_level_charging_paused, 90)
|
||||
@@ -155,14 +155,14 @@ class BatteryMeterViewTest : SysuiTestCase() {
|
||||
|
||||
@Test
|
||||
fun contentDescription_manyUpdates_alwaysUpdated() {
|
||||
// Overheated
|
||||
// BatteryDefender
|
||||
mBatteryMeterView.onBatteryLevelChanged(90, false)
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
assertThat(mBatteryMeterView.contentDescription).isEqualTo(
|
||||
context.getString(R.string.accessibility_battery_level_charging_paused, 90)
|
||||
)
|
||||
|
||||
// Overheated & estimate
|
||||
// BatteryDefender & estimate
|
||||
mBatteryMeterView.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE)
|
||||
mBatteryMeterView.setBatteryEstimateFetcher(Fetcher())
|
||||
mBatteryMeterView.updatePercentText()
|
||||
@@ -175,7 +175,7 @@ class BatteryMeterViewTest : SysuiTestCase() {
|
||||
)
|
||||
|
||||
// Just estimate
|
||||
mBatteryMeterView.onIsOverheatedChanged(false)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(false)
|
||||
assertThat(mBatteryMeterView.contentDescription).isEqualTo(
|
||||
context.getString(
|
||||
R.string.accessibility_battery_level_with_estimate,
|
||||
@@ -198,35 +198,35 @@ class BatteryMeterViewTest : SysuiTestCase() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isOverheatedChanged_true_drawableGetsTrue() {
|
||||
fun isBatteryDefenderChanged_true_drawableGetsTrue() {
|
||||
mBatteryMeterView.setDisplayShieldEnabled(true)
|
||||
val drawable = getBatteryDrawable()
|
||||
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
|
||||
assertThat(drawable.displayShield).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isOverheatedChanged_false_drawableGetsFalse() {
|
||||
fun isBatteryDefenderChanged_false_drawableGetsFalse() {
|
||||
mBatteryMeterView.setDisplayShieldEnabled(true)
|
||||
val drawable = getBatteryDrawable()
|
||||
|
||||
// Start as true
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
|
||||
// Update to false
|
||||
mBatteryMeterView.onIsOverheatedChanged(false)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(false)
|
||||
|
||||
assertThat(drawable.displayShield).isFalse()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun isOverheatedChanged_true_featureflagOff_drawableGetsFalse() {
|
||||
fun isBatteryDefenderChanged_true_featureflagOff_drawableGetsFalse() {
|
||||
mBatteryMeterView.setDisplayShieldEnabled(false)
|
||||
val drawable = getBatteryDrawable()
|
||||
|
||||
mBatteryMeterView.onIsOverheatedChanged(true)
|
||||
mBatteryMeterView.onIsBatteryDefenderChanged(true)
|
||||
|
||||
assertThat(drawable.displayShield).isFalse()
|
||||
}
|
||||
|
||||
@@ -1066,11 +1066,11 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRefreshBatteryInfo_chargingWithOverheat_presentChargingLimited() {
|
||||
public void onRefreshBatteryInfo_chargingWithLongLife_presentChargingLimited() {
|
||||
createController();
|
||||
BatteryStatus status = new BatteryStatus(BatteryManager.BATTERY_STATUS_CHARGING,
|
||||
80 /* level */, BatteryManager.BATTERY_PLUGGED_AC,
|
||||
BatteryManager.BATTERY_HEALTH_OVERHEAT, 0 /* maxChargingWattage */,
|
||||
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE, 0 /* maxChargingWattage */,
|
||||
true /* present */);
|
||||
|
||||
mController.getKeyguardCallback().onRefreshBatteryInfo(status);
|
||||
@@ -1084,11 +1084,11 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRefreshBatteryInfo_fullChargedWithOverheat_presentChargingLimited() {
|
||||
public void onRefreshBatteryInfo_fullChargedWithLongLife_presentChargingLimited() {
|
||||
createController();
|
||||
BatteryStatus status = new BatteryStatus(BatteryManager.BATTERY_STATUS_CHARGING,
|
||||
100 /* level */, BatteryManager.BATTERY_PLUGGED_AC,
|
||||
BatteryManager.BATTERY_HEALTH_OVERHEAT, 0 /* maxChargingWattage */,
|
||||
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE, 0 /* maxChargingWattage */,
|
||||
true /* present */);
|
||||
|
||||
mController.getKeyguardCallback().onRefreshBatteryInfo(status);
|
||||
@@ -1102,11 +1102,11 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRefreshBatteryInfo_fullChargedWithoutOverheat_presentCharged() {
|
||||
public void onRefreshBatteryInfo_fullChargedWithoutLongLife_presentCharged() {
|
||||
createController();
|
||||
BatteryStatus status = new BatteryStatus(BatteryManager.BATTERY_STATUS_CHARGING,
|
||||
100 /* level */, BatteryManager.BATTERY_PLUGGED_AC,
|
||||
BatteryManager.BATTERY_HEALTH_GOOD, 0 /* maxChargingWattage */,
|
||||
BatteryManager.CHARGING_POLICY_DEFAULT, 0 /* maxChargingWattage */,
|
||||
true /* present */);
|
||||
|
||||
mController.getKeyguardCallback().onRefreshBatteryInfo(status);
|
||||
@@ -1118,11 +1118,11 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onRefreshBatteryInfo_dozing_dischargingWithOverheat_presentBatteryPercentage() {
|
||||
public void onRefreshBatteryInfo_dozing_dischargingWithLongLife_presentBatteryPercentage() {
|
||||
createController();
|
||||
mController.setVisible(true);
|
||||
BatteryStatus status = new BatteryStatus(BatteryManager.BATTERY_STATUS_DISCHARGING,
|
||||
90 /* level */, 0 /* plugged */, BatteryManager.BATTERY_HEALTH_OVERHEAT,
|
||||
90 /* level */, 0 /* plugged */, BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE,
|
||||
0 /* maxChargingWattage */, true /* present */);
|
||||
|
||||
mController.getKeyguardCallback().onRefreshBatteryInfo(status);
|
||||
|
||||
@@ -226,31 +226,33 @@ public class BatteryControllerTest extends SysuiTestCase {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batteryStateChanged_healthNotOverheated_outputsFalse() {
|
||||
public void batteryStateChanged_chargingStatusNotLongLife_outputsFalse() {
|
||||
Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
||||
intent.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_GOOD);
|
||||
intent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
|
||||
BatteryManager.CHARGING_POLICY_DEFAULT);
|
||||
|
||||
mBatteryController.onReceive(getContext(), intent);
|
||||
|
||||
Assert.assertFalse(mBatteryController.isOverheated());
|
||||
Assert.assertFalse(mBatteryController.isBatteryDefender());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batteryStateChanged_healthOverheated_outputsTrue() {
|
||||
public void batteryStateChanged_chargingStatusLongLife_outputsTrue() {
|
||||
Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
||||
intent.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
|
||||
intent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
|
||||
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
|
||||
|
||||
mBatteryController.onReceive(getContext(), intent);
|
||||
|
||||
Assert.assertTrue(mBatteryController.isOverheated());
|
||||
Assert.assertTrue(mBatteryController.isBatteryDefender());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void batteryStateChanged_noHealthGiven_outputsFalse() {
|
||||
public void batteryStateChanged_noChargingStatusGiven_outputsFalse() {
|
||||
Intent intent = new Intent(Intent.ACTION_BATTERY_CHANGED);
|
||||
|
||||
mBatteryController.onReceive(getContext(), intent);
|
||||
|
||||
Assert.assertFalse(mBatteryController.isOverheated());
|
||||
Assert.assertFalse(mBatteryController.isBatteryDefender());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user