Loading core/java/android/window/DesktopModeFlags.java +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ public enum DesktopModeFlags { Flags::enableDesktopAppLaunchTransitionsBugfix, false), INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC( Flags::includeTopTransparentFullscreenTaskInDesktopHeuristic, true), ENABLE_DESKTOP_WINDOWING_HSUM(Flags::enableDesktopWindowingHsum, true), ENABLE_MINIMIZE_BUTTON(Flags::enableMinimizeButton, true), ENABLE_RESIZING_METRICS(Flags::enableResizingMetrics, true), ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS(Flags::enableTaskResizingKeyboardShortcuts, true), Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopUserRepositories.kt +5 −5 Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ import android.content.Context import android.content.pm.UserInfo import android.os.UserManager import android.util.SparseArray import android.window.DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_HSUM import androidx.core.util.forEach import com.android.internal.protolog.ProtoLog import com.android.window.flags.Flags import com.android.wm.shell.desktopmode.persistence.DesktopPersistentRepository import com.android.wm.shell.desktopmode.persistence.DesktopRepositoryInitializer import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE Loading Loading @@ -68,7 +68,7 @@ class DesktopUserRepositories( if (DesktopModeStatus.canEnterDesktopMode(context)) { shellInit.addInitCallback(::onInit, this) } if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { userIdToProfileIdsMap[userId] = userManager.getProfiles(userId).map { it.id } } } Loading @@ -80,7 +80,7 @@ class DesktopUserRepositories( /** Returns [DesktopRepository] for the parent user id. */ fun getProfile(profileId: Int): DesktopRepository { if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { for ((uid, profileIds) in userIdToProfileIdsMap) { if (profileId in profileIds) { return desktopRepoByUserId.getOrCreate(uid) Loading @@ -101,14 +101,14 @@ class DesktopUserRepositories( override fun onUserChanged(newUserId: Int, userContext: Context) { logD("onUserChanged previousUserId=%d, newUserId=%d", userId, newUserId) userId = newUserId if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { sanitizeUsers() } } override fun onUserProfilesChanged(profiles: MutableList<UserInfo>) { logD("onUserProfilesChanged profiles=%s", profiles.toString()) if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { // TODO(b/366397912): Remove all persisted profile data when the profile changes. userIdToProfileIdsMap[userId] = profiles.map { it.id } } Loading Loading
core/java/android/window/DesktopModeFlags.java +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ public enum DesktopModeFlags { Flags::enableDesktopAppLaunchTransitionsBugfix, false), INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC( Flags::includeTopTransparentFullscreenTaskInDesktopHeuristic, true), ENABLE_DESKTOP_WINDOWING_HSUM(Flags::enableDesktopWindowingHsum, true), ENABLE_MINIMIZE_BUTTON(Flags::enableMinimizeButton, true), ENABLE_RESIZING_METRICS(Flags::enableResizingMetrics, true), ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS(Flags::enableTaskResizingKeyboardShortcuts, true), Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopUserRepositories.kt +5 −5 Original line number Diff line number Diff line Loading @@ -21,9 +21,9 @@ import android.content.Context import android.content.pm.UserInfo import android.os.UserManager import android.util.SparseArray import android.window.DesktopModeFlags.ENABLE_DESKTOP_WINDOWING_HSUM import androidx.core.util.forEach import com.android.internal.protolog.ProtoLog import com.android.window.flags.Flags import com.android.wm.shell.desktopmode.persistence.DesktopPersistentRepository import com.android.wm.shell.desktopmode.persistence.DesktopRepositoryInitializer import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE Loading Loading @@ -68,7 +68,7 @@ class DesktopUserRepositories( if (DesktopModeStatus.canEnterDesktopMode(context)) { shellInit.addInitCallback(::onInit, this) } if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { userIdToProfileIdsMap[userId] = userManager.getProfiles(userId).map { it.id } } } Loading @@ -80,7 +80,7 @@ class DesktopUserRepositories( /** Returns [DesktopRepository] for the parent user id. */ fun getProfile(profileId: Int): DesktopRepository { if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { for ((uid, profileIds) in userIdToProfileIdsMap) { if (profileId in profileIds) { return desktopRepoByUserId.getOrCreate(uid) Loading @@ -101,14 +101,14 @@ class DesktopUserRepositories( override fun onUserChanged(newUserId: Int, userContext: Context) { logD("onUserChanged previousUserId=%d, newUserId=%d", userId, newUserId) userId = newUserId if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { sanitizeUsers() } } override fun onUserProfilesChanged(profiles: MutableList<UserInfo>) { logD("onUserProfilesChanged profiles=%s", profiles.toString()) if (Flags.enableDesktopWindowingHsum()) { if (ENABLE_DESKTOP_WINDOWING_HSUM.isTrue()) { // TODO(b/366397912): Remove all persisted profile data when the profile changes. userIdToProfileIdsMap[userId] = profiles.map { it.id } } Loading