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

Commit 1eeffbee authored by Tony Wickham's avatar Tony Wickham
Browse files

Add padding between hotseat and insets in multiwindow landscape

Right now there's almost no room between the hotseat icons and the
nav  bar in this mode, and it looks kind of bad. It also causes
b/109946631 which is fixed by this change.

Also fix placement of popup in RTL landscape (was incorrectly inset)

Bug: 109946631
Change-Id: I324485da0048b907776b16b719b631c5314e5696
parent 59ffaf03
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> {
            if (dp.isVerticalBarLayout()) {
                Rect targetInsets = dp.getInsets();
                int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right;
                return dp.hotseatBarSizePx + dp.hotseatBarSidePaddingPx + hotseatInset;
                return dp.hotseatBarSizePx + hotseatInset;
            } else {
                int shelfHeight = dp.hotseatBarSizePx + dp.getInsets().bottom;
                // Track slightly below the top of the shelf (between top and content).
@@ -448,7 +448,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> {
            if (dp.isVerticalBarLayout()) {
                Rect targetInsets = dp.getInsets();
                int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right;
                return dp.hotseatBarSizePx + dp.hotseatBarSidePaddingPx + hotseatInset;
                return dp.hotseatBarSizePx + hotseatInset;
            } else {
                return dp.heightPx - outRect.rect.bottom;
            }
+19 −14
Original line number Diff line number Diff line
@@ -102,7 +102,9 @@ public class DeviceProfile {
    public int hotseatBarSizePx;
    public final int hotseatBarTopPaddingPx;
    public final int hotseatBarBottomPaddingPx;
    public final int hotseatBarSidePaddingPx;
    // Start is the side next to the nav bar, end is the side next to the workspace
    public final int hotseatBarSidePaddingStartPx;
    public final int hotseatBarSidePaddingEndPx;

    // All apps
    public int allAppsCellHeightPx;
@@ -178,10 +180,14 @@ public class DeviceProfile {
                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_top_padding);
        hotseatBarBottomPaddingPx =
                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_bottom_padding);
        hotseatBarSidePaddingPx =
        hotseatBarSidePaddingEndPx =
                res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_side_padding);
        // Add a bit of space between nav bar and hotseat in multi-window vertical bar layout.
        hotseatBarSidePaddingStartPx = isMultiWindowMode && isVerticalBarLayout()
                ? edgeMarginPx : 0;
        hotseatBarSizePx = isVerticalBarLayout()
                ? Utilities.pxFromDp(inv.iconSize, dm)
                ? Utilities.pxFromDp(inv.iconSize, dm) + hotseatBarSidePaddingStartPx
                        + hotseatBarSidePaddingEndPx
                : res.getDimensionPixelSize(R.dimen.dynamic_grid_hotseat_size)
                        + hotseatBarTopPaddingPx + hotseatBarBottomPaddingPx;

@@ -326,7 +332,8 @@ public class DeviceProfile {

        // Hotseat
        if (isVerticalLayout) {
            hotseatBarSizePx = iconSizePx;
            hotseatBarSizePx = iconSizePx + hotseatBarSidePaddingStartPx
                    + hotseatBarSidePaddingEndPx;
        }
        hotseatCellHeightPx = iconSizePx;

@@ -425,14 +432,12 @@ public class DeviceProfile {
        if (isVerticalBarLayout()) {
            padding.top = 0;
            padding.bottom = edgeMarginPx;
            padding.left = hotseatBarSidePaddingPx;
            padding.right = hotseatBarSidePaddingPx;
            if (isSeascape()) {
                padding.left += hotseatBarSizePx;
                padding.right += verticalDragHandleSizePx;
                padding.left = hotseatBarSizePx;
                padding.right = verticalDragHandleSizePx;
            } else {
                padding.left += verticalDragHandleSizePx;
                padding.right += hotseatBarSizePx;
                padding.left = verticalDragHandleSizePx;
                padding.right = hotseatBarSizePx;
            }
        } else {
            int paddingBottom = hotseatBarSizePx + verticalDragHandleSizePx;
@@ -462,11 +467,11 @@ public class DeviceProfile {
    public Rect getHotseatLayoutPadding() {
        if (isVerticalBarLayout()) {
            if (isSeascape()) {
                mHotseatPadding.set(
                        mInsets.left, mInsets.top, hotseatBarSidePaddingPx, mInsets.bottom);
                mHotseatPadding.set(mInsets.left + hotseatBarSidePaddingStartPx,
                        mInsets.top, hotseatBarSidePaddingEndPx, mInsets.bottom);
            } else {
                mHotseatPadding.set(
                        hotseatBarSidePaddingPx, mInsets.top, mInsets.right, mInsets.bottom);
                mHotseatPadding.set(hotseatBarSidePaddingEndPx, mInsets.top,
                        mInsets.right + hotseatBarSidePaddingStartPx, mInsets.bottom);
            }
        } else {

+2 −2
Original line number Diff line number Diff line
@@ -157,10 +157,10 @@ public class Hotseat extends FrameLayout implements LogContainerProvider, Insett
            lp.height = ViewGroup.LayoutParams.MATCH_PARENT;
            if (grid.isSeascape()) {
                lp.gravity = Gravity.LEFT;
                lp.width = grid.hotseatBarSizePx + insets.left + grid.hotseatBarSidePaddingPx;
                lp.width = grid.hotseatBarSizePx + insets.left;
            } else {
                lp.gravity = Gravity.RIGHT;
                lp.width = grid.hotseatBarSizePx + insets.right + grid.hotseatBarSidePaddingPx;
                lp.width = grid.hotseatBarSizePx + insets.right;
            }
        } else {
            lp.gravity = Gravity.BOTTOM;
+1 −5
Original line number Diff line number Diff line
@@ -266,11 +266,7 @@ public abstract class ArrowPopup extends AbstractFloatingView {
        }

        // Insets are added later, so subtract them now.
        if (mIsRtl) {
            x += insets.right;
        } else {
        x -= insets.left;
        }
        y -= insets.top;

        mGravity = 0;