Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6b6a4f3 authored by Jordan Silva's avatar Jordan Silva Committed by Android (Google) Code Review
Browse files

Merge "Fix hotseat border space crash GSI" into udc-qpr-dev

parents 7e1c5d0b d9227184
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1134,10 +1134,11 @@ public class DeviceProfile {
     * This method calculates the space between the icons to achieve a certain width.
     */
    private int calculateHotseatBorderSpace(float hotseatWidthPx, int numExtraBorder) {
        int numBorders = (numShownHotseatIcons - 1 + numExtraBorder);
        if (numBorders <= 0) return 0;

        float hotseatIconsTotalPx = iconSizePx * numShownHotseatIcons;
        int hotseatBorderSpacePx =
                (int) (hotseatWidthPx - hotseatIconsTotalPx)
                        / (numShownHotseatIcons - 1 + numExtraBorder);
        int hotseatBorderSpacePx = (int) (hotseatWidthPx - hotseatIconsTotalPx) / numBorders;
        return Math.min(hotseatBorderSpacePx, mMaxHotseatIconSpacePx);
    }

+21 −0
Original line number Diff line number Diff line
@@ -158,4 +158,25 @@ class HotseatWidthCalculationTest : FakeInvariantDeviceProfileTest() {
        assertThat(dp.isQsbInline).isFalse()
        assertThat(dp.hotseatQsbWidth).isEqualTo(1095)
    }

    @Test
    fun border_space_should_be_zero_when_numHotseatIcons_is_smallerOrEqual_1() {
        initializeVarsForTablet(isGestureMode = false)
        windowBounds = WindowBounds(Rect(0, 0, 1800, 2560), Rect(0, 104, 0, 0))

        val numShownHotseatIcons = listOf(-1, 0, 1)
        for (numHotseatIcons in numShownHotseatIcons) {
            inv?.numShownHotseatIcons = numHotseatIcons

            val dp = newDP()
            dp.isTaskbarPresentInApps = true

            assertThat(dp.numShownHotseatIcons).isEqualTo(numHotseatIcons)
            assertThat(dp.hotseatBorderSpace).isEqualTo(0)

            assertThat(dp.getHotseatLayoutPadding(context).left).isEqualTo(177)
            assertThat(dp.getHotseatLayoutPadding(context).right).isEqualTo(177)
            assertThat(dp.hotseatQsbWidth).isEqualTo(1445)
        }
    }
}