Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab7a4db9 authored by Lei Yu's avatar Lei Yu Committed by android-build-merger
Browse files

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

am: 0ec3e4e6

Change-Id: Ie3e4b7ead145b22c44383443229043722b9e86d9
parents 0531bd48 0ec3e4e6
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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();
+3 −3
Original line number Diff line number Diff line
@@ -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);
        }
    }

+4 −1
Original line number Diff line number Diff line
@@ -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();
    }

}
+2 −2
Original line number Diff line number Diff line
@@ -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());
    }