Loading res/values/attrs.xml +10 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,16 @@ <attr name="demoModeLayoutId" format="reference" /> </declare-styleable> <declare-styleable name="DevicePadding"> <attr name="maxEmptySpace" format="dimension" /> </declare-styleable> <declare-styleable name="DevicePaddingFormula"> <attr name="a" format="float|dimension" /> <attr name="b" format="float|dimension" /> <attr name="c" format="float|dimension" /> </declare-styleable> <declare-styleable name="ProfileDisplayOption"> <attr name="name" /> <attr name="minWidthDps" format="float" /> Loading res/values/dimens.xml +3 −1 Original line number Diff line number Diff line Loading @@ -20,12 +20,14 @@ <!-- Dynamic Grid --> <dimen name="dynamic_grid_edge_margin">8dp</dimen> <dimen name="dynamic_grid_icon_drawable_padding">8dp</dimen> <dimen name="dynamic_grid_icon_drawable_padding">7dp</dimen> <!-- Minimum space between workspace and hotseat in spring loaded mode --> <dimen name="dynamic_grid_min_spring_loaded_space">8dp</dimen> <dimen name="dynamic_grid_cell_border_spacing">16dp</dimen> <dimen name="dynamic_grid_cell_layout_padding">5.5dp</dimen> <dimen name="dynamic_grid_cell_padding_x">8dp</dimen> <dimen name="dynamic_grid_cell_padding_y">7dp</dimen> <!-- Hotseat --> <dimen name="dynamic_grid_hotseat_top_padding">8dp</dimen> Loading res/xml/size_limits.xml 0 → 100644 +75 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2021 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <device-paddings xmlns:launcher="http://schemas.android.com/apk/res-auto" > <device-padding launcher:maxEmptySpace="88dp"> <workspaceTopPadding launcher:a="0" launcher:b="0"/> <workspaceBottomPadding launcher:a="0.52" launcher:b="0"/> <hotseatBottomPadding launcher:a="0.48" launcher:b="0"/> </device-padding> <device-padding launcher:maxEmptySpace="97dp"> <workspaceTopPadding launcher:a="0" launcher:b="16dp"/> <workspaceBottomPadding launcher:a="0.50" launcher:b="0" launcher:c="-16dp"/> <hotseatBottomPadding launcher:a="0.50" launcher:b="0" launcher:c="16dp"/> </device-padding> <device-padding launcher:maxEmptySpace="107dp"> <workspaceTopPadding launcher:a="0" launcher:b="16dp"/> <workspaceBottomPadding launcher:a="0" launcher:b="36dp"/> <hotseatBottomPadding launcher:a="1" launcher:b="0" launcher:c="52dp"/> </device-padding> <device-padding launcher:maxEmptySpace="9999dp"> <workspaceTopPadding launcher:a="0.38" launcher:c="36dp"/> <workspaceBottomPadding launcher:a="0.62" launcher:c="36dp"/> <hotseatBottomPadding launcher:a="0" launcher:b="36dp"/> </device-padding> </device-paddings> No newline at end of file src/com/android/launcher3/AppWidgetResizeFrame.java +15 −8 Original line number Diff line number Diff line Loading @@ -279,8 +279,9 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O * Based on the current deltas, we determine if and how to resize the widget. */ private void resizeWidgetIfNeeded(boolean onDismiss) { float xThreshold = mCellLayout.getCellWidth(); float yThreshold = mCellLayout.getCellHeight(); DeviceProfile dp = mLauncher.getDeviceProfile(); float xThreshold = mCellLayout.getCellWidth() + dp.cellLayoutBorderSpacingPx; float yThreshold = mCellLayout.getCellHeight() + dp.cellLayoutBorderSpacingPx; int hSpanInc = getSpanIncrement((mDeltaX + mDeltaXAddOn) / xThreshold - mRunningHInc); int vSpanInc = getSpanIncrement((mDeltaY + mDeltaYAddOn) / yThreshold - mRunningVInc); Loading Loading @@ -364,13 +365,18 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O final float density = context.getResources().getDisplayMetrics().density; final Point[] cellSize = CELL_SIZE.get(context); final int borderSpacing = context.getResources() .getDimensionPixelSize(R.dimen.dynamic_grid_cell_border_spacing); final float hBorderSpacing = (spanX - 1) * borderSpacing; final float vBorderSpacing = (spanY - 1) * borderSpacing; // Compute landscape size int landWidth = (int) ((spanX * cellSize[0].x) / density); int landHeight = (int) ((spanY * cellSize[0].y) / density); int landWidth = (int) (((spanX * cellSize[0].x) + hBorderSpacing) / density); int landHeight = (int) (((spanY * cellSize[0].y) + vBorderSpacing) / density); // Compute portrait size int portWidth = (int) ((spanX * cellSize[1].x) / density); int portHeight = (int) ((spanY * cellSize[1].y) / density); int portWidth = (int) (((spanX * cellSize[1].x) + hBorderSpacing) / density); int portHeight = (int) (((spanY * cellSize[1].y) + vBorderSpacing) / density); rect.set(portWidth, landHeight, landWidth, portHeight); return rect; } Loading @@ -384,8 +390,9 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O } private void onTouchUp() { int xThreshold = mCellLayout.getCellWidth(); int yThreshold = mCellLayout.getCellHeight(); DeviceProfile dp = mLauncher.getDeviceProfile(); int xThreshold = mCellLayout.getCellWidth() + dp.cellLayoutBorderSpacingPx; int yThreshold = mCellLayout.getCellHeight() + dp.cellLayoutBorderSpacingPx; mDeltaXAddOn = mRunningHInc * xThreshold; mDeltaYAddOn = mRunningVInc * yThreshold; Loading src/com/android/launcher3/BubbleTextView.java +10 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.launcher3; import static com.android.launcher3.FastBitmapDrawable.newIcon; import static com.android.launcher3.config.FeatureFlags.ENABLE_FOUR_COLUMNS; import static com.android.launcher3.graphics.IconShape.getShape; import static com.android.launcher3.graphics.PreloadIconDrawable.newPendingIcon; import static com.android.launcher3.icons.GraphicsUtils.setColorAlphaBound; Loading Loading @@ -194,6 +195,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx); setCompoundDrawablePadding(grid.iconDrawablePaddingPx); defaultIconSize = grid.iconSizePx; setCenterVertically(ENABLE_FOUR_COLUMNS.get()); } else if (mDisplay == DISPLAY_ALL_APPS) { setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx); setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx); Loading Loading @@ -228,7 +230,6 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, int shadowSize = context.getResources().getDimensionPixelSize( R.dimen.blur_size_click_shadow); mHighlightShadowFilter = new BlurMaskFilter(shadowSize, BlurMaskFilter.Blur.INNER); } @Override Loading Loading @@ -550,6 +551,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, outBounds.set(left, top, right, bottom); } /** * Sets whether to vertically center the content. */ public void setCenterVertically(boolean centerVertically) { mCenterVertically = centerVertically; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (mCenterVertically) { Loading Loading
res/values/attrs.xml +10 −0 Original line number Diff line number Diff line Loading @@ -135,6 +135,16 @@ <attr name="demoModeLayoutId" format="reference" /> </declare-styleable> <declare-styleable name="DevicePadding"> <attr name="maxEmptySpace" format="dimension" /> </declare-styleable> <declare-styleable name="DevicePaddingFormula"> <attr name="a" format="float|dimension" /> <attr name="b" format="float|dimension" /> <attr name="c" format="float|dimension" /> </declare-styleable> <declare-styleable name="ProfileDisplayOption"> <attr name="name" /> <attr name="minWidthDps" format="float" /> Loading
res/values/dimens.xml +3 −1 Original line number Diff line number Diff line Loading @@ -20,12 +20,14 @@ <!-- Dynamic Grid --> <dimen name="dynamic_grid_edge_margin">8dp</dimen> <dimen name="dynamic_grid_icon_drawable_padding">8dp</dimen> <dimen name="dynamic_grid_icon_drawable_padding">7dp</dimen> <!-- Minimum space between workspace and hotseat in spring loaded mode --> <dimen name="dynamic_grid_min_spring_loaded_space">8dp</dimen> <dimen name="dynamic_grid_cell_border_spacing">16dp</dimen> <dimen name="dynamic_grid_cell_layout_padding">5.5dp</dimen> <dimen name="dynamic_grid_cell_padding_x">8dp</dimen> <dimen name="dynamic_grid_cell_padding_y">7dp</dimen> <!-- Hotseat --> <dimen name="dynamic_grid_hotseat_top_padding">8dp</dimen> Loading
res/xml/size_limits.xml 0 → 100644 +75 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2021 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <device-paddings xmlns:launcher="http://schemas.android.com/apk/res-auto" > <device-padding launcher:maxEmptySpace="88dp"> <workspaceTopPadding launcher:a="0" launcher:b="0"/> <workspaceBottomPadding launcher:a="0.52" launcher:b="0"/> <hotseatBottomPadding launcher:a="0.48" launcher:b="0"/> </device-padding> <device-padding launcher:maxEmptySpace="97dp"> <workspaceTopPadding launcher:a="0" launcher:b="16dp"/> <workspaceBottomPadding launcher:a="0.50" launcher:b="0" launcher:c="-16dp"/> <hotseatBottomPadding launcher:a="0.50" launcher:b="0" launcher:c="16dp"/> </device-padding> <device-padding launcher:maxEmptySpace="107dp"> <workspaceTopPadding launcher:a="0" launcher:b="16dp"/> <workspaceBottomPadding launcher:a="0" launcher:b="36dp"/> <hotseatBottomPadding launcher:a="1" launcher:b="0" launcher:c="52dp"/> </device-padding> <device-padding launcher:maxEmptySpace="9999dp"> <workspaceTopPadding launcher:a="0.38" launcher:c="36dp"/> <workspaceBottomPadding launcher:a="0.62" launcher:c="36dp"/> <hotseatBottomPadding launcher:a="0" launcher:b="36dp"/> </device-padding> </device-paddings> No newline at end of file
src/com/android/launcher3/AppWidgetResizeFrame.java +15 −8 Original line number Diff line number Diff line Loading @@ -279,8 +279,9 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O * Based on the current deltas, we determine if and how to resize the widget. */ private void resizeWidgetIfNeeded(boolean onDismiss) { float xThreshold = mCellLayout.getCellWidth(); float yThreshold = mCellLayout.getCellHeight(); DeviceProfile dp = mLauncher.getDeviceProfile(); float xThreshold = mCellLayout.getCellWidth() + dp.cellLayoutBorderSpacingPx; float yThreshold = mCellLayout.getCellHeight() + dp.cellLayoutBorderSpacingPx; int hSpanInc = getSpanIncrement((mDeltaX + mDeltaXAddOn) / xThreshold - mRunningHInc); int vSpanInc = getSpanIncrement((mDeltaY + mDeltaYAddOn) / yThreshold - mRunningVInc); Loading Loading @@ -364,13 +365,18 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O final float density = context.getResources().getDisplayMetrics().density; final Point[] cellSize = CELL_SIZE.get(context); final int borderSpacing = context.getResources() .getDimensionPixelSize(R.dimen.dynamic_grid_cell_border_spacing); final float hBorderSpacing = (spanX - 1) * borderSpacing; final float vBorderSpacing = (spanY - 1) * borderSpacing; // Compute landscape size int landWidth = (int) ((spanX * cellSize[0].x) / density); int landHeight = (int) ((spanY * cellSize[0].y) / density); int landWidth = (int) (((spanX * cellSize[0].x) + hBorderSpacing) / density); int landHeight = (int) (((spanY * cellSize[0].y) + vBorderSpacing) / density); // Compute portrait size int portWidth = (int) ((spanX * cellSize[1].x) / density); int portHeight = (int) ((spanY * cellSize[1].y) / density); int portWidth = (int) (((spanX * cellSize[1].x) + hBorderSpacing) / density); int portHeight = (int) (((spanY * cellSize[1].y) + vBorderSpacing) / density); rect.set(portWidth, landHeight, landWidth, portHeight); return rect; } Loading @@ -384,8 +390,9 @@ public class AppWidgetResizeFrame extends AbstractFloatingView implements View.O } private void onTouchUp() { int xThreshold = mCellLayout.getCellWidth(); int yThreshold = mCellLayout.getCellHeight(); DeviceProfile dp = mLauncher.getDeviceProfile(); int xThreshold = mCellLayout.getCellWidth() + dp.cellLayoutBorderSpacingPx; int yThreshold = mCellLayout.getCellHeight() + dp.cellLayoutBorderSpacingPx; mDeltaXAddOn = mRunningHInc * xThreshold; mDeltaYAddOn = mRunningVInc * yThreshold; Loading
src/com/android/launcher3/BubbleTextView.java +10 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.launcher3; import static com.android.launcher3.FastBitmapDrawable.newIcon; import static com.android.launcher3.config.FeatureFlags.ENABLE_FOUR_COLUMNS; import static com.android.launcher3.graphics.IconShape.getShape; import static com.android.launcher3.graphics.PreloadIconDrawable.newPendingIcon; import static com.android.launcher3.icons.GraphicsUtils.setColorAlphaBound; Loading Loading @@ -194,6 +195,7 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx); setCompoundDrawablePadding(grid.iconDrawablePaddingPx); defaultIconSize = grid.iconSizePx; setCenterVertically(ENABLE_FOUR_COLUMNS.get()); } else if (mDisplay == DISPLAY_ALL_APPS) { setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx); setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx); Loading Loading @@ -228,7 +230,6 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, int shadowSize = context.getResources().getDimensionPixelSize( R.dimen.blur_size_click_shadow); mHighlightShadowFilter = new BlurMaskFilter(shadowSize, BlurMaskFilter.Blur.INNER); } @Override Loading Loading @@ -550,6 +551,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, outBounds.set(left, top, right, bottom); } /** * Sets whether to vertically center the content. */ public void setCenterVertically(boolean centerVertically) { mCenterVertically = centerVertically; } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { if (mCenterVertically) { Loading