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

Commit e97f923c authored by Toni Barzic's avatar Toni Barzic Committed by Julia Reynolds
Browse files

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)
parent 94789b4d
Loading
Loading
Loading
Loading
+21 −6
Original line number Diff line number Diff line
@@ -411,21 +411,36 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro
            new SynchronousUserSwitchObserver() {
                @Override
                public void onUserSwitching(int newUserId) throws RemoteException {
                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            mUserInfoController.reloadUserInfo();
                        }
                    });
                }

                @Override
                public void onUserSwitchComplete(int newUserId) throws RemoteException {
                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            updateAlarm();
                            profileChanged(newUserId);
                            updateQuietState();
                            updateManagedProfile();
                        }
                    });
                }

                @Override
                public void onForegroundProfileSwitch(int newProfileId) {
                    mHandler.post(new Runnable() {
                        @Override
                        public void run() {
                            profileChanged(newProfileId);
                        }
                    });
                }
            };

    private final HotspotController.Callback mHotspotCallback = new HotspotController.Callback() {