Loading quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashControllerTest.kt +90 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation import com.android.launcher3.anim.AnimatedFloat import com.android.launcher3.taskbar.StashedHandleView import com.android.launcher3.taskbar.TaskbarInsetsController import com.android.launcher3.taskbar.TaskbarStashController import com.android.launcher3.taskbar.bubbles.BubbleBarView import com.android.launcher3.taskbar.bubbles.BubbleBarViewController import com.android.launcher3.taskbar.bubbles.BubbleStashedHandleViewController Loading @@ -36,6 +37,7 @@ import com.android.launcher3.taskbar.bubbles.BubbleView import com.android.launcher3.util.MultiValueAlpha import com.android.wm.shell.shared.animation.PhysicsAnimator import com.android.wm.shell.shared.animation.PhysicsAnimatorTestUtils import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Rule Loading @@ -59,7 +61,7 @@ class TransientBubbleStashControllerTest { const val BUBBLE_BAR_WIDTH = 200 const val BUBBLE_BAR_HEIGHT = 100 const val HOTSEAT_TRANSLATION_Y = -45f const val TASK_BAR_TRANSLATION_Y = -TASKBAR_BOTTOM_SPACE const val TASK_BAR_TRANSLATION_Y = -TASKBAR_BOTTOM_SPACE.toFloat() const val HANDLE_VIEW_WIDTH = 150 const val HANDLE_VIEW_HEIGHT = 4 const val BUBBLE_BAR_STASHED_TRANSLATION_Y = -4.5f Loading Loading @@ -195,6 +197,93 @@ class TransientBubbleStashControllerTest { assertThat(bubbleView.alpha).isEqualTo(1f) } @Test fun updateStashedAndExpandedState_unstash_bubbleBarShown_stashedHandleHidden() { // Given bubble bar has bubbles and is stashed mTransientBubbleStashController.isStashed = true whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) val bubbleInitialTranslation = bubbleView.translationY // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = false, expand = false, ) } // Wait until animations ends advanceTimeBy(BubbleStashController.BAR_STASH_DURATION) PhysicsAnimatorTestUtils.blockUntilAnimationsEnd(DynamicAnimation.TRANSLATION_Y) // Then check BubbleBarController is notified verify(bubbleBarViewController).onStashStateChanging() // Bubble bar is unstashed assertThat(mTransientBubbleStashController.isStashed).isFalse() assertThat(bubbleBarView.translationY).isEqualTo(TASK_BAR_TRANSLATION_Y) assertThat(bubbleBarView.alpha).isEqualTo(1f) assertThat(bubbleBarView.scaleX).isEqualTo(1f) assertThat(bubbleBarView.scaleY).isEqualTo(1f) assertThat(bubbleBarView.background.alpha).isEqualTo(255) // Handle view is hidden assertThat(stashedHandleView.translationY).isEqualTo(0) assertThat(stashedHandleView.alpha).isEqualTo(0) // Bubble view is reset assertThat(bubbleView.translationY).isEqualTo(bubbleInitialTranslation) assertThat(bubbleView.alpha).isEqualTo(1f) } @Test fun updateStashedAndExpandedState_stash_animatesAlphaForBubblesAndBackgroundSeparately() { // Given bubble bar has bubbles and is unstashed mTransientBubbleStashController.isStashed = false whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = true, expand = false, ) } // Stop after alpha starts advanceTimeBy(TaskbarStashController.TASKBAR_STASH_ALPHA_START_DELAY + 10) // Bubble bar alpha is set to 1 assertThat(bubbleBarView.alpha).isEqualTo(1f) // We animate alpha for background and children separately assertThat(bubbleView.alpha).isIn(Range.open(0f, 1f)) assertThat(bubbleBarView.background.alpha).isIn(Range.open(0, 255)) assertThat(bubbleBarView.background.alpha).isNotEqualTo((bubbleView.alpha * 255f).toInt()) } @Test fun updateStashedAndExpandedState_unstash_animatesAlphaForBubblesAndBackgroundSeparately() { // Given bubble bar has bubbles and is stashed mTransientBubbleStashController.isStashed = true whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = false, expand = false, ) } // Stop after alpha starts advanceTimeBy(TaskbarStashController.TASKBAR_STASH_ALPHA_START_DELAY + 10) // Bubble bar alpha is set to 1 assertThat(bubbleBarView.alpha).isEqualTo(1f) // We animate alpha for background and children separately assertThat(bubbleView.alpha).isIn(Range.open(0f, 1f)) assertThat(bubbleBarView.background.alpha).isIn(Range.open(0, 255)) assertThat(bubbleBarView.background.alpha).isNotEqualTo((bubbleView.alpha * 255f).toInt()) } @Test fun isSysuiLockedSwitchedToFalseForOverview_unlockAnimationIsShown() { // Given screen is locked and bubble bar has bubbles Loading Loading
quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/bubbles/stashing/TransientBubbleStashControllerTest.kt +90 −1 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation import com.android.launcher3.anim.AnimatedFloat import com.android.launcher3.taskbar.StashedHandleView import com.android.launcher3.taskbar.TaskbarInsetsController import com.android.launcher3.taskbar.TaskbarStashController import com.android.launcher3.taskbar.bubbles.BubbleBarView import com.android.launcher3.taskbar.bubbles.BubbleBarViewController import com.android.launcher3.taskbar.bubbles.BubbleStashedHandleViewController Loading @@ -36,6 +37,7 @@ import com.android.launcher3.taskbar.bubbles.BubbleView import com.android.launcher3.util.MultiValueAlpha import com.android.wm.shell.shared.animation.PhysicsAnimator import com.android.wm.shell.shared.animation.PhysicsAnimatorTestUtils import com.google.common.collect.Range import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Rule Loading @@ -59,7 +61,7 @@ class TransientBubbleStashControllerTest { const val BUBBLE_BAR_WIDTH = 200 const val BUBBLE_BAR_HEIGHT = 100 const val HOTSEAT_TRANSLATION_Y = -45f const val TASK_BAR_TRANSLATION_Y = -TASKBAR_BOTTOM_SPACE const val TASK_BAR_TRANSLATION_Y = -TASKBAR_BOTTOM_SPACE.toFloat() const val HANDLE_VIEW_WIDTH = 150 const val HANDLE_VIEW_HEIGHT = 4 const val BUBBLE_BAR_STASHED_TRANSLATION_Y = -4.5f Loading Loading @@ -195,6 +197,93 @@ class TransientBubbleStashControllerTest { assertThat(bubbleView.alpha).isEqualTo(1f) } @Test fun updateStashedAndExpandedState_unstash_bubbleBarShown_stashedHandleHidden() { // Given bubble bar has bubbles and is stashed mTransientBubbleStashController.isStashed = true whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) val bubbleInitialTranslation = bubbleView.translationY // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = false, expand = false, ) } // Wait until animations ends advanceTimeBy(BubbleStashController.BAR_STASH_DURATION) PhysicsAnimatorTestUtils.blockUntilAnimationsEnd(DynamicAnimation.TRANSLATION_Y) // Then check BubbleBarController is notified verify(bubbleBarViewController).onStashStateChanging() // Bubble bar is unstashed assertThat(mTransientBubbleStashController.isStashed).isFalse() assertThat(bubbleBarView.translationY).isEqualTo(TASK_BAR_TRANSLATION_Y) assertThat(bubbleBarView.alpha).isEqualTo(1f) assertThat(bubbleBarView.scaleX).isEqualTo(1f) assertThat(bubbleBarView.scaleY).isEqualTo(1f) assertThat(bubbleBarView.background.alpha).isEqualTo(255) // Handle view is hidden assertThat(stashedHandleView.translationY).isEqualTo(0) assertThat(stashedHandleView.alpha).isEqualTo(0) // Bubble view is reset assertThat(bubbleView.translationY).isEqualTo(bubbleInitialTranslation) assertThat(bubbleView.alpha).isEqualTo(1f) } @Test fun updateStashedAndExpandedState_stash_animatesAlphaForBubblesAndBackgroundSeparately() { // Given bubble bar has bubbles and is unstashed mTransientBubbleStashController.isStashed = false whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = true, expand = false, ) } // Stop after alpha starts advanceTimeBy(TaskbarStashController.TASKBAR_STASH_ALPHA_START_DELAY + 10) // Bubble bar alpha is set to 1 assertThat(bubbleBarView.alpha).isEqualTo(1f) // We animate alpha for background and children separately assertThat(bubbleView.alpha).isIn(Range.open(0f, 1f)) assertThat(bubbleBarView.background.alpha).isIn(Range.open(0, 255)) assertThat(bubbleBarView.background.alpha).isNotEqualTo((bubbleView.alpha * 255f).toInt()) } @Test fun updateStashedAndExpandedState_unstash_animatesAlphaForBubblesAndBackgroundSeparately() { // Given bubble bar has bubbles and is stashed mTransientBubbleStashController.isStashed = true whenever(bubbleBarViewController.isHiddenForNoBubbles).thenReturn(false) // When unstash getInstrumentation().runOnMainSync { mTransientBubbleStashController.updateStashedAndExpandedState( stash = false, expand = false, ) } // Stop after alpha starts advanceTimeBy(TaskbarStashController.TASKBAR_STASH_ALPHA_START_DELAY + 10) // Bubble bar alpha is set to 1 assertThat(bubbleBarView.alpha).isEqualTo(1f) // We animate alpha for background and children separately assertThat(bubbleView.alpha).isIn(Range.open(0f, 1f)) assertThat(bubbleBarView.background.alpha).isIn(Range.open(0, 255)) assertThat(bubbleBarView.background.alpha).isNotEqualTo((bubbleView.alpha * 255f).toInt()) } @Test fun isSysuiLockedSwitchedToFalseForOverview_unlockAnimationIsShown() { // Given screen is locked and bubble bar has bubbles Loading