Loading packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt +11 −4 Original line number Diff line number Diff line Loading @@ -263,10 +263,14 @@ constructor( private val insetListener = View.OnApplyWindowInsetsListener { view, insets -> val windowInsets = WindowInsets(insets) if (windowInsets != lastInsets) { updateConstraintsForInsets(view as MotionLayout, insets) lastInsets = WindowInsets(insets) lastInsets = windowInsets view.onApplyWindowInsets(insets) } else { insets } } private var singleCarrier = false Loading Loading @@ -634,6 +638,9 @@ constructor( systemIconsHoverContainer.setOnClickListener(null) systemIconsHoverContainer.isClickable = false } lastInsets?.let { updateConstraintsForInsets(header, it) } header.jumpToState(header.startState) updatePosition() updateScrollY() Loading packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -817,6 +817,43 @@ class ShadeHeaderControllerTest : SysuiTestCase() { verify(mockConstraintsChanges.largeScreenConstraintsChanges)!!.invoke(any()) } @Test fun sameInsetsTwice_listenerCallsOnApplyWindowInsetsOnlyOnce() { val windowInsets = createWindowInsets() val captor = ArgumentCaptor.forClass(View.OnApplyWindowInsetsListener::class.java) verify(view).setOnApplyWindowInsetsListener(capture(captor)) val listener = captor.value listener.onApplyWindowInsets(view, windowInsets) verify(view, times(1)).onApplyWindowInsets(any()) listener.onApplyWindowInsets(view, windowInsets) verify(view, times(1)).onApplyWindowInsets(any()) } @Test fun twoDifferentInsets_listenerCallsOnApplyWindowInsetsTwice() { val windowInsets1 = WindowInsets(Rect(1, 2, 3, 4)) val windowInsets2 = WindowInsets(Rect(5, 6, 7, 8)) val captor = ArgumentCaptor.forClass(View.OnApplyWindowInsetsListener::class.java) verify(view).setOnApplyWindowInsetsListener(capture(captor)) val listener = captor.value listener.onApplyWindowInsets(view, windowInsets1) verify(view, times(1)).onApplyWindowInsets(any()) listener.onApplyWindowInsets(view, windowInsets2) verify(view, times(2)).onApplyWindowInsets(any()) } @Test fun alarmIconNotIgnored() { verify(statusIcons, Mockito.never()) Loading Loading
packages/SystemUI/src/com/android/systemui/shade/ShadeHeaderController.kt +11 −4 Original line number Diff line number Diff line Loading @@ -263,10 +263,14 @@ constructor( private val insetListener = View.OnApplyWindowInsetsListener { view, insets -> val windowInsets = WindowInsets(insets) if (windowInsets != lastInsets) { updateConstraintsForInsets(view as MotionLayout, insets) lastInsets = WindowInsets(insets) lastInsets = windowInsets view.onApplyWindowInsets(insets) } else { insets } } private var singleCarrier = false Loading Loading @@ -634,6 +638,9 @@ constructor( systemIconsHoverContainer.setOnClickListener(null) systemIconsHoverContainer.isClickable = false } lastInsets?.let { updateConstraintsForInsets(header, it) } header.jumpToState(header.startState) updatePosition() updateScrollY() Loading
packages/SystemUI/tests/src/com/android/systemui/shade/ShadeHeaderControllerTest.kt +37 −0 Original line number Diff line number Diff line Loading @@ -817,6 +817,43 @@ class ShadeHeaderControllerTest : SysuiTestCase() { verify(mockConstraintsChanges.largeScreenConstraintsChanges)!!.invoke(any()) } @Test fun sameInsetsTwice_listenerCallsOnApplyWindowInsetsOnlyOnce() { val windowInsets = createWindowInsets() val captor = ArgumentCaptor.forClass(View.OnApplyWindowInsetsListener::class.java) verify(view).setOnApplyWindowInsetsListener(capture(captor)) val listener = captor.value listener.onApplyWindowInsets(view, windowInsets) verify(view, times(1)).onApplyWindowInsets(any()) listener.onApplyWindowInsets(view, windowInsets) verify(view, times(1)).onApplyWindowInsets(any()) } @Test fun twoDifferentInsets_listenerCallsOnApplyWindowInsetsTwice() { val windowInsets1 = WindowInsets(Rect(1, 2, 3, 4)) val windowInsets2 = WindowInsets(Rect(5, 6, 7, 8)) val captor = ArgumentCaptor.forClass(View.OnApplyWindowInsetsListener::class.java) verify(view).setOnApplyWindowInsetsListener(capture(captor)) val listener = captor.value listener.onApplyWindowInsets(view, windowInsets1) verify(view, times(1)).onApplyWindowInsets(any()) listener.onApplyWindowInsets(view, windowInsets2) verify(view, times(2)).onApplyWindowInsets(any()) } @Test fun alarmIconNotIgnored() { verify(statusIcons, Mockito.never()) Loading