Loading libs/WindowManager/Shell/shared/res/values/dimen.xml +19 −0 Original line number Diff line number Diff line Loading @@ -17,4 +17,23 @@ <resources> <dimen name="floating_dismiss_icon_size">32dp</dimen> <dimen name="floating_dismiss_background_size">96dp</dimen> <!-- Bubble drag zone dimensions --> <dimen name="drag_zone_dismiss_fold">140dp</dimen> <dimen name="drag_zone_dismiss_tablet">200dp</dimen> <dimen name="drag_zone_bubble_fold">140dp</dimen> <dimen name="drag_zone_bubble_tablet">200dp</dimen> <dimen name="drag_zone_full_screen_width">512dp</dimen> <dimen name="drag_zone_full_screen_height">44dp</dimen> <dimen name="drag_zone_desktop_window_width">880dp</dimen> <dimen name="drag_zone_desktop_window_height">300dp</dimen> <dimen name="drag_zone_desktop_window_expanded_view_width">200dp</dimen> <dimen name="drag_zone_desktop_window_expanded_view_height">350dp</dimen> <dimen name="drag_zone_split_from_bubble_height">100dp</dimen> <dimen name="drag_zone_split_from_bubble_width">60dp</dimen> <dimen name="drag_zone_h_split_from_expanded_view_width">60dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_width">200dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_tablet">285dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_fold_tall">150dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_fold_short">100dp</dimen> </resources> No newline at end of file libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/bubbles/DragZoneFactory.kt +63 −17 Original line number Diff line number Diff line Loading @@ -16,11 +16,15 @@ package com.android.wm.shell.shared.bubbles import android.content.Context import android.graphics.Rect import androidx.annotation.DimenRes import com.android.wm.shell.shared.R import com.android.wm.shell.shared.bubbles.DragZoneFactory.SplitScreenModeChecker.SplitScreenMode /** A class for creating drag zones for dragging bubble objects or dragging into bubbles. */ class DragZoneFactory( private val context: Context, private val deviceConfig: DeviceConfig, private val splitScreenModeChecker: SplitScreenModeChecker, private val desktopWindowModeChecker: DesktopWindowModeChecker, Loading @@ -29,23 +33,65 @@ class DragZoneFactory( private val windowBounds: Rect get() = deviceConfig.windowBounds // TODO b/393172431: move these to xml private val dismissDragZoneSize = if (deviceConfig.isSmallTablet) 140 else 200 private val bubbleDragZoneTabletSize = 200 private val bubbleDragZoneFoldableSize = 140 private val fullScreenDragZoneWidth = 512 private val fullScreenDragZoneHeight = 44 private val desktopWindowDragZoneWidth = 880 private val desktopWindowDragZoneHeight = 300 private val desktopWindowFromExpandedViewDragZoneWidth = 200 private val desktopWindowFromExpandedViewDragZoneHeight = 350 private val splitFromBubbleDragZoneHeight = 100 private val splitFromBubbleDragZoneWidth = 60 private val hSplitFromExpandedViewDragZoneWidth = 60 private val vSplitFromExpandedViewDragZoneWidth = 200 private val vSplitFromExpandedViewDragZoneHeightTablet = 285 private val vSplitFromExpandedViewDragZoneHeightFoldTall = 150 private val vSplitFromExpandedViewDragZoneHeightFoldShort = 100 private var dismissDragZoneSize = 0 private var bubbleDragZoneTabletSize = 0 private var bubbleDragZoneFoldableSize = 0 private var fullScreenDragZoneWidth = 0 private var fullScreenDragZoneHeight = 0 private var desktopWindowDragZoneWidth = 0 private var desktopWindowDragZoneHeight = 0 private var desktopWindowFromExpandedViewDragZoneWidth = 0 private var desktopWindowFromExpandedViewDragZoneHeight = 0 private var splitFromBubbleDragZoneHeight = 0 private var splitFromBubbleDragZoneWidth = 0 private var hSplitFromExpandedViewDragZoneWidth = 0 private var vSplitFromExpandedViewDragZoneWidth = 0 private var vSplitFromExpandedViewDragZoneHeightTablet = 0 private var vSplitFromExpandedViewDragZoneHeightFoldTall = 0 private var vSplitFromExpandedViewDragZoneHeightFoldShort = 0 init { onConfigurationUpdated() } /** Updates all dimensions after a configuration change. */ fun onConfigurationUpdated() { dismissDragZoneSize = if (deviceConfig.isSmallTablet) { context.resolveDimension(R.dimen.drag_zone_dismiss_fold) } else { context.resolveDimension(R.dimen.drag_zone_dismiss_tablet) } bubbleDragZoneTabletSize = context.resolveDimension(R.dimen.drag_zone_bubble_tablet) bubbleDragZoneFoldableSize = context.resolveDimension(R.dimen.drag_zone_bubble_fold) fullScreenDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_full_screen_width) fullScreenDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_full_screen_height) desktopWindowDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_desktop_window_width) desktopWindowDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_desktop_window_height) desktopWindowFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_desktop_window_expanded_view_width) desktopWindowFromExpandedViewDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_desktop_window_expanded_view_height) splitFromBubbleDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_split_from_bubble_height) splitFromBubbleDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_split_from_bubble_width) hSplitFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_h_split_from_expanded_view_width) vSplitFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_width) vSplitFromExpandedViewDragZoneHeightTablet = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_tablet) vSplitFromExpandedViewDragZoneHeightFoldTall = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_fold_tall) vSplitFromExpandedViewDragZoneHeightFoldShort = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_fold_short) } private fun Context.resolveDimension(@DimenRes dimension: Int) = resources.getDimensionPixelSize(dimension) /** * Creates the list of drag zones for the dragged object. Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/bubbles/DragZoneFactoryTest.kt +89 −15 Original line number Diff line number Diff line Loading @@ -16,8 +16,10 @@ package com.android.wm.shell.shared.bubbles import android.content.Context import android.graphics.Insets import android.graphics.Rect import androidx.test.core.app.ApplicationProvider.getApplicationContext import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.wm.shell.shared.bubbles.DragZoneFactory.DesktopWindowModeChecker Loading @@ -34,6 +36,7 @@ private typealias DragZoneVerifier = (dragZone: DragZone) -> Unit /** Unit tests for [DragZoneFactory]. */ class DragZoneFactoryTest { private val context = getApplicationContext<Context>() private lateinit var dragZoneFactory: DragZoneFactory private val tabletPortrait = DeviceConfig( Loading @@ -57,7 +60,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubbleBar_tablet() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.BubbleBar(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -73,7 +81,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_portrait() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -92,7 +105,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_landscape() { dragZoneFactory = DragZoneFactory(tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -111,7 +130,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_foldable_portrait() { dragZoneFactory = DragZoneFactory(foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -129,7 +154,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_foldable_landscape() { dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -148,7 +179,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_portrait() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) Loading @@ -169,9 +205,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_landscape() { dragZoneFactory = DragZoneFactory(tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -188,9 +232,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_foldable_portrait() { dragZoneFactory = DragZoneFactory(foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -206,9 +258,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_foldable_landscape() { dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -225,7 +285,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_desktopModeDisabled() { isDesktopWindowModeSupported = false dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) assertThat(dragZones.filterIsInstance<DragZone.DesktopWindow>()).isEmpty() Loading @@ -234,9 +300,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_desktopModeDisabled() { isDesktopWindowModeSupported = false dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) assertThat(dragZones.filterIsInstance<DragZone.DesktopWindow>()).isEmpty() } Loading Loading
libs/WindowManager/Shell/shared/res/values/dimen.xml +19 −0 Original line number Diff line number Diff line Loading @@ -17,4 +17,23 @@ <resources> <dimen name="floating_dismiss_icon_size">32dp</dimen> <dimen name="floating_dismiss_background_size">96dp</dimen> <!-- Bubble drag zone dimensions --> <dimen name="drag_zone_dismiss_fold">140dp</dimen> <dimen name="drag_zone_dismiss_tablet">200dp</dimen> <dimen name="drag_zone_bubble_fold">140dp</dimen> <dimen name="drag_zone_bubble_tablet">200dp</dimen> <dimen name="drag_zone_full_screen_width">512dp</dimen> <dimen name="drag_zone_full_screen_height">44dp</dimen> <dimen name="drag_zone_desktop_window_width">880dp</dimen> <dimen name="drag_zone_desktop_window_height">300dp</dimen> <dimen name="drag_zone_desktop_window_expanded_view_width">200dp</dimen> <dimen name="drag_zone_desktop_window_expanded_view_height">350dp</dimen> <dimen name="drag_zone_split_from_bubble_height">100dp</dimen> <dimen name="drag_zone_split_from_bubble_width">60dp</dimen> <dimen name="drag_zone_h_split_from_expanded_view_width">60dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_width">200dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_tablet">285dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_fold_tall">150dp</dimen> <dimen name="drag_zone_v_split_from_expanded_view_height_fold_short">100dp</dimen> </resources> No newline at end of file
libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/bubbles/DragZoneFactory.kt +63 −17 Original line number Diff line number Diff line Loading @@ -16,11 +16,15 @@ package com.android.wm.shell.shared.bubbles import android.content.Context import android.graphics.Rect import androidx.annotation.DimenRes import com.android.wm.shell.shared.R import com.android.wm.shell.shared.bubbles.DragZoneFactory.SplitScreenModeChecker.SplitScreenMode /** A class for creating drag zones for dragging bubble objects or dragging into bubbles. */ class DragZoneFactory( private val context: Context, private val deviceConfig: DeviceConfig, private val splitScreenModeChecker: SplitScreenModeChecker, private val desktopWindowModeChecker: DesktopWindowModeChecker, Loading @@ -29,23 +33,65 @@ class DragZoneFactory( private val windowBounds: Rect get() = deviceConfig.windowBounds // TODO b/393172431: move these to xml private val dismissDragZoneSize = if (deviceConfig.isSmallTablet) 140 else 200 private val bubbleDragZoneTabletSize = 200 private val bubbleDragZoneFoldableSize = 140 private val fullScreenDragZoneWidth = 512 private val fullScreenDragZoneHeight = 44 private val desktopWindowDragZoneWidth = 880 private val desktopWindowDragZoneHeight = 300 private val desktopWindowFromExpandedViewDragZoneWidth = 200 private val desktopWindowFromExpandedViewDragZoneHeight = 350 private val splitFromBubbleDragZoneHeight = 100 private val splitFromBubbleDragZoneWidth = 60 private val hSplitFromExpandedViewDragZoneWidth = 60 private val vSplitFromExpandedViewDragZoneWidth = 200 private val vSplitFromExpandedViewDragZoneHeightTablet = 285 private val vSplitFromExpandedViewDragZoneHeightFoldTall = 150 private val vSplitFromExpandedViewDragZoneHeightFoldShort = 100 private var dismissDragZoneSize = 0 private var bubbleDragZoneTabletSize = 0 private var bubbleDragZoneFoldableSize = 0 private var fullScreenDragZoneWidth = 0 private var fullScreenDragZoneHeight = 0 private var desktopWindowDragZoneWidth = 0 private var desktopWindowDragZoneHeight = 0 private var desktopWindowFromExpandedViewDragZoneWidth = 0 private var desktopWindowFromExpandedViewDragZoneHeight = 0 private var splitFromBubbleDragZoneHeight = 0 private var splitFromBubbleDragZoneWidth = 0 private var hSplitFromExpandedViewDragZoneWidth = 0 private var vSplitFromExpandedViewDragZoneWidth = 0 private var vSplitFromExpandedViewDragZoneHeightTablet = 0 private var vSplitFromExpandedViewDragZoneHeightFoldTall = 0 private var vSplitFromExpandedViewDragZoneHeightFoldShort = 0 init { onConfigurationUpdated() } /** Updates all dimensions after a configuration change. */ fun onConfigurationUpdated() { dismissDragZoneSize = if (deviceConfig.isSmallTablet) { context.resolveDimension(R.dimen.drag_zone_dismiss_fold) } else { context.resolveDimension(R.dimen.drag_zone_dismiss_tablet) } bubbleDragZoneTabletSize = context.resolveDimension(R.dimen.drag_zone_bubble_tablet) bubbleDragZoneFoldableSize = context.resolveDimension(R.dimen.drag_zone_bubble_fold) fullScreenDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_full_screen_width) fullScreenDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_full_screen_height) desktopWindowDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_desktop_window_width) desktopWindowDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_desktop_window_height) desktopWindowFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_desktop_window_expanded_view_width) desktopWindowFromExpandedViewDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_desktop_window_expanded_view_height) splitFromBubbleDragZoneHeight = context.resolveDimension(R.dimen.drag_zone_split_from_bubble_height) splitFromBubbleDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_split_from_bubble_width) hSplitFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_h_split_from_expanded_view_width) vSplitFromExpandedViewDragZoneWidth = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_width) vSplitFromExpandedViewDragZoneHeightTablet = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_tablet) vSplitFromExpandedViewDragZoneHeightFoldTall = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_fold_tall) vSplitFromExpandedViewDragZoneHeightFoldShort = context.resolveDimension(R.dimen.drag_zone_v_split_from_expanded_view_height_fold_short) } private fun Context.resolveDimension(@DimenRes dimension: Int) = resources.getDimensionPixelSize(dimension) /** * Creates the list of drag zones for the dragged object. Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/bubbles/DragZoneFactoryTest.kt +89 −15 Original line number Diff line number Diff line Loading @@ -16,8 +16,10 @@ package com.android.wm.shell.shared.bubbles import android.content.Context import android.graphics.Insets import android.graphics.Rect import androidx.test.core.app.ApplicationProvider.getApplicationContext import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import com.android.wm.shell.shared.bubbles.DragZoneFactory.DesktopWindowModeChecker Loading @@ -34,6 +36,7 @@ private typealias DragZoneVerifier = (dragZone: DragZone) -> Unit /** Unit tests for [DragZoneFactory]. */ class DragZoneFactoryTest { private val context = getApplicationContext<Context>() private lateinit var dragZoneFactory: DragZoneFactory private val tabletPortrait = DeviceConfig( Loading @@ -57,7 +60,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubbleBar_tablet() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.BubbleBar(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -73,7 +81,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_portrait() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -92,7 +105,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_landscape() { dragZoneFactory = DragZoneFactory(tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -111,7 +130,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_foldable_portrait() { dragZoneFactory = DragZoneFactory(foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -129,7 +154,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_foldable_landscape() { dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) val expectedZones: List<DragZoneVerifier> = Loading @@ -148,7 +179,12 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_portrait() { dragZoneFactory = DragZoneFactory(tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker) DragZoneFactory( context, tabletPortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) Loading @@ -169,9 +205,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_landscape() { dragZoneFactory = DragZoneFactory(tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, tabletLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -188,9 +232,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_foldable_portrait() { dragZoneFactory = DragZoneFactory(foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldablePortrait, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -206,9 +258,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_foldable_landscape() { dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) val expectedZones: List<DragZoneVerifier> = listOf( verifyInstance<DragZone.Dismiss>(), Loading @@ -225,7 +285,13 @@ class DragZoneFactoryTest { @Test fun dragZonesForBubble_tablet_desktopModeDisabled() { isDesktopWindowModeSupported = false dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.Bubble(BubbleBarLocation.LEFT)) assertThat(dragZones.filterIsInstance<DragZone.DesktopWindow>()).isEmpty() Loading @@ -234,9 +300,17 @@ class DragZoneFactoryTest { @Test fun dragZonesForExpandedView_tablet_desktopModeDisabled() { isDesktopWindowModeSupported = false dragZoneFactory = DragZoneFactory(foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker) dragZoneFactory = DragZoneFactory( context, foldableLandscape, splitScreenModeChecker, desktopWindowModeChecker ) val dragZones = dragZoneFactory.createSortedDragZones(DraggedObject.ExpandedView(BubbleBarLocation.LEFT)) dragZoneFactory.createSortedDragZones( DraggedObject.ExpandedView(BubbleBarLocation.LEFT) ) assertThat(dragZones.filterIsInstance<DragZone.DesktopWindow>()).isEmpty() } Loading