summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-03-13 04:24:26 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-13 04:24:26 -0700
commit4a2e7e3a7fd57db0f02070d9e30ed834a432b3ec (patch)
tree89e77924384dafcb378a5cdc834901bd3dc38727
parentfff1037bcf79551ad49115e293c9cbc1cfe8ee1d (diff)
parent644b41a9610730930b3fb2d3666bbfcc2d3d89ff (diff)
Merge "Update the current user again after registering UserChangeListener" into main
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 487c7d15fa38..0920f274f51d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -306,6 +306,8 @@ class DesktopTasksController(
this,
)
shellController.addUserChangeListener(this)
+ // Update the current user id again because it might be updated between init and onInit().
+ updateCurrentUser(ActivityManager.getCurrentUser())
transitions.addHandler(this)
dragToDesktopTransitionHandler.dragToDesktopStateListener = dragToDesktopStateListener
recentsTransitionHandler.addTransitionStateListener(
@@ -3547,9 +3549,15 @@ class DesktopTasksController(
// TODO(b/366397912): Support full multi-user mode in Windowing.
override fun onUserChanged(newUserId: Int, userContext: Context) {
logV("onUserChanged previousUserId=%d, newUserId=%d", userId, newUserId)
+ updateCurrentUser(newUserId)
+ }
+
+ private fun updateCurrentUser(newUserId: Int) {
userId = newUserId
taskRepository = userRepositories.getProfile(userId)
- snapEventHandler.onUserChange()
+ if (this::snapEventHandler.isInitialized) {
+ snapEventHandler.onUserChange()
+ }
}
/** Called when a task's info changes. */