Merge "SysUI: Protect against crash in BatteryController" into nyc-mr1-dev
This commit is contained in:
@@ -89,14 +89,18 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
|
public void addStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
|
||||||
mChangeCallbacks.add(cb);
|
synchronized (mChangeCallbacks) {
|
||||||
|
mChangeCallbacks.add(cb);
|
||||||
|
}
|
||||||
cb.onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
|
cb.onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
|
||||||
cb.onPowerSaveChanged(mPowerSave);
|
cb.onPowerSaveChanged(mPowerSave);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
|
public void removeStateChangedCallback(BatteryController.BatteryStateChangeCallback cb) {
|
||||||
mChangeCallbacks.remove(cb);
|
synchronized (mChangeCallbacks) {
|
||||||
|
mChangeCallbacks.remove(cb);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -171,16 +175,20 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void fireBatteryLevelChanged() {
|
protected void fireBatteryLevelChanged() {
|
||||||
final int N = mChangeCallbacks.size();
|
synchronized (mChangeCallbacks) {
|
||||||
for (int i = 0; i < N; i++) {
|
final int N = mChangeCallbacks.size();
|
||||||
mChangeCallbacks.get(i).onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
|
for (int i = 0; i < N; i++) {
|
||||||
|
mChangeCallbacks.get(i).onBatteryLevelChanged(mLevel, mPluggedIn, mCharging);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void firePowerSaveChanged() {
|
private void firePowerSaveChanged() {
|
||||||
final int N = mChangeCallbacks.size();
|
synchronized (mChangeCallbacks) {
|
||||||
for (int i = 0; i < N; i++) {
|
final int N = mChangeCallbacks.size();
|
||||||
mChangeCallbacks.get(i).onPowerSaveChanged(mPowerSave);
|
for (int i = 0; i < N; i++) {
|
||||||
|
mChangeCallbacks.get(i).onPowerSaveChanged(mPowerSave);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user