Don't fade out active page outline during drag-and-drop
=> Keep page backgrounds stable and only slightly modify the alpha + add stroke for active page
=> Don't shrink cell outlines to be too small (issue in hotseat on some devices)
=> Reduce cell radius to 22dp
Bug: 185163323
Test: manual
Change-Id: Ic17999f5672a3355dceeb25af923f02e960389d9
diff --git a/res/color/cell_layout_bg_color_active.xml b/res/color/cell_layout_bg_color_active.xml
index e826489..d1a3d7c 100644
--- a/res/color/cell_layout_bg_color_active.xml
+++ b/res/color/cell_layout_bg_color_active.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:alpha="0.4"
+ <item android:alpha="0.3"
android:color="?android:attr/colorAccent"/>
</selector>
diff --git a/res/color/cell_layout_bg_color_inactive.xml b/res/color/cell_layout_bg_color_inactive.xml
index d60a27a..0632100 100644
--- a/res/color/cell_layout_bg_color_inactive.xml
+++ b/res/color/cell_layout_bg_color_inactive.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:alpha="0.3"
+ <item android:alpha="0.25"
android:color="?android:attr/colorAccent"/>
</selector>
\ No newline at end of file
diff --git a/res/values/config.xml b/res/values/config.xml
index f8a517d..1e78373 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -35,7 +35,7 @@
<!-- Workspace -->
<!-- The duration (in ms) of the fade animation on the object outlines, used when
we are dragging objects around on the home screen. -->
- <integer name="config_dragOutlineFadeTime">900</integer>
+ <integer name="config_dragOutlineFadeTime">500</integer>
<!-- The alpha value at which to show the most recent drop visualization outline. -->
<integer name="config_dragOutlineMaxAlpha">255</integer>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 600a550..0a6cce9 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -293,7 +293,7 @@
<dimen name="overview_task_margin">0dp</dimen>
<!-- Workspace grid visualization parameters -->
- <dimen name="grid_visualization_rounding_radius">28dp</dimen>
+ <dimen name="grid_visualization_rounding_radius">22dp</dimen>
<dimen name="grid_visualization_cell_spacing">6dp</dimen>
</resources>
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index c3816cc..2f755e1 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -502,7 +502,7 @@
}
private void updateBgAlpha() {
- mBackground.setAlpha((int) (mSpringLoadedProgress * mScrollProgress * 255));
+ mBackground.setAlpha((int) (mSpringLoadedProgress * 255));
}
/**
@@ -525,9 +525,12 @@
}
protected void visualizeGrid(Canvas canvas) {
- mVisualizeGridRect.set(mGridVisualizationPadding, mGridVisualizationPadding,
- mCellWidth - mGridVisualizationPadding,
- mCellHeight - mGridVisualizationPadding);
+ DeviceProfile dp = mActivity.getDeviceProfile();
+ int paddingX = (int) Math.min((mCellWidth - dp.iconSizePx) / 2, mGridVisualizationPadding);
+ int paddingY = (int) Math.min((mCellHeight - dp.iconSizePx) / 2, mGridVisualizationPadding);
+ mVisualizeGridRect.set(paddingX, paddingY,
+ mCellWidth - paddingX,
+ mCellHeight - paddingY);
mVisualizeGridPaint.setStrokeWidth(8);
int paintAlpha = (int) (120 * mGridAlpha);
@@ -537,9 +540,9 @@
for (int i = 0; i < mCountX; i++) {
for (int j = 0; j < mCountY; j++) {
int transX = i * mCellWidth + (i * mBorderSpacing) + getPaddingLeft()
- + mGridVisualizationPadding;
+ + paddingX;
int transY = j * mCellHeight + (j * mBorderSpacing) + getPaddingTop()
- + mGridVisualizationPadding;
+ + paddingY;
mVisualizeGridRect.offsetTo(transX, transY);
mVisualizeGridPaint.setStyle(Paint.Style.FILL);
@@ -560,14 +563,14 @@
int spanX = mDragOutlines[i].cellHSpan;
int spanY = mDragOutlines[i].cellVSpan;
- mVisualizeGridRect.set(mGridVisualizationPadding, mGridVisualizationPadding,
- mCellWidth * spanX - mGridVisualizationPadding,
- mCellHeight * spanY - mGridVisualizationPadding);
+ mVisualizeGridRect.set(paddingX, paddingY,
+ mCellWidth * spanX - paddingX,
+ mCellHeight * spanY - paddingY);
int transX = x * mCellWidth + (x * mBorderSpacing)
- + getPaddingLeft() + mGridVisualizationPadding;
+ + getPaddingLeft() + paddingX;
int transY = y * mCellHeight + (y * mBorderSpacing)
- + getPaddingTop() + mGridVisualizationPadding;
+ + getPaddingTop() + paddingY;
mVisualizeGridRect.offsetTo(transX, transY);