Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -1675,6 +1675,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun moveRunningTaskToDesktop_topActivityTranslucentWithDisplay_doesNothing() { val task = setUpFullscreenTask().apply { Loading Loading @@ -3733,6 +3734,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_topActivityTransparentWithDisplay_returnSwitchToFullscreenWCT() { val freeformTask = setUpFreeformTask() markTaskVisible(freeformTask) Loading @@ -3754,6 +3756,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY, Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC, ) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_topActivityTransparentWithDisplay_savedToDesktopRepository() { val freeformTask = setUpFreeformTask(displayId = DEFAULT_DISPLAY) markTaskVisible(freeformTask) Loading @@ -3775,6 +3778,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY, Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC, ) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_desktopNotShowing_topTransparentFullscreenTask_notSavedToDesktopRepository() { val task = setUpFullscreenTask(displayId = DEFAULT_DISPLAY) Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt +7 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN import android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW import android.content.ComponentName import android.graphics.Rect import android.view.Display.DEFAULT_DISPLAY import com.android.wm.shell.MockToken Loading Loading @@ -84,4 +85,10 @@ object DesktopTestHelpers { /** Create a new System Modal task, i.e. a task with only transparent activities. */ fun createSystemModalTask(displayId: Int = DEFAULT_DISPLAY): RunningTaskInfo = createSystemModalTaskBuilder(displayId).build() /** Create a new System Modal task with a base Activity. */ fun createSystemModalTaskWithBaseActivity() = createSystemModalTask().apply { baseActivity = ComponentName("com.test.dummypackage", "TestClass") } } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt +17 −4 Original line number Diff line number Diff line Loading @@ -16,8 +16,10 @@ package com.android.wm.shell.desktopmode.compatui import android.Manifest.permission.SYSTEM_ALERT_WINDOW import android.content.ComponentName import android.content.Intent import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.Binder import android.testing.AndroidTestingRunner Loading @@ -34,6 +36,7 @@ import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFullscreenTask import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFullscreenTaskBuilder import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTask import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskBuilder import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskWithBaseActivity import com.android.wm.shell.desktopmode.DesktopUserRepositories import com.android.wm.shell.desktopmode.DesktopWallpaperActivity import com.android.wm.shell.shared.desktopmode.DesktopModeCompatPolicy Loading @@ -46,7 +49,9 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt import org.mockito.ArgumentMatchers.anyString import org.mockito.kotlin.any import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.spy import org.mockito.kotlin.verify Loading Loading @@ -85,6 +90,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { whenever(packageManager.getHomeActivities(ArrayList())).thenReturn(componentName) desktopModeCompatPolicy = DesktopModeCompatPolicy(spyContext) transitionHandler = createTransitionHandler() allowOverlayPermission(arrayOf(SYSTEM_ALERT_WINDOW)) } private fun createTransitionHandler() = Loading @@ -108,7 +114,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { whenever(desktopUserRepositories.current.getVisibleTaskCount(anyInt())).thenReturn(1) val info = TransitionInfoBuilder(TRANSIT_OPEN) .addChange(TRANSIT_OPEN, createSystemModalTask()) .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading @@ -118,7 +124,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { fun startAnimation_launchingSystemModal_animates() { val info = TransitionInfoBuilder(TRANSIT_OPEN) .addChange(TRANSIT_OPEN, createSystemModalTask()) .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading Loading @@ -161,7 +167,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { fun startAnimation_closingSystemModal_animates() { val info = TransitionInfoBuilder(TRANSIT_CLOSE) .addChange(TRANSIT_CLOSE, createSystemModalTask()) .addChange(TRANSIT_CLOSE, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading @@ -179,7 +185,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { @Test fun startAnimation_closingPreviouslyLaunchedSystemModal_animates() { val systemModalTask = createSystemModalTask() val systemModalTask = createSystemModalTaskWithBaseActivity() val nonModalSystemModalTask = createFullscreenTaskBuilder().setTaskId(systemModalTask.taskId).build() val launchInfo = Loading @@ -193,4 +199,11 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { assertThat(transitionHandler.startAnimation(Binder(), closeInfo, startT, finishT) {}) .isTrue() } fun allowOverlayPermission(permissions: Array<String>) { val packageInfo = mock<PackageInfo>() packageInfo.requestedPermissions = permissions whenever(packageManager.getPackageInfo(anyString(), eq(PackageManager.GET_PERMISSIONS))) .thenReturn(packageInfo) } } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt +1 −0 Original line number Diff line number Diff line Loading @@ -278,6 +278,7 @@ class DesktopModeWindowDecorViewModelTests : DesktopModeWindowDecorViewModelTest @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun testDecorationIsNotCreatedForTopTranslucentActivities() { val task = createTask(windowingMode = WINDOWING_MODE_FULLSCREEN).apply { isActivityStackTransparent = true Loading Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt +4 −0 Original line number Diff line number Diff line Loading @@ -1675,6 +1675,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun moveRunningTaskToDesktop_topActivityTranslucentWithDisplay_doesNothing() { val task = setUpFullscreenTask().apply { Loading Loading @@ -3733,6 +3734,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_topActivityTransparentWithDisplay_returnSwitchToFullscreenWCT() { val freeformTask = setUpFreeformTask() markTaskVisible(freeformTask) Loading @@ -3754,6 +3756,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY, Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC, ) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_topActivityTransparentWithDisplay_savedToDesktopRepository() { val freeformTask = setUpFreeformTask(displayId = DEFAULT_DISPLAY) markTaskVisible(freeformTask) Loading @@ -3775,6 +3778,7 @@ class DesktopTasksControllerTest(flags: FlagsParameterization) : ShellTestCase() Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY, Flags.FLAG_INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC, ) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun handleRequest_desktopNotShowing_topTransparentFullscreenTask_notSavedToDesktopRepository() { val task = setUpFullscreenTask(displayId = DEFAULT_DISPLAY) Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTestHelpers.kt +7 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN import android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW import android.content.ComponentName import android.graphics.Rect import android.view.Display.DEFAULT_DISPLAY import com.android.wm.shell.MockToken Loading Loading @@ -84,4 +85,10 @@ object DesktopTestHelpers { /** Create a new System Modal task, i.e. a task with only transparent activities. */ fun createSystemModalTask(displayId: Int = DEFAULT_DISPLAY): RunningTaskInfo = createSystemModalTaskBuilder(displayId).build() /** Create a new System Modal task with a base Activity. */ fun createSystemModalTaskWithBaseActivity() = createSystemModalTask().apply { baseActivity = ComponentName("com.test.dummypackage", "TestClass") } }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/compatui/SystemModalsTransitionHandlerTest.kt +17 −4 Original line number Diff line number Diff line Loading @@ -16,8 +16,10 @@ package com.android.wm.shell.desktopmode.compatui import android.Manifest.permission.SYSTEM_ALERT_WINDOW import android.content.ComponentName import android.content.Intent import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.Binder import android.testing.AndroidTestingRunner Loading @@ -34,6 +36,7 @@ import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFullscreenTask import com.android.wm.shell.desktopmode.DesktopTestHelpers.createFullscreenTaskBuilder import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTask import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskBuilder import com.android.wm.shell.desktopmode.DesktopTestHelpers.createSystemModalTaskWithBaseActivity import com.android.wm.shell.desktopmode.DesktopUserRepositories import com.android.wm.shell.desktopmode.DesktopWallpaperActivity import com.android.wm.shell.shared.desktopmode.DesktopModeCompatPolicy Loading @@ -46,7 +49,9 @@ import org.junit.Before import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt import org.mockito.ArgumentMatchers.anyString import org.mockito.kotlin.any import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.spy import org.mockito.kotlin.verify Loading Loading @@ -85,6 +90,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { whenever(packageManager.getHomeActivities(ArrayList())).thenReturn(componentName) desktopModeCompatPolicy = DesktopModeCompatPolicy(spyContext) transitionHandler = createTransitionHandler() allowOverlayPermission(arrayOf(SYSTEM_ALERT_WINDOW)) } private fun createTransitionHandler() = Loading @@ -108,7 +114,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { whenever(desktopUserRepositories.current.getVisibleTaskCount(anyInt())).thenReturn(1) val info = TransitionInfoBuilder(TRANSIT_OPEN) .addChange(TRANSIT_OPEN, createSystemModalTask()) .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading @@ -118,7 +124,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { fun startAnimation_launchingSystemModal_animates() { val info = TransitionInfoBuilder(TRANSIT_OPEN) .addChange(TRANSIT_OPEN, createSystemModalTask()) .addChange(TRANSIT_OPEN, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading Loading @@ -161,7 +167,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { fun startAnimation_closingSystemModal_animates() { val info = TransitionInfoBuilder(TRANSIT_CLOSE) .addChange(TRANSIT_CLOSE, createSystemModalTask()) .addChange(TRANSIT_CLOSE, createSystemModalTaskWithBaseActivity()) .build() assertThat(transitionHandler.startAnimation(Binder(), info, startT, finishT) {}).isTrue() Loading @@ -179,7 +185,7 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { @Test fun startAnimation_closingPreviouslyLaunchedSystemModal_animates() { val systemModalTask = createSystemModalTask() val systemModalTask = createSystemModalTaskWithBaseActivity() val nonModalSystemModalTask = createFullscreenTaskBuilder().setTaskId(systemModalTask.taskId).build() val launchInfo = Loading @@ -193,4 +199,11 @@ class SystemModalsTransitionHandlerTest : ShellTestCase() { assertThat(transitionHandler.startAnimation(Binder(), closeInfo, startT, finishT) {}) .isTrue() } fun allowOverlayPermission(permissions: Array<String>) { val packageInfo = mock<PackageInfo>() packageInfo.requestedPermissions = permissions whenever(packageManager.getPackageInfo(anyString(), eq(PackageManager.GET_PERMISSIONS))) .thenReturn(packageInfo) } }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModelTests.kt +1 −0 Original line number Diff line number Diff line Loading @@ -278,6 +278,7 @@ class DesktopModeWindowDecorViewModelTests : DesktopModeWindowDecorViewModelTest @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODALS_POLICY) @DisableFlags(Flags.FLAG_ENABLE_MODALS_FULLSCREEN_WITH_PERMISSION) fun testDecorationIsNotCreatedForTopTranslucentActivities() { val task = createTask(windowingMode = WINDOWING_MODE_FULLSCREEN).apply { isActivityStackTransparent = true Loading