From a2d85dec471a6659142a457a9a35e2252b295440 Mon Sep 17 00:00:00 2001 From: Charlie Anderson Date: Wed, 18 Oct 2023 23:12:26 -0400 Subject: [PATCH] Fixing polish issues with the U app shortcut popup design Test: locally verified against design Flag: NONE Bug: 304807548 Change-Id: Iff22b3515b638700fb66e856944ec4aa1287e401 --- res/values/dimens.xml | 3 ++- src/com/android/launcher3/popup/ArrowPopup.java | 3 ++- src/com/android/launcher3/views/OptionsPopupView.java | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 81c2337713..c0a1e0a605 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -284,7 +284,8 @@ 6dp 16dp - 32dp + + 35dp 2dp 100dp 4dp diff --git a/src/com/android/launcher3/popup/ArrowPopup.java b/src/com/android/launcher3/popup/ArrowPopup.java index 6b0815333a..0c7eea40f3 100644 --- a/src/com/android/launcher3/popup/ArrowPopup.java +++ b/src/com/android/launcher3/popup/ArrowPopup.java @@ -127,6 +127,7 @@ public abstract class ArrowPopup protected final float mElevation; + // Tag for Views that have children that will need to be iterated to add styling. private final String mIterateChildrenTag; protected final int[] mColorIds; @@ -244,7 +245,7 @@ public abstract class ArrowPopup for (int i = 0; i < count; i++) { View view = viewGroup.getChildAt(i); if (view.getVisibility() == VISIBLE) { - if (lastView != null) { + if (lastView != null && (isShortcutContainer(lastView))) { MarginLayoutParams mlp = (MarginLayoutParams) lastView.getLayoutParams(); mlp.bottomMargin = mChildContainerMargin; } diff --git a/src/com/android/launcher3/views/OptionsPopupView.java b/src/com/android/launcher3/views/OptionsPopupView.java index cf590855b7..cbc85b60d8 100644 --- a/src/com/android/launcher3/views/OptionsPopupView.java +++ b/src/com/android/launcher3/views/OptionsPopupView.java @@ -149,6 +149,13 @@ public class OptionsPopupView extends Arrow public void assignMarginsAndBackgrounds(ViewGroup viewGroup) { assignMarginsAndBackgrounds(viewGroup, getColorStateList(getContext(), mColorIds[0]).getDefaultColor()); + // last shortcut doesn't need bottom margin + final int count = viewGroup.getChildCount() - 1; + for (int i = 0; i < count; i++) { + // These are shortcuts and not shortcut containers, but they still need bottom margin + MarginLayoutParams mlp = (MarginLayoutParams) viewGroup.getChildAt(i).getLayoutParams(); + mlp.bottomMargin = mChildContainerMargin; + } } public static OptionsPopupView show(