diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index cd9bbf70df..84505d9f84 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -346,9 +346,14 @@ public class DeviceProfile { workspaceCellPaddingXPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_cell_padding_x); hotseatQsbHeight = res.getDimensionPixelSize(R.dimen.qsb_widget_height); - isQsbInline = isLargeTablet && isLandscape && hotseatQsbHeight > 0; + // Whether QSB might be inline in appropriate orientation (landscape). + boolean canQsbInline = isLargeTablet && hotseatQsbHeight > 0; + isQsbInline = canQsbInline && isLandscape; - if (isTaskbarPresent && !isGestureMode && isQsbInline) { + // We shrink hotseat sizes regardless of orientation, if nav buttons are inline and QSB + // might be inline in either orientations, to keep hotseat size consistent across rotation. + boolean areNavButtonsInline = isTaskbarPresent && !isGestureMode; + if (areNavButtonsInline && canQsbInline) { numShownHotseatIcons = inv.numShrunkenHotseatIcons; } else { numShownHotseatIcons =