Loading libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/DefaultLetterboxDependenciesHelper.kt +5 −5 Original line number Diff line number Diff line Loading @@ -17,14 +17,14 @@ package com.android.wm.shell.compatui.letterbox.config import android.window.TransitionInfo import com.android.wm.shell.desktopmode.multidesks.DesksOrganizer import com.android.wm.shell.desktopmode.DesktopRepository /** * Default [LetterboxDependenciesHelper] implementation using Desktop Windowing dependencies. * Default [LetterboxDependenciesHelper] implementation. */ class DefaultLetterboxDependenciesHelper(val desksOrganizer: DesksOrganizer) : class DefaultLetterboxDependenciesHelper(val desktopRepository: DesktopRepository) : LetterboxDependenciesHelper { override fun isDesktopWindowingAction(change: TransitionInfo.Change): Boolean = desksOrganizer.isDeskChange(change) override fun shouldDestroyLetterboxSurfaces(change: TransitionInfo.Change): Boolean = desktopRepository.isAnyDeskActive(change.endDisplayId) } libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/IgnoreLetterboxDependenciesHelper.kt +1 −1 Original line number Diff line number Diff line Loading @@ -28,5 +28,5 @@ class IgnoreLetterboxDependenciesHelper : LetterboxDependenciesHelper { * We should ignore all the changes related to Desktop Windowing when the feature is not * available. */ override fun isDesktopWindowingAction(change: Change): Boolean = false override fun shouldDestroyLetterboxSurfaces(change: Change): Boolean = false } libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/LetterboxDependenciesHelper.kt +2 −2 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.window.TransitionInfo.Change interface LetterboxDependenciesHelper { /** * Tells if the [Change] is related to Desktop Windowing. * Tells if we need to destroy the existing letterbox surfaces for a given [Change]. */ fun isDesktopWindowingAction(change: Change): Boolean fun shouldDestroyLetterboxSurfaces(change: Change): Boolean } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/config/DefaultLetterboxDependenciesHelperTest.kt +14 −14 Original line number Diff line number Diff line Loading @@ -19,14 +19,14 @@ package com.android.wm.shell.compatui.letterbox.config import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.wm.shell.ShellTestCase import com.android.wm.shell.desktopmode.multidesks.DesksOrganizer import com.android.wm.shell.desktopmode.DesktopRepository import com.android.wm.shell.util.testLetterboxDependenciesHelper import java.util.function.Consumer import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.doReturn import org.mockito.kotlin.mock import java.util.function.Consumer /** * Tests for [DefaultLetterboxDependenciesHelper]. Loading @@ -39,26 +39,26 @@ import java.util.function.Consumer class DefaultLetterboxDependenciesHelperTest : ShellTestCase() { @Test fun `Default implementation returns true if isDeskChange is true`() { fun `Should not destroy letterbox surfaces if not isAnyDeskActive`() { runTestScenario { r -> testLetterboxDependenciesHelper(r.getLetterboxLifecycleEventFactory()) { inputChange { } r.configureDeskChangeChecker(isDeskChange = true) validateIsDesktopWindowingAction { isDeskChange -> assert(isDeskChange) r.configureDesktopRepository(isAnyDeskActive = false) validateIsDesktopWindowingAction { shouldDestroy -> assert(!shouldDestroy) } } } } @Test fun `Default implementation returns false if isDeskChange is false`() { fun `Should destroy letterbox surfaces if isAnyDeskActive`() { runTestScenario { r -> testLetterboxDependenciesHelper(r.getLetterboxLifecycleEventFactory()) { inputChange { } r.configureDeskChangeChecker(isDeskChange = true) validateIsDesktopWindowingAction { isDeskChange -> assert(!isDeskChange) r.configureDesktopRepository(isAnyDeskActive = true) validateIsDesktopWindowingAction { shouldDestroy -> assert(shouldDestroy) } } } Loading @@ -77,14 +77,14 @@ class DefaultLetterboxDependenciesHelperTest : ShellTestCase() { */ class LetterboxDependenciesHelperRobotTest { private val desksOrganizer = mock<DesksOrganizer>() private val desktopRepository = mock<DesktopRepository>() fun configureDeskChangeChecker(isDeskChange: Boolean) { doReturn(isDeskChange).`when`(desksOrganizer).isDeskChange(any()) fun configureDesktopRepository(isAnyDeskActive: Boolean) { doReturn(isAnyDeskActive).`when`(desktopRepository).isAnyDeskActive(any()) } fun getLetterboxLifecycleEventFactory(): () -> LetterboxDependenciesHelper = { DefaultLetterboxDependenciesHelper(desksOrganizer) DefaultLetterboxDependenciesHelper(desktopRepository) } } } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/util/LetterboxDependenciesHelperUtils.kt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ class LetterboxDependenciesHelperTestContext( fun validateIsDesktopWindowingAction(verifier: (Boolean) -> Unit) { // We execute the test subject using the input verifier(testSubjectFactory().isDesktopWindowingAction(inputObject)) verifier(testSubjectFactory().shouldDestroyLetterboxSurfaces(inputObject)) } } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/DefaultLetterboxDependenciesHelper.kt +5 −5 Original line number Diff line number Diff line Loading @@ -17,14 +17,14 @@ package com.android.wm.shell.compatui.letterbox.config import android.window.TransitionInfo import com.android.wm.shell.desktopmode.multidesks.DesksOrganizer import com.android.wm.shell.desktopmode.DesktopRepository /** * Default [LetterboxDependenciesHelper] implementation using Desktop Windowing dependencies. * Default [LetterboxDependenciesHelper] implementation. */ class DefaultLetterboxDependenciesHelper(val desksOrganizer: DesksOrganizer) : class DefaultLetterboxDependenciesHelper(val desktopRepository: DesktopRepository) : LetterboxDependenciesHelper { override fun isDesktopWindowingAction(change: TransitionInfo.Change): Boolean = desksOrganizer.isDeskChange(change) override fun shouldDestroyLetterboxSurfaces(change: TransitionInfo.Change): Boolean = desktopRepository.isAnyDeskActive(change.endDisplayId) }
libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/IgnoreLetterboxDependenciesHelper.kt +1 −1 Original line number Diff line number Diff line Loading @@ -28,5 +28,5 @@ class IgnoreLetterboxDependenciesHelper : LetterboxDependenciesHelper { * We should ignore all the changes related to Desktop Windowing when the feature is not * available. */ override fun isDesktopWindowingAction(change: Change): Boolean = false override fun shouldDestroyLetterboxSurfaces(change: Change): Boolean = false }
libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterbox/config/LetterboxDependenciesHelper.kt +2 −2 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import android.window.TransitionInfo.Change interface LetterboxDependenciesHelper { /** * Tells if the [Change] is related to Desktop Windowing. * Tells if we need to destroy the existing letterbox surfaces for a given [Change]. */ fun isDesktopWindowingAction(change: Change): Boolean fun shouldDestroyLetterboxSurfaces(change: Change): Boolean }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterbox/config/DefaultLetterboxDependenciesHelperTest.kt +14 −14 Original line number Diff line number Diff line Loading @@ -19,14 +19,14 @@ package com.android.wm.shell.compatui.letterbox.config import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.wm.shell.ShellTestCase import com.android.wm.shell.desktopmode.multidesks.DesksOrganizer import com.android.wm.shell.desktopmode.DesktopRepository import com.android.wm.shell.util.testLetterboxDependenciesHelper import java.util.function.Consumer import org.junit.Test import org.junit.runner.RunWith import org.mockito.kotlin.any import org.mockito.kotlin.doReturn import org.mockito.kotlin.mock import java.util.function.Consumer /** * Tests for [DefaultLetterboxDependenciesHelper]. Loading @@ -39,26 +39,26 @@ import java.util.function.Consumer class DefaultLetterboxDependenciesHelperTest : ShellTestCase() { @Test fun `Default implementation returns true if isDeskChange is true`() { fun `Should not destroy letterbox surfaces if not isAnyDeskActive`() { runTestScenario { r -> testLetterboxDependenciesHelper(r.getLetterboxLifecycleEventFactory()) { inputChange { } r.configureDeskChangeChecker(isDeskChange = true) validateIsDesktopWindowingAction { isDeskChange -> assert(isDeskChange) r.configureDesktopRepository(isAnyDeskActive = false) validateIsDesktopWindowingAction { shouldDestroy -> assert(!shouldDestroy) } } } } @Test fun `Default implementation returns false if isDeskChange is false`() { fun `Should destroy letterbox surfaces if isAnyDeskActive`() { runTestScenario { r -> testLetterboxDependenciesHelper(r.getLetterboxLifecycleEventFactory()) { inputChange { } r.configureDeskChangeChecker(isDeskChange = true) validateIsDesktopWindowingAction { isDeskChange -> assert(!isDeskChange) r.configureDesktopRepository(isAnyDeskActive = true) validateIsDesktopWindowingAction { shouldDestroy -> assert(shouldDestroy) } } } Loading @@ -77,14 +77,14 @@ class DefaultLetterboxDependenciesHelperTest : ShellTestCase() { */ class LetterboxDependenciesHelperRobotTest { private val desksOrganizer = mock<DesksOrganizer>() private val desktopRepository = mock<DesktopRepository>() fun configureDeskChangeChecker(isDeskChange: Boolean) { doReturn(isDeskChange).`when`(desksOrganizer).isDeskChange(any()) fun configureDesktopRepository(isAnyDeskActive: Boolean) { doReturn(isAnyDeskActive).`when`(desktopRepository).isAnyDeskActive(any()) } fun getLetterboxLifecycleEventFactory(): () -> LetterboxDependenciesHelper = { DefaultLetterboxDependenciesHelper(desksOrganizer) DefaultLetterboxDependenciesHelper(desktopRepository) } } }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/util/LetterboxDependenciesHelperUtils.kt +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ class LetterboxDependenciesHelperTestContext( fun validateIsDesktopWindowingAction(verifier: (Boolean) -> Unit) { // We execute the test subject using the input verifier(testSubjectFactory().isDesktopWindowingAction(inputObject)) verifier(testSubjectFactory().shouldDestroyLetterboxSurfaces(inputObject)) } } Loading