Handle PhoneStatusBarPolicy user switch callbacks on main thread

Said callbacks poke around StatusBarIconController, which lives on
main thread and is not thread safe.

BUG=27047911
Bug:28613935

Change-Id: I880d79a237b03c06d72b5dff3db24bd60c7b8839
(cherry picked from commit 4f65092f5c95b89f48a48a916467b78d2a07ff89)
This commit is contained in:
Toni Barzic
2016-04-27 18:10:58 -07:00
committed by Julia Reynolds
parent 94789b4ddf
commit e97f923c18

View File

@@ -411,20 +411,35 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
new SynchronousUserSwitchObserver() {
@Override
public void onUserSwitching(int newUserId) throws RemoteException {
mUserInfoController.reloadUserInfo();
mHandler.post(new Runnable() {
@Override
public void run() {
mUserInfoController.reloadUserInfo();
}
});
}
@Override
public void onUserSwitchComplete(int newUserId) throws RemoteException {
updateAlarm();
profileChanged(newUserId);
updateQuietState();
updateManagedProfile();
mHandler.post(new Runnable() {
@Override
public void run() {
updateAlarm();
profileChanged(newUserId);
updateQuietState();
updateManagedProfile();
}
});
}
@Override
public void onForegroundProfileSwitch(int newProfileId) {
profileChanged(newProfileId);
mHandler.post(new Runnable() {
@Override
public void run() {
profileChanged(newProfileId);
}
});
}
};