From c96fa247a3359ffd26592984d448998061fecc19 Mon Sep 17 00:00:00 2001 From: Samuel Fufa Date: Thu, 26 Sep 2019 23:06:32 -0700 Subject: Fix notification dot scale in AllApps with grid size enabled Test: Manual Bug: 141262820 Change-Id: I24abf822edaeeabf335ed698a3ac1a65b71be7dc --- src/com/android/launcher3/BubbleTextView.java | 16 +++++++++++----- src/com/android/launcher3/DeviceProfile.java | 8 ++++++-- src/com/android/launcher3/folder/FolderIcon.java | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index 4d177103d..7adb6a442 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -104,6 +104,8 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, private Drawable mIcon; private final boolean mCenterVertically; + private final int mDisplay; + private final CheckLongPressHelper mLongPressHelper; private final StylusEventHelper mStylusEventHelper; private final float mSlop; @@ -155,21 +157,21 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, R.styleable.BubbleTextView, defStyle, 0); mLayoutHorizontal = a.getBoolean(R.styleable.BubbleTextView_layoutHorizontal, false); - int display = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE); + mDisplay = a.getInteger(R.styleable.BubbleTextView_iconDisplay, DISPLAY_WORKSPACE); final int defaultIconSize; - if (display == DISPLAY_WORKSPACE) { + if (mDisplay == DISPLAY_WORKSPACE) { DeviceProfile grid = mActivity.getWallpaperDeviceProfile(); setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.iconTextSizePx); setCompoundDrawablePadding(grid.iconDrawablePaddingPx); defaultIconSize = grid.iconSizePx; mIgnorePaddingTouch = true; - } else if (display == DISPLAY_ALL_APPS) { + } else if (mDisplay == DISPLAY_ALL_APPS) { DeviceProfile grid = mActivity.getDeviceProfile(); setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.allAppsIconTextSizePx); setCompoundDrawablePadding(grid.allAppsIconDrawablePaddingPx); defaultIconSize = grid.allAppsIconSizePx; mIgnorePaddingTouch = true; - } else if (display == DISPLAY_FOLDER) { + } else if (mDisplay == DISPLAY_FOLDER) { DeviceProfile grid = mActivity.getDeviceProfile(); setTextSize(TypedValue.COMPLEX_UNIT_PX, grid.folderChildTextSizePx); setCompoundDrawablePadding(grid.folderChildDrawablePaddingPx); @@ -582,7 +584,11 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, mDotInfo = mActivity.getDotInfoForItem(itemInfo); boolean isDotted = mDotInfo != null; float newDotScale = isDotted ? 1f : 0; - mDotRenderer = mActivity.getDeviceProfile().mDotRenderer; + if (mDisplay == DISPLAY_ALL_APPS) { + mDotRenderer = mActivity.getDeviceProfile().mDotRendererAllApps; + } else { + mDotRenderer = mActivity.getDeviceProfile().mDotRendererWorkSpace; + } if (wasDotted || isDotted) { // Animate when a dot is first added or when it is removed. if (animate && (wasDotted ^ isDotted) && isShown()) { diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index 44c307058..c034d2de2 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -129,7 +129,8 @@ public class DeviceProfile { private boolean mIsSeascape; // Notification dots - public DotRenderer mDotRenderer; + public DotRenderer mDotRendererWorkSpace; + public DotRenderer mDotRendererAllApps; public DeviceProfile(Context context, InvariantDeviceProfile inv, Point minSize, Point maxSize, @@ -230,8 +231,11 @@ public class DeviceProfile { updateWorkspacePadding(); // This is done last, after iconSizePx is calculated above. - mDotRenderer = new DotRenderer(iconSizePx, IconShape.getShapePath(), + mDotRendererWorkSpace = new DotRenderer(iconSizePx, IconShape.getShapePath(), IconShape.DEFAULT_PATH_SIZE); + mDotRendererAllApps = iconSizePx == allAppsIconSizePx ? mDotRendererWorkSpace : + new DotRenderer(allAppsIconSizePx, IconShape.getShapePath(), + IconShape.DEFAULT_PATH_SIZE); } public DeviceProfile copy(Context context) { diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index a463c7a30..38406395a 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -176,7 +176,7 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel icon.setOnClickListener(ItemClickHandler.INSTANCE); icon.mInfo = folderInfo; icon.mLauncher = launcher; - icon.mDotRenderer = grid.mDotRenderer; + icon.mDotRenderer = grid.mDotRendererWorkSpace; icon.setContentDescription(launcher.getString(R.string.folder_name_format, folderInfo.title)); Folder folder = Folder.fromXml(launcher); folder.setDragController(launcher.getDragController()); -- cgit v1.2.3