From 3b40f836e5afbc77ecbced6aadeb4f7b8ab69cc9 Mon Sep 17 00:00:00 2001 From: Yasin Kilicdere Date: Wed, 17 May 2023 18:37:26 +0100 Subject: [PATCH] Call onDismissed on dismiss even mUserSwitchingDialog is null. In HSUM, mUserSwitchingDialog is not shown for the initial user switch which is from system user to the main user. And for that switch, completeUserSwitch step was not working properly to call user switch complete events, like UserSwitchObserver.onUserSwitchComplete and ACTION_USER_SWITCHED broadcasts, etc. This CL fixes that problem. Bug: 279958141 Test: manual Change-Id: I94cfd0229a128f37aa09cb1a00a425bbe7d92e1c --- services/core/java/com/android/server/am/UserController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java index 334c145eaf6e6..12bb5d23e4cf3 100644 --- a/services/core/java/com/android/server/am/UserController.java +++ b/services/core/java/com/android/server/am/UserController.java @@ -3567,6 +3567,8 @@ class UserController implements Handler.Callback { if (mUserSwitchingDialog != null) { mUserSwitchingDialog.dismiss(onDismissed); mUserSwitchingDialog = null; + } else if (onDismissed != null) { + onDismissed.run(); } } }