summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/FastBitmapDrawable.java
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-01-20 08:15:28 -0800
committerTony Wickham <twickham@google.com>2017-01-25 09:51:06 -0800
commit010d2550184179785e4467ff1ffb4f4f4e850ec2 (patch)
tree533ad5bc79d26b10fda6a4ab7a88f5d43643c4ea /src/com/android/launcher3/FastBitmapDrawable.java
parentc711e6006f380a500a48383b4f079258b47d4a0d (diff)
downloadandroid_packages_apps_Trebuchet-010d2550184179785e4467ff1ffb4f4f4e850ec2.tar.gz
android_packages_apps_Trebuchet-010d2550184179785e4467ff1ffb4f4f4e850ec2.tar.bz2
android_packages_apps_Trebuchet-010d2550184179785e4467ff1ffb4f4f4e850ec2.zip
Add NotificationListener to launcher.
- NotificationListener extends NotificationListenerService, and is added to the manifest. - Added PopupDataProvider, which contains logic for storing and interacting with data that goes into the long-press popup menu (shortcuts and notifications). A follow-up CL will rename DeepShortcutsContainer to a generic PopupContainerWithArrow. - If Launcher has notification access, NotificationListener will get callbacks when notifications are posted and removed; upon receiving these callbacks, NotificationListener passes them to PopupDataProvider via a NotificationsChangedListener interface. - Upon receiving the changed notifications, PopupDataProvider maps them to the corresponding package/user and tells launcher to update relevant icons on the workspace and all apps. This is guarded by FeatureFlags.BADGE_ICONS. Bug: 32410600 Change-Id: I59aeb31a7f92399c9c4b831ab551e51e13f44f5c
Diffstat (limited to 'src/com/android/launcher3/FastBitmapDrawable.java')
-rw-r--r--src/com/android/launcher3/FastBitmapDrawable.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/com/android/launcher3/FastBitmapDrawable.java b/src/com/android/launcher3/FastBitmapDrawable.java
index b3e59f99b..587d44552 100644
--- a/src/com/android/launcher3/FastBitmapDrawable.java
+++ b/src/com/android/launcher3/FastBitmapDrawable.java
@@ -30,12 +30,13 @@ import android.graphics.PixelFormat;
import android.graphics.PorterDuff;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
+import android.util.Log;
import android.util.SparseArray;
import android.view.animation.DecelerateInterpolator;
-import com.android.launcher3.graphics.IconPalette;
-import com.android.launcher3.badge.BadgeRenderer;
import com.android.launcher3.badge.BadgeInfo;
+import com.android.launcher3.badge.BadgeRenderer;
+import com.android.launcher3.graphics.IconPalette;
public class FastBitmapDrawable extends Drawable {
private static final float DISABLED_DESATURATION = 1f;
@@ -123,13 +124,17 @@ public class FastBitmapDrawable extends Drawable {
}
public void applyIconBadge(BadgeInfo badgeInfo, BadgeRenderer badgeRenderer) {
+ boolean wasBadged = mBadgeInfo != null;
+ boolean isBadged = badgeInfo != null;
mBadgeInfo = badgeInfo;
mBadgeRenderer = badgeRenderer;
- if (mIconPalette == null) {
- mIconPalette = IconPalette.fromDominantColor(Utilities
- .findDominantColorByHue(mBitmap, 20));
+ if (wasBadged || isBadged) {
+ if (mBadgeInfo != null && mIconPalette == null) {
+ mIconPalette = IconPalette.fromDominantColor(Utilities
+ .findDominantColorByHue(mBitmap, 20));
+ }
+ invalidateSelf();
}
- invalidateSelf();
}
@Override
@@ -157,7 +162,7 @@ public class FastBitmapDrawable extends Drawable {
}
private boolean hasBadge() {
- return mBadgeInfo != null && mBadgeInfo.getNotificationCount() != null;
+ return mBadgeInfo != null && mBadgeInfo.getNotificationCount() != 0;
}
@Override