Merge "Update battery health state intent (2/3)" into udc-dev am: 83de631175 am: a8830ef203

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22741222

Change-Id: I81572a268d63cda5084ff2e3a031b4757d330cb3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
YK Hung
2023-05-15 03:59:40 +00:00
committed by Automerger Merge Worker
10 changed files with 85 additions and 63 deletions

View File

@@ -69,6 +69,7 @@ public class BatteryBroadcastReceiverTest {
mBatteryBroadcastReceiver.mBatteryLevel = BATTERY_INIT_LEVEL;
mBatteryBroadcastReceiver.mBatteryStatus = BATTERY_INIT_STATUS;
mBatteryBroadcastReceiver.mBatteryHealth = BatteryManager.BATTERY_HEALTH_UNKNOWN;
mBatteryBroadcastReceiver.mChargingStatus = BatteryManager.CHARGING_POLICY_DEFAULT;
mBatteryBroadcastReceiver.setBatteryChangedListener(mBatteryListener);
mChargingIntent = new Intent(Intent.ACTION_BATTERY_CHANGED);
@@ -91,8 +92,8 @@ public class BatteryBroadcastReceiverTest {
@Test
public void onReceive_batteryHealthChanged_dataUpdated() {
mChargingIntent
.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
mChargingIntent.putExtra(
BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
mBatteryBroadcastReceiver.onReceive(mContext, mChargingIntent);
assertThat(mBatteryBroadcastReceiver.mBatteryHealth)
@@ -100,6 +101,17 @@ public class BatteryBroadcastReceiverTest {
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_HEALTH);
}
@Test
public void onReceive_chargingStatusChanged_dataUpdated() {
mChargingIntent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
mBatteryBroadcastReceiver.onReceive(mContext, mChargingIntent);
assertThat(mBatteryBroadcastReceiver.mChargingStatus)
.isEqualTo(BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.CHARGING_STATUS);
}
@Test
public void onReceive_batteryNotPresent_shouldShowHelpMessage() {
mChargingIntent.putExtra(BatteryManager.EXTRA_PRESENT, false);
@@ -131,6 +143,8 @@ public class BatteryBroadcastReceiverTest {
assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(batteryStatus);
assertThat(mBatteryBroadcastReceiver.mBatteryHealth)
.isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN);
assertThat(mBatteryBroadcastReceiver.mChargingStatus)
.isEqualTo(BatteryManager.CHARGING_POLICY_DEFAULT);
verify(mBatteryListener, never()).onBatteryChanged(anyInt());
}
@@ -163,6 +177,8 @@ public class BatteryBroadcastReceiverTest {
Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false));
assertThat(mBatteryBroadcastReceiver.mBatteryHealth)
.isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN);
assertThat(mBatteryBroadcastReceiver.mChargingStatus)
.isEqualTo(BatteryManager.CHARGING_POLICY_DEFAULT);
// 2 times because register will force update the battery
verify(mBatteryListener, times(2)).onBatteryChanged(BatteryUpdateType.MANUAL);
}

View File

@@ -290,8 +290,8 @@ public class BatteryHeaderPreferenceControllerTest {
}
@Test
public void updatePreference_isOverheat_showEmptyText() {
mBatteryInfo.isOverheated = true;
public void updatePreference_isBatteryDefender_showEmptyText() {
mBatteryInfo.isBatteryDefender = true;
mController.updateHeaderPreference(mBatteryInfo);

View File

@@ -214,18 +214,18 @@ public class BatteryInfoTest {
}
@Test
public void testGetBatteryInfo_chargingWithOverheated_updateChargeLabel() {
public void testGetBatteryInfo_chargingWithDefender_updateChargeLabel() {
doReturn(TEST_CHARGE_TIME_REMAINING)
.when(mBatteryUsageStats)
.getChargeTimeRemainingMs();
mChargingBatteryBroadcast
.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
false /* shortString */);
assertThat(info.isOverheated).isTrue();
assertThat(info.isBatteryDefender).isTrue();
assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_PAUSED);
}
@@ -238,7 +238,8 @@ public class BatteryInfoTest {
50 /* level */,
100 /* scale */,
BatteryManager.BATTERY_STATUS_CHARGING)
.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_OVERHEAT);
.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, intent,
mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
@@ -250,8 +251,8 @@ public class BatteryInfoTest {
@Test
public void testGetBatteryInfo_dockDefenderTemporarilyBypassed_updateChargeLabel() {
doReturn(REMAINING_TIME).when(mBatteryUsageStats).getChargeTimeRemainingMs();
mChargingBatteryBroadcast
.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_GOOD);
mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_DEFAULT);
Settings.Global.putInt(mContext.getContentResolver(),
BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 1);
@@ -269,8 +270,8 @@ public class BatteryInfoTest {
@Test
public void testGetBatteryInfo_dockDefenderFutureBypass_updateChargeLabel() {
doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
mChargingBatteryBroadcast
.putExtra(BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_GOOD);
mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
BatteryManager.CHARGING_POLICY_DEFAULT);
BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,

View File

@@ -487,32 +487,32 @@ public class BatteryUtilsTest {
}
@Test
public void testIsBatteryDefenderOn_isOverheatedAndIsCharging_returnTrue() {
mBatteryInfo.isOverheated = true;
public void testIsBatteryDefenderOn_isDefenderAndIsCharging_returnTrue() {
mBatteryInfo.isBatteryDefender = true;
mBatteryInfo.discharging = false;
assertThat(mBatteryUtils.isBatteryDefenderOn(mBatteryInfo)).isTrue();
}
@Test
public void testIsBatteryDefenderOn_isOverheatedAndDischarging_returnFalse() {
mBatteryInfo.isOverheated = true;
public void testIsBatteryDefenderOn_isDefenderAndDischarging_returnFalse() {
mBatteryInfo.isBatteryDefender = true;
mBatteryInfo.discharging = true;
assertThat(mBatteryUtils.isBatteryDefenderOn(mBatteryInfo)).isFalse();
}
@Test
public void testIsBatteryDefenderOn_notOverheatedAndDischarging_returnFalse() {
mBatteryInfo.isOverheated = false;
public void testIsBatteryDefenderOn_notDefenderAndDischarging_returnFalse() {
mBatteryInfo.isBatteryDefender = false;
mBatteryInfo.discharging = true;
assertThat(mBatteryUtils.isBatteryDefenderOn(mBatteryInfo)).isFalse();
}
@Test
public void testIsBatteryDefenderOn_notOverheatedAndIsCharging_returnFalse() {
mBatteryInfo.isOverheated = false;
public void testIsBatteryDefenderOn_notDefenderAndIsCharging_returnFalse() {
mBatteryInfo.isBatteryDefender = false;
mBatteryInfo.discharging = false;
assertThat(mBatteryUtils.isBatteryDefenderOn(mBatteryInfo)).isFalse();

View File

@@ -60,32 +60,32 @@ public class BatteryDefenderDetectorTest {
}
@Test
public void testDetect_notOverheatedNotExtraDefend_tipInvisible() {
mBatteryInfo.isOverheated = false;
public void testDetect_notDefenderNotExtraDefend_tipInvisible() {
mBatteryInfo.isBatteryDefender = false;
when(mFakeFeatureFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(false);
assertThat(mBatteryDefenderDetector.detect().isVisible()).isFalse();
}
@Test
public void testDetect_notOverheatedIsExtraDefend_tipInvisible() {
mBatteryInfo.isOverheated = false;
public void testDetect_notDefenderIsExtraDefend_tipInvisible() {
mBatteryInfo.isBatteryDefender = false;
when(mFakeFeatureFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(true);
assertThat(mBatteryDefenderDetector.detect().isVisible()).isFalse();
}
@Test
public void testDetect_isOverheatedIsExtraDefend_tipInvisible() {
mBatteryInfo.isOverheated = false;
public void testDetect_isDefenderIsExtraDefend_tipInvisible() {
mBatteryInfo.isBatteryDefender = false;
when(mFakeFeatureFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(true);
assertThat(mBatteryDefenderDetector.detect().isVisible()).isFalse();
}
@Test
public void testDetect_isOverheatedNotExtraDefend_tipNew() {
mBatteryInfo.isOverheated = true;
public void testDetect_isDefenderNotExtraDefend_tipNew() {
mBatteryInfo.isBatteryDefender = true;
when(mFakeFeatureFactory.powerUsageFeatureProvider.isExtraDefend()).thenReturn(false);
assertThat(mBatteryDefenderDetector.detect().getState())

View File

@@ -83,7 +83,7 @@ public class DockDefenderDetectorTest {
@Test
public void testDetect_dockDefenderActive() {
mBatteryInfo.isOverheated = true;
mBatteryInfo.isBatteryDefender = true;
doReturn(true).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
BatteryTip batteryTip = mDockDefenderDetector.detect();
@@ -95,7 +95,7 @@ public class DockDefenderDetectorTest {
@Test
public void testDetect_dockDefenderFutureBypass() {
mBatteryInfo.isOverheated = false;
mBatteryInfo.isBatteryDefender = false;
doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
BatteryTip batteryTip = mDockDefenderDetector.detect();
@@ -107,7 +107,7 @@ public class DockDefenderDetectorTest {
@Test
public void testDetect_overheatedTrue_dockDefenderDisabled() {
mBatteryInfo.isOverheated = true;
mBatteryInfo.isBatteryDefender = true;
doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
BatteryTip batteryTip = mDockDefenderDetector.detect();
@@ -131,7 +131,7 @@ public class DockDefenderDetectorTest {
@Test
public void testDetect_overheatedTrueAndDockDefenderNotTriggered_dockDefenderDisabled() {
doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
mBatteryInfo.isOverheated = true;
mBatteryInfo.isBatteryDefender = true;
BatteryTip batteryTip = mDockDefenderDetector.detect();