Merge "Make anomaly item refresh in battery" into oc-dr1-dev

am: 0ec3e4e626

Change-Id: Ie3e4b7ead145b22c44383443229043722b9e86d9
This commit is contained in:
Lei Yu
2017-07-22 00:32:21 +00:00
committed by android-build-merger
4 changed files with 14 additions and 10 deletions

View File

@@ -50,7 +50,7 @@ public class BatteryBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
updateBatteryStatus(intent);
updateBatteryStatus(intent, false /* forceUpdate */);
}
public void setBatteryChangedListener(OnBatteryChangedListener lsn) {
@@ -60,20 +60,21 @@ public class BatteryBroadcastReceiver extends BroadcastReceiver {
public void register() {
final Intent intent = mContext.registerReceiver(this,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
updateBatteryStatus(intent);
updateBatteryStatus(intent, true /* forceUpdate */);
}
public void unRegister() {
mContext.unregisterReceiver(this);
}
private void updateBatteryStatus(Intent intent) {
private void updateBatteryStatus(Intent intent, boolean forceUpdate) {
if (intent != null && mBatteryListener != null && Intent.ACTION_BATTERY_CHANGED.equals(
intent.getAction())) {
String batteryLevel = Utils.getBatteryPercentage(intent);
String batteryStatus = Utils.getBatteryStatus(
mContext.getResources(), intent);
if (!batteryLevel.equals(mBatteryLevel) || !batteryStatus.equals(mBatteryStatus)) {
if (forceUpdate || !batteryLevel.equals(mBatteryLevel) || !batteryStatus.equals(
mBatteryStatus)) {
mBatteryLevel = batteryLevel;
mBatteryStatus = batteryStatus;
mBatteryListener.onBatteryChanged();

View File

@@ -522,7 +522,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
return;
}
initAnomalyDetectionIfPossible();
restartAnomalyDetectionIfPossible();
// reload BatteryInfo and updateUI
restartBatteryInfoLoader();
@@ -647,9 +647,9 @@ public class PowerUsageSummary extends PowerUsageBase implements
}
@VisibleForTesting
void initAnomalyDetectionIfPossible() {
void restartAnomalyDetectionIfPossible() {
if (getAnomalyDetectionPolicy().isAnomalyDetectionEnabled()) {
getLoaderManager().initLoader(ANOMALY_LOADER, Bundle.EMPTY, mAnomalyLoaderCallbacks);
getLoaderManager().restartLoader(ANOMALY_LOADER, Bundle.EMPTY, mAnomalyLoaderCallbacks);
}
}

View File

@@ -37,6 +37,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -100,13 +101,15 @@ public class BatteryBroadcastReceiverTest {
public void testRegister_updateBatteryStatus() {
doReturn(mChargingIntent).when(mContext).registerReceiver(any(), any());
mBatteryBroadcastReceiver.register();
mBatteryBroadcastReceiver.register();
assertThat(mBatteryBroadcastReceiver.mBatteryLevel).isEqualTo(
Utils.getBatteryPercentage(mChargingIntent));
assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(
Utils.getBatteryStatus(mContext.getResources(), mChargingIntent));
verify(mBatteryListener).onBatteryChanged();
// 2 times because register will force update the battery
verify(mBatteryListener, times(2)).onBatteryChanged();
}
}

View File

@@ -485,9 +485,9 @@ public class PowerUsageSummaryTest {
doReturn(mAnomalyDetectionPolicy).when(mFragment).getAnomalyDetectionPolicy();
when(mAnomalyDetectionPolicy.isAnomalyDetectionEnabled()).thenReturn(true);
mFragment.initAnomalyDetectionIfPossible();
mFragment.restartAnomalyDetectionIfPossible();
verify(mLoaderManager).initLoader(eq(PowerUsageSummary.ANOMALY_LOADER), eq(Bundle.EMPTY),
verify(mLoaderManager).restartLoader(eq(PowerUsageSummary.ANOMALY_LOADER), eq(Bundle.EMPTY),
any());
}