Re-enable badges, with all dots

am: f77a6f7fd7

Change-Id: I139ea47c73ee01a2777132f63b1d8add687579b0
This commit is contained in:
Tony Wickham
2017-04-27 21:49:08 +00:00
committed by android-build-merger
6 changed files with 10 additions and 15 deletions
+1 -1
View File
@@ -17,7 +17,7 @@
--> -->
<resources> <resources>
<bool name="notification_badging_enabled">false</bool> <bool name="notification_badging_enabled">true</bool>
<bool name="enable_install_shortcut_api">false</bool> <bool name="enable_install_shortcut_api">false</bool>
</resources> </resources>
@@ -38,6 +38,8 @@ import com.android.launcher3.graphics.ShadowGenerator;
*/ */
public class BadgeRenderer { public class BadgeRenderer {
private static final boolean DOTS_ONLY = true;
// The badge sizes are defined as percentages of the app icon size. // The badge sizes are defined as percentages of the app icon size.
private static final float SIZE_PERCENTAGE = 0.38f; private static final float SIZE_PERCENTAGE = 0.38f;
// Used to expand the width of the badge for each additional digit. // Used to expand the width of the badge for each additional digit.
@@ -101,7 +103,7 @@ public class BadgeRenderer {
String notificationCount = badgeInfo == null ? "0" String notificationCount = badgeInfo == null ? "0"
: String.valueOf(badgeInfo.getNotificationCount()); : String.valueOf(badgeInfo.getNotificationCount());
int numChars = notificationCount.length(); int numChars = notificationCount.length();
int width = mSize + mCharSize * (numChars - 1); int width = DOTS_ONLY ? mSize : mSize + mCharSize * (numChars - 1);
// Lazily load the background with shadow. // Lazily load the background with shadow.
Bitmap backgroundWithShadow = mBackgroundsWithShadow.get(numChars); Bitmap backgroundWithShadow = mBackgroundsWithShadow.get(numChars);
if (backgroundWithShadow == null) { if (backgroundWithShadow == null) {
@@ -112,8 +114,8 @@ public class BadgeRenderer {
// We draw the badge relative to its center. // We draw the badge relative to its center.
int badgeCenterX = iconBounds.right - width / 2; int badgeCenterX = iconBounds.right - width / 2;
int badgeCenterY = iconBounds.top + mSize / 2; int badgeCenterY = iconBounds.top + mSize / 2;
boolean isText = badgeInfo != null && badgeInfo.getNotificationCount() != 0; boolean isText = !DOTS_ONLY && badgeInfo != null && badgeInfo.getNotificationCount() != 0;
boolean isIcon = icon != null; boolean isIcon = !DOTS_ONLY && icon != null;
boolean isDot = !(isText || isIcon); boolean isDot = !(isText || isIcon);
if (isDot) { if (isDot) {
badgeScale *= DOT_SCALE; badgeScale *= DOT_SCALE;
@@ -35,7 +35,7 @@ public class IconPalette {
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static final String TAG = "IconPalette"; private static final String TAG = "IconPalette";
public static final IconPalette FOLDER_ICON_PALETTE = new IconPalette(Color.WHITE); public static final IconPalette FOLDER_ICON_PALETTE = new IconPalette(Color.parseColor("#BDC1C6"));
private static final float MIN_PRELOAD_COLOR_SATURATION = 0.2f; private static final float MIN_PRELOAD_COLOR_SATURATION = 0.2f;
private static final float MIN_PRELOAD_COLOR_LIGHTNESS = 0.6f; private static final float MIN_PRELOAD_COLOR_LIGHTNESS = 0.6f;
@@ -87,8 +87,6 @@ public class ShadowGenerator {
float shadowRadius = height * 1f / 32; float shadowRadius = height * 1f / 32;
float shadowYOffset = height * 1f / 16; float shadowYOffset = height * 1f / 16;
int ambientShadowAlpha = AMBIENT_SHADOW_ALPHA / 2;
int keyShadowAlpha = KEY_SHADOW_ALPHA / 2;
int radius = height / 2; int radius = height / 2;
@@ -109,11 +107,11 @@ public class ShadowGenerator {
int bottom = center + height / 2; int bottom = center + height / 2;
// Draw ambient shadow, center aligned within size // Draw ambient shadow, center aligned within size
blurPaint.setAlpha(ambientShadowAlpha); blurPaint.setAlpha(AMBIENT_SHADOW_ALPHA);
canvas.drawRoundRect(left, top, right, bottom, radius, radius, blurPaint); canvas.drawRoundRect(left, top, right, bottom, radius, radius, blurPaint);
// Draw key shadow, bottom aligned within size // Draw key shadow, bottom aligned within size
blurPaint.setAlpha(keyShadowAlpha); blurPaint.setAlpha(KEY_SHADOW_ALPHA);
canvas.drawRoundRect(left, top + shadowYOffset, right, bottom + shadowYOffset, canvas.drawRoundRect(left, top + shadowYOffset, right, bottom + shadowYOffset,
radius, radius, blurPaint); radius, radius, blurPaint);
@@ -37,7 +37,7 @@ public class NotificationKeyData {
private NotificationKeyData(String notificationKey, String shortcutId, int count) { private NotificationKeyData(String notificationKey, String shortcutId, int count) {
this.notificationKey = notificationKey; this.notificationKey = notificationKey;
this.shortcutId = shortcutId; this.shortcutId = shortcutId;
this.count = count; this.count = Math.max(1, count);
} }
public static NotificationKeyData fromNotification(StatusBarNotification sbn) { public static NotificationKeyData fromNotification(StatusBarNotification sbn) {
@@ -562,11 +562,6 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
} }
private void updateNotificationHeader() { private void updateNotificationHeader() {
if (true) {
// For now, don't show any number in the popup.
// TODO: determine whether a number makes sense, and if not, remove associated code.
return;
}
ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag(); ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag();
BadgeInfo badgeInfo = mLauncher.getPopupDataProvider().getBadgeInfoForItem(itemInfo); BadgeInfo badgeInfo = mLauncher.getPopupDataProvider().getBadgeInfoForItem(itemInfo);
if (mNotificationItemView != null && badgeInfo != null) { if (mNotificationItemView != null && badgeInfo != null) {