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:
committed by
Julia Reynolds
parent
94789b4ddf
commit
e97f923c18
@@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user