Dismiss UserSwitchingDialog on UiHandler thread.

This CL makes sure the dismissal is always done on the UI thread to
prevent CalledFromWrongThreadException.

Bug: 284085833
Test: atest UserControllerTest
Change-Id: I7c0b35be2a171648c20b50cee6dea78ba7a2cf5b
This commit is contained in:
Yasin Kilicdere
2023-06-26 18:46:48 +01:00
parent 8b58515d9b
commit 19f13fe313
2 changed files with 5 additions and 1 deletions

View File

@@ -1972,7 +1972,7 @@ class UserController implements Handler.Callback {
}
private void dismissUserSwitchDialog(Runnable onDismissed) {
mInjector.dismissUserSwitchingDialog(onDismissed);
mUiHandler.post(() -> mInjector.dismissUserSwitchingDialog(onDismissed));
}
private void showUserSwitchDialog(Pair<UserInfo, UserInfo> fromToUserPair) {

View File

@@ -1342,6 +1342,10 @@ public class UserControllerTest {
Message copy = new Message();
copy.copyFrom(msg);
mMessages.add(copy);
if (msg.getCallback() != null) {
msg.getCallback().run();
msg.setCallback(null);
}
return super.sendMessageAtTime(msg, uptimeMillis);
}
}