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

Commit 22769242 authored by Jason Monk's avatar Jason Monk Committed by android-build-merger
Browse files

Merge \"SysUI: Protect against crash in BatteryController\" into nyc-mr1-dev

am: 3750c9a1

Change-Id: Idc0701fd53702bc2f0a4c4e4cb3173393cb24fa7
parents 1028c16d 3750c9a1
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -89,15 +89,19 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC

    @Override
    public void addStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
        synchronized (mChangeCallbacks) {
            mChangeCallbacks.add(cb);
        }
        cb.onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
        cb.onPowerSaveChanged(mPowerSave);
    }

    @Override
    public void removeStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
        synchronized (mChangeCallbacks) {
            mChangeCallbacks.remove(cb);
        }
    }

    @Override
    public void onReceive(final Context context, Intent intent) {
@@ -171,18 +175,22 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
    }

    protected void fireBatteryLevelChanged() {
        synchronized (mChangeCallbacks) {
            final int N = mChangeCallbacks.size();
            for (int i = 0; i < N; i++) {
                mChangeCallbacks.get(i).onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
            }
        }
    }

    private void firePowerSaveChanged() {
        synchronized (mChangeCallbacks) {
            final int N = mChangeCallbacks.size();
            for (int i = 0; i < N; i++) {
                mChangeCallbacks.get(i).onPowerSaveChanged(mPowerSave);
            }
        }
    }

    private boolean mDemoMode;