Pad large screen hotseat in RTL 3 button nav mode by swapping left and right padding to avoid overlapping with nav buttons
Hotseat was overlapped with 3 navigation buttons in large screen RTL mode. This fix is to pad hotseat properly by swapping the left and right paddings in RTL mode
Bug: 268178394
Test: manual
Change-Id: I2b073a1b532bf3aae3ab1bec98ad70713742c672
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 2c34b3f..e63b054 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -1315,23 +1315,29 @@
hotseatBarSizePx - hotseatBarBottomPadding - hotseatCellHeightPx;
int hotseatWidth = getHotseatRequiredWidth();
- int leftSpacing = (availableWidthPx - hotseatWidth) / 2;
- int rightSpacing = leftSpacing;
+ int startSpacing;
+ int endSpacing;
// Hotseat aligns to the left with nav buttons
if (hotseatBarEndOffset > 0) {
- leftSpacing = inlineNavButtonsEndSpacing;
- rightSpacing = availableWidthPx - hotseatWidth - leftSpacing + hotseatBorderSpace;
+ startSpacing = inlineNavButtonsEndSpacing;
+ endSpacing = availableWidthPx - hotseatWidth - startSpacing + hotseatBorderSpace;
+ } else {
+ startSpacing = (availableWidthPx - hotseatWidth) / 2;
+ endSpacing = startSpacing;
}
+ startSpacing += getAdditionalQsbSpace();
- hotseatBarPadding.set(leftSpacing, hotseatBarTopPadding, rightSpacing,
- hotseatBarBottomPadding);
-
+ hotseatBarPadding.top = hotseatBarTopPadding;
+ hotseatBarPadding.bottom = hotseatBarBottomPadding;
boolean isRtl = Utilities.isRtl(context.getResources());
if (isRtl) {
- hotseatBarPadding.right += getAdditionalQsbSpace();
+ hotseatBarPadding.left = endSpacing;
+ hotseatBarPadding.right = startSpacing;
} else {
- hotseatBarPadding.left += getAdditionalQsbSpace();
+ hotseatBarPadding.left = startSpacing;
+ hotseatBarPadding.right = endSpacing;
}
+
} else if (isScalableGrid) {
int sideSpacing = (availableWidthPx - hotseatQsbWidth) / 2;
hotseatBarPadding.set(sideSpacing,