Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxAppearanceCalculator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ constructor( if (this.contains(other) || other.contains(this)) { return false } return this.intersect(other) return this.intersects(other.left, other.top, other.right, other.bottom) } override fun dump(pw: PrintWriter, args: Array<out String>) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LetterboxAppearanceCalculatorTest.kt +24 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,30 @@ class LetterboxAppearanceCalculatorTest : SysuiTestCase() { expect.that(letterboxAppearance.appearanceRegions).isEqualTo(TEST_APPEARANCE_REGIONS) } /** Regression test for b/287508741 */ @Test fun getLetterboxAppearance_withOverlap_doesNotMutateOriginalBounds() { val statusBarStartSideBounds = Rect(left = 0, top = 0, right = 100, bottom = 100) val statusBarEndSideBounds = Rect(left = 200, top = 0, right = 300, bottom = 100) val letterBoxInnerBounds = Rect(left = 150, top = 50, right = 250, bottom = 150) val statusBarStartSideBoundsCopy = Rect(statusBarStartSideBounds) val statusBarEndSideBoundsCopy = Rect(statusBarEndSideBounds) val letterBoxInnerBoundsCopy = Rect(letterBoxInnerBounds) whenever(statusBarBoundsProvider.visibleStartSideBounds) .thenReturn(statusBarStartSideBounds) whenever(statusBarBoundsProvider.visibleEndSideBounds).thenReturn(statusBarEndSideBounds) calculator.getLetterboxAppearance( TEST_APPEARANCE, TEST_APPEARANCE_REGIONS, arrayOf(letterboxWithInnerBounds(letterBoxInnerBounds)) ) expect.that(statusBarStartSideBounds).isEqualTo(statusBarStartSideBoundsCopy) expect.that(statusBarEndSideBounds).isEqualTo(statusBarEndSideBoundsCopy) expect.that(letterBoxInnerBounds).isEqualTo(letterBoxInnerBoundsCopy) } @Test fun getLetterboxAppearance_noOverlap_BackgroundMultiColor_returnsAppearanceWithScrim() { whenever(letterboxBackgroundProvider.isLetterboxBackgroundMultiColored).thenReturn(true) Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/LetterboxAppearanceCalculator.kt +1 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,7 @@ constructor( if (this.contains(other) || other.contains(this)) { return false } return this.intersect(other) return this.intersects(other.left, other.top, other.right, other.bottom) } override fun dump(pw: PrintWriter, args: Array<out String>) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LetterboxAppearanceCalculatorTest.kt +24 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,30 @@ class LetterboxAppearanceCalculatorTest : SysuiTestCase() { expect.that(letterboxAppearance.appearanceRegions).isEqualTo(TEST_APPEARANCE_REGIONS) } /** Regression test for b/287508741 */ @Test fun getLetterboxAppearance_withOverlap_doesNotMutateOriginalBounds() { val statusBarStartSideBounds = Rect(left = 0, top = 0, right = 100, bottom = 100) val statusBarEndSideBounds = Rect(left = 200, top = 0, right = 300, bottom = 100) val letterBoxInnerBounds = Rect(left = 150, top = 50, right = 250, bottom = 150) val statusBarStartSideBoundsCopy = Rect(statusBarStartSideBounds) val statusBarEndSideBoundsCopy = Rect(statusBarEndSideBounds) val letterBoxInnerBoundsCopy = Rect(letterBoxInnerBounds) whenever(statusBarBoundsProvider.visibleStartSideBounds) .thenReturn(statusBarStartSideBounds) whenever(statusBarBoundsProvider.visibleEndSideBounds).thenReturn(statusBarEndSideBounds) calculator.getLetterboxAppearance( TEST_APPEARANCE, TEST_APPEARANCE_REGIONS, arrayOf(letterboxWithInnerBounds(letterBoxInnerBounds)) ) expect.that(statusBarStartSideBounds).isEqualTo(statusBarStartSideBoundsCopy) expect.that(statusBarEndSideBounds).isEqualTo(statusBarEndSideBoundsCopy) expect.that(letterBoxInnerBounds).isEqualTo(letterBoxInnerBoundsCopy) } @Test fun getLetterboxAppearance_noOverlap_BackgroundMultiColor_returnsAppearanceWithScrim() { whenever(letterboxBackgroundProvider.isLetterboxBackgroundMultiColored).thenReturn(true) Loading