mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 08:56:55 +00:00
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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
x -= insets.left;
|
||||
y -= insets.top;
|
||||
|
||||
mGravity = 0;
|
||||
|
||||
Reference in New Issue
Block a user