Update drop target button alignment across devices.

Fix: 229789612
Fix: 231711806
Fix: 231706480
Fix: 232063941
Fix: 232283628
Test: manual.
Change-Id: I75d649b953ad1607dbba87a8f758884ff938b6dc
This commit is contained in:
Pat Manning
2022-04-25 13:50:28 +01:00
parent 25d5334a9d
commit 27bfcaa651
5 changed files with 204 additions and 151 deletions
+19 -10
View File
@@ -108,6 +108,7 @@ public class DeviceProfile {
public float workspaceSpringLoadShrunkTop;
public float workspaceSpringLoadShrunkBottom;
public final int workspaceSpringLoadedBottomSpace;
public final int workspaceSpringLoadedMinNextPageVisiblePx;
private final int extraSpace;
public int workspaceTopPadding;
@@ -214,6 +215,8 @@ public class DeviceProfile {
public int dropTargetHorizontalPaddingPx;
public int dropTargetVerticalPaddingPx;
public int dropTargetGapPx;
public int dropTargetButtonWorkspaceEdgeGapPx;
public int dropTargetButtonScreenEdgeGapPx;
// Insets
private final Rect mInsets = new Rect();
@@ -343,9 +346,15 @@ public class DeviceProfile {
dropTargetVerticalPaddingPx = res.getDimensionPixelSize(
R.dimen.drop_target_button_drawable_vertical_padding);
dropTargetGapPx = res.getDimensionPixelSize(R.dimen.drop_target_button_gap);
dropTargetButtonWorkspaceEdgeGapPx = res.getDimensionPixelSize(
R.dimen.drop_target_button_workspace_edge_gap);
dropTargetButtonScreenEdgeGapPx = res.getDimensionPixelSize(
R.dimen.drop_target_button_screen_edge_gap);
workspaceSpringLoadedBottomSpace =
res.getDimensionPixelSize(R.dimen.dynamic_grid_min_spring_loaded_space);
workspaceSpringLoadedMinNextPageVisiblePx = res.getDimensionPixelSize(
R.dimen.dynamic_grid_spring_loaded_min_next_space_visible);
workspaceCellPaddingXPx = res.getDimensionPixelSize(R.dimen.dynamic_grid_cell_padding_x);
@@ -501,7 +510,7 @@ public class DeviceProfile {
*/
private int calculateQsbWidth() {
if (isQsbInline) {
int columns = isTwoPanels ? inv.numColumns * 2 : inv.numColumns;
int columns = getPanelCount() * inv.numColumns;
return getIconToIconWidthForColumns(columns)
- iconSizePx * numShownHotseatIcons
- hotseatBorderSpace * numShownHotseatIcons;
@@ -954,13 +963,6 @@ public class DeviceProfile {
return workspaceSpringLoadShrunkBottom;
}
/**
* Gets the minimum visible amount of the next workspace page when in the spring-loaded state.
*/
private float getWorkspaceSpringLoadedMinimumNextPageVisible() {
return getCellSize().x / 2f;
}
/**
* Gets the scale of the workspace for the spring-loaded edit state.
*/
@@ -972,8 +974,7 @@ public class DeviceProfile {
// Reduce scale if next pages would not be visible after scaling the workspace
int workspaceWidth = availableWidthPx;
float scaledWorkspaceWidth = workspaceWidth * scale;
float maxAvailableWidth =
workspaceWidth - (2 * getWorkspaceSpringLoadedMinimumNextPageVisible());
float maxAvailableWidth = workspaceWidth - (2 * workspaceSpringLoadedMinNextPageVisiblePx);
if (scaledWorkspaceWidth > maxAvailableWidth) {
scale *= maxAvailableWidth / scaledWorkspaceWidth;
}
@@ -1412,11 +1413,19 @@ public class DeviceProfile {
writer.println(prefix + pxToDpStr("dropTargetBarSizePx", dropTargetBarSizePx));
writer.println(
prefix + pxToDpStr("dropTargetBarBottomMarginPx", dropTargetBarBottomMarginPx));
writer.println(prefix + pxToDpStr("dropTargetButtonWorkspaceEdgeGapPx",
dropTargetButtonWorkspaceEdgeGapPx));
writer.println(prefix + pxToDpStr("dropTargetButtonScreenEdgeGapPx",
dropTargetButtonScreenEdgeGapPx));
writer.println(
prefix + pxToDpStr("workspaceSpringLoadShrunkTop", workspaceSpringLoadShrunkTop));
writer.println(prefix + pxToDpStr("workspaceSpringLoadShrunkBottom",
workspaceSpringLoadShrunkBottom));
writer.println(prefix + pxToDpStr("workspaceSpringLoadedBottomSpace",
workspaceSpringLoadedBottomSpace));
writer.println(prefix + pxToDpStr("workspaceSpringLoadedMinNextPageVisiblePx",
workspaceSpringLoadedMinNextPageVisiblePx));
writer.println(
prefix + pxToDpStr("getWorkspaceSpringLoadScale()", getWorkspaceSpringLoadScale()));
}