Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +2 −2 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isProto1Enabled()) { return desktopModeController.map(Lazy::get); } return Optional.empty(); Loading @@ -709,7 +709,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { return desktopModeTaskRepository.map(Lazy::get); } return Optional.empty(); Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll mDesktopModeTaskRepository = desktopModeTaskRepository; mMainExecutor = mainExecutor; mSettingsObserver = new SettingsObserver(mContext, mainHandler); if (DesktopModeStatus.isSupported()) { if (DesktopModeStatus.isProto1Enabled()) { shellInit.addInitCallback(this::onInit, this); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java +23 −3 Original line number Diff line number Diff line Loading @@ -33,16 +33,37 @@ public class DesktopModeStatus { /** * Flag to indicate whether desktop mode is available on the device */ public static final boolean IS_SUPPORTED = SystemProperties.getBoolean( private static final boolean IS_SUPPORTED = SystemProperties.getBoolean( "persist.wm.debug.desktop_mode", false); /** * Flag to indicate whether desktop mode proto 2 is available on the device */ private static final boolean IS_PROTO2_ENABLED = SystemProperties.getBoolean( "persist.wm.debug.desktop_mode_2", false); /** * Return {@code true} if desktop mode support is enabled */ public static boolean isSupported() { public static boolean isProto1Enabled() { return IS_SUPPORTED; } /** * Return {@code true} is desktop windowing proto 2 is enabled */ public static boolean isProto2Enabled() { return IS_PROTO2_ENABLED; } /** * Return {@code true} if proto 1 or 2 is enabled. * Can be used to guard logic that is common for both prototypes. */ public static boolean isAnyEnabled() { return isProto1Enabled() || isProto2Enabled(); } /** * Check if desktop mode is active * Loading @@ -61,5 +82,4 @@ public class DesktopModeStatus { return false; } } } libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java +5 −5 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, private void onInit() { mShellTaskOrganizer.addListenerForType(this, TASK_LISTENER_TYPE_FREEFORM); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mShellTaskOrganizer.addFocusListener(this); } } Loading @@ -90,7 +90,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, t.apply(); } if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.addOrMoveFreeformTaskToTop(taskInfo.taskId); if (taskInfo.isVisible) { Loading @@ -110,7 +110,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, taskInfo.taskId); mTasks.remove(taskInfo.taskId); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.removeFreeformTask(taskInfo.taskId); if (repository.removeActiveTask(taskInfo.taskId)) { Loading @@ -134,7 +134,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, taskInfo.taskId); mWindowDecorationViewModel.onTaskInfoChanged(state.mTaskInfo); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { if (taskInfo.isVisible) { if (repository.addActiveTask(taskInfo.taskId)) { Loading @@ -152,7 +152,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TASK_ORG, "Freeform Task Focus Changed: #%d focused=%b", taskInfo.taskId, taskInfo.isFocused); if (DesktopModeStatus.IS_SUPPORTED && taskInfo.isFocused) { if (DesktopModeStatus.isAnyEnabled() && taskInfo.isFocused) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.addOrMoveFreeformTaskToTop(taskInfo.taskId); }); Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +1 −1 Original line number Diff line number Diff line Loading @@ -517,7 +517,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { private boolean shouldShowWindowDecor(RunningTaskInfo taskInfo) { if (taskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM) return true; return DesktopModeStatus.IS_SUPPORTED return DesktopModeStatus.isAnyEnabled() && taskInfo.getActivityType() == ACTIVITY_TYPE_STANDARD && mDisplayController.getDisplayContext(taskInfo.displayId) .getResources().getConfiguration().smallestScreenWidthDp >= 600; Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +2 −2 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isProto1Enabled()) { return desktopModeController.map(Lazy::get); } return Optional.empty(); Loading @@ -709,7 +709,7 @@ public abstract class WMShellBaseModule { // Use optional-of-lazy for the dependency that this provider relies on. // Lazy ensures that this provider will not be the cause the dependency is created // when it will not be returned due to the condition below. if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { return desktopModeTaskRepository.map(Lazy::get); } return Optional.empty(); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeController.java +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ public class DesktopModeController implements RemoteCallable<DesktopModeControll mDesktopModeTaskRepository = desktopModeTaskRepository; mMainExecutor = mainExecutor; mSettingsObserver = new SettingsObserver(mContext, mainHandler); if (DesktopModeStatus.isSupported()) { if (DesktopModeStatus.isProto1Enabled()) { shellInit.addInitCallback(this::onInit, this); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopModeStatus.java +23 −3 Original line number Diff line number Diff line Loading @@ -33,16 +33,37 @@ public class DesktopModeStatus { /** * Flag to indicate whether desktop mode is available on the device */ public static final boolean IS_SUPPORTED = SystemProperties.getBoolean( private static final boolean IS_SUPPORTED = SystemProperties.getBoolean( "persist.wm.debug.desktop_mode", false); /** * Flag to indicate whether desktop mode proto 2 is available on the device */ private static final boolean IS_PROTO2_ENABLED = SystemProperties.getBoolean( "persist.wm.debug.desktop_mode_2", false); /** * Return {@code true} if desktop mode support is enabled */ public static boolean isSupported() { public static boolean isProto1Enabled() { return IS_SUPPORTED; } /** * Return {@code true} is desktop windowing proto 2 is enabled */ public static boolean isProto2Enabled() { return IS_PROTO2_ENABLED; } /** * Return {@code true} if proto 1 or 2 is enabled. * Can be used to guard logic that is common for both prototypes. */ public static boolean isAnyEnabled() { return isProto1Enabled() || isProto2Enabled(); } /** * Check if desktop mode is active * Loading @@ -61,5 +82,4 @@ public class DesktopModeStatus { return false; } } }
libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskListener.java +5 −5 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, private void onInit() { mShellTaskOrganizer.addListenerForType(this, TASK_LISTENER_TYPE_FREEFORM); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mShellTaskOrganizer.addFocusListener(this); } } Loading @@ -90,7 +90,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, t.apply(); } if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.addOrMoveFreeformTaskToTop(taskInfo.taskId); if (taskInfo.isVisible) { Loading @@ -110,7 +110,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, taskInfo.taskId); mTasks.remove(taskInfo.taskId); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.removeFreeformTask(taskInfo.taskId); if (repository.removeActiveTask(taskInfo.taskId)) { Loading @@ -134,7 +134,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, taskInfo.taskId); mWindowDecorationViewModel.onTaskInfoChanged(state.mTaskInfo); if (DesktopModeStatus.IS_SUPPORTED) { if (DesktopModeStatus.isAnyEnabled()) { mDesktopModeTaskRepository.ifPresent(repository -> { if (taskInfo.isVisible) { if (repository.addActiveTask(taskInfo.taskId)) { Loading @@ -152,7 +152,7 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener, ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TASK_ORG, "Freeform Task Focus Changed: #%d focused=%b", taskInfo.taskId, taskInfo.isFocused); if (DesktopModeStatus.IS_SUPPORTED && taskInfo.isFocused) { if (DesktopModeStatus.isAnyEnabled() && taskInfo.isFocused) { mDesktopModeTaskRepository.ifPresent(repository -> { repository.addOrMoveFreeformTaskToTop(taskInfo.taskId); }); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +1 −1 Original line number Diff line number Diff line Loading @@ -517,7 +517,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { private boolean shouldShowWindowDecor(RunningTaskInfo taskInfo) { if (taskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM) return true; return DesktopModeStatus.IS_SUPPORTED return DesktopModeStatus.isAnyEnabled() && taskInfo.getActivityType() == ACTIVITY_TYPE_STANDARD && mDisplayController.getDisplayContext(taskInfo.displayId) .getResources().getConfiguration().smallestScreenWidthDp >= 600; Loading