From 05d98c246b05d86531d2734efdddbfa50c08a9bb Mon Sep 17 00:00:00 2001 From: Tony Date: Mon, 23 Jul 2018 08:01:15 -0700 Subject: Adjust notification dots - Use consistent bounds for folders as other icons, to ensure dot has a consistent placement (moved right+up a bit) - Strengthen the ambient shadow to improve contrast - Increased blur size and opacity - Use a dark gray rather than black for dots on dark folders Bug: 73331123 Change-Id: I888f4645d3a48465af93f5003dda8f8b7c3129f3 --- res/values/attrs.xml | 1 + res/values/styles.xml | 2 ++ src/com/android/launcher3/BubbleTextView.java | 12 ++++++++---- src/com/android/launcher3/badge/BadgeRenderer.java | 1 + src/com/android/launcher3/folder/FolderIcon.java | 6 +----- src/com/android/launcher3/folder/PreviewBackground.java | 5 ++++- src/com/android/launcher3/graphics/ShadowGenerator.java | 2 +- 7 files changed, 18 insertions(+), 11 deletions(-) diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 30091a5f7..045e4e98c 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -33,6 +33,7 @@ + diff --git a/res/values/styles.xml b/res/values/styles.xml index 07bd80071..7ea28ccf0 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -42,6 +42,7 @@ #44000000 @drawable/workspace_bg @style/WidgetContainerTheme + ?android:attr/colorPrimary @@ -70,6 +71,7 @@ #424242 #757575 @style/WidgetContainerTheme.Dark + #FF464646 true diff --git a/src/com/android/launcher3/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java index fb7c0ced4..fae199259 100644 --- a/src/com/android/launcher3/BubbleTextView.java +++ b/src/com/android/launcher3/BubbleTextView.java @@ -386,10 +386,14 @@ public class BubbleTextView extends TextView implements ItemInfoUpdateReceiver, } public void getIconBounds(Rect outBounds) { - int top = getPaddingTop(); - int left = (getWidth() - mIconSize) / 2; - int right = left + mIconSize; - int bottom = top + mIconSize; + getIconBounds(this, outBounds, mIconSize); + } + + public static void getIconBounds(View iconView, Rect outBounds, int iconSize) { + int top = iconView.getPaddingTop(); + int left = (iconView.getWidth() - iconSize) / 2; + int right = left + iconSize; + int bottom = top + iconSize; outBounds.set(left, top, right, bottom); } diff --git a/src/com/android/launcher3/badge/BadgeRenderer.java b/src/com/android/launcher3/badge/BadgeRenderer.java index 948742727..8998b24ed 100644 --- a/src/com/android/launcher3/badge/BadgeRenderer.java +++ b/src/com/android/launcher3/badge/BadgeRenderer.java @@ -60,6 +60,7 @@ public class BadgeRenderer { int size = (int) (DOT_SCALE * mDotCenterOffset); ShadowGenerator.Builder builder = new ShadowGenerator.Builder(Color.TRANSPARENT); + builder.ambientShadowAlpha = 88; mBackgroundWithShadow = builder.setupBlurForSize(size).createPill(size, size); mCircleRadius = builder.radius; diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index cb5d872ab..bdc40d738 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -25,7 +25,6 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Point; import android.graphics.Rect; -import android.graphics.Region; import android.graphics.drawable.Drawable; import android.os.Parcelable; import android.support.annotation.NonNull; @@ -490,10 +489,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { public void drawBadge(Canvas canvas) { if ((mBadgeInfo != null && mBadgeInfo.hasBadge()) || mBadgeScale > 0) { - int offsetX = mBackground.getOffsetX(); - int offsetY = mBackground.getOffsetY(); - int previewSize = (int) (mBackground.previewSize * mBackground.mScale); - mTempBounds.set(offsetX, offsetY, offsetX + previewSize, offsetY + previewSize); + BubbleTextView.getIconBounds(this, mTempBounds, mLauncher.getDeviceProfile().iconSizePx); // If we are animating to the accepting state, animate the badge out. float badgeScale = Math.max(0, mBadgeScale - mBackground.getScaleProgress()); diff --git a/src/com/android/launcher3/folder/PreviewBackground.java b/src/com/android/launcher3/folder/PreviewBackground.java index 069ec4ba1..b162fcf32 100644 --- a/src/com/android/launcher3/folder/PreviewBackground.java +++ b/src/com/android/launcher3/folder/PreviewBackground.java @@ -38,6 +38,7 @@ import com.android.launcher3.CellLayout; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Launcher; import com.android.launcher3.LauncherAnimUtils; +import com.android.launcher3.R; import com.android.launcher3.util.Themes; /** @@ -70,6 +71,7 @@ public class PreviewBackground { float mScale = 1f; private float mColorMultiplier = 1f; private int mBgColor; + private int mBadgeColor; private float mStrokeWidth; private int mStrokeAlpha = MAX_BG_OPACITY; private int mShadowAlpha = 255; @@ -132,6 +134,7 @@ public class PreviewBackground { int availableSpaceX, int topPadding) { mInvalidateDelegate = invalidateDelegate; mBgColor = Themes.getAttrColor(launcher, android.R.attr.colorPrimary); + mBadgeColor = Themes.getAttrColor(launcher, R.attr.folderBadgeColor); DeviceProfile grid = launcher.getDeviceProfile(); previewSize = grid.folderIconSizePx; @@ -198,7 +201,7 @@ public class PreviewBackground { } public int getBadgeColor() { - return mBgColor; + return mBadgeColor; } public void drawBackground(Canvas canvas) { diff --git a/src/com/android/launcher3/graphics/ShadowGenerator.java b/src/com/android/launcher3/graphics/ShadowGenerator.java index 5fbf502aa..e12095bd7 100644 --- a/src/com/android/launcher3/graphics/ShadowGenerator.java +++ b/src/com/android/launcher3/graphics/ShadowGenerator.java @@ -120,7 +120,7 @@ public class ShadowGenerator { } public Builder setupBlurForSize(int height) { - shadowBlur = height * 1f / 32; + shadowBlur = height * 1f / 24; keyShadowDistance = height * 1f / 16; return this; } -- cgit v1.2.3