diff options
author | Tony Wickham <twickham@google.com> | 2017-03-20 21:29:20 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-03-20 21:29:20 +0000 |
commit | 3dc60c6e3932e9770f3b8f48ba3004596a93a9d8 (patch) | |
tree | dab81e02c26eea62ddd74882ee36b116882e2e1d | |
parent | b00fcd4e49eae98304b98bde24804dc0dedcfbee (diff) | |
parent | 74884ce164b228afe93f4cae5f0351ec969ed55c (diff) | |
download | android_packages_apps_Trebuchet-3dc60c6e3932e9770f3b8f48ba3004596a93a9d8.tar.gz android_packages_apps_Trebuchet-3dc60c6e3932e9770f3b8f48ba3004596a93a9d8.tar.bz2 android_packages_apps_Trebuchet-3dc60c6e3932e9770f3b8f48ba3004596a93a9d8.zip |
Merge "Filter out some notifications." into ub-launcher3-dorval
-rw-r--r-- | src/com/android/launcher3/notification/NotificationInfo.java | 15 | ||||
-rw-r--r-- | src/com/android/launcher3/notification/NotificationListener.java | 13 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/launcher3/notification/NotificationInfo.java b/src/com/android/launcher3/notification/NotificationInfo.java index 58e2e039f..ba7675c5d 100644 --- a/src/com/android/launcher3/notification/NotificationInfo.java +++ b/src/com/android/launcher3/notification/NotificationInfo.java @@ -42,11 +42,6 @@ import com.android.launcher3.util.PackageUserKey; */ public class NotificationInfo implements View.OnClickListener { - // TODO: use Notification constants directly. - public static final int BADGE_ICON_NONE = 0; - public static final int BADGE_ICON_SMALL = 1; - public static final int BADGE_ICON_LARGE = 2; - public final PackageUserKey packageUserKey; public final String notificationKey; public final CharSequence title; @@ -69,10 +64,10 @@ public class NotificationInfo implements View.OnClickListener { Notification notification = statusBarNotification.getNotification(); title = notification.extras.getCharSequence(Notification.EXTRA_TITLE); text = notification.extras.getCharSequence(Notification.EXTRA_TEXT); - mBadgeIcon = BADGE_ICON_LARGE; // TODO: get from the Notification + mBadgeIcon = notification.getBadgeIcon(); // Load the icon. Since it is backed by ashmem, we won't copy the entire bitmap // into our process as long as we don't touch it and it exists in systemui. - Icon icon = mBadgeIcon == BADGE_ICON_SMALL ? null : notification.getLargeIcon(); + Icon icon = mBadgeIcon == Notification.BADGE_ICON_SMALL ? null : notification.getLargeIcon(); if (icon == null) { // Use the small icon. icon = notification.getSmallIcon(); @@ -88,7 +83,7 @@ public class NotificationInfo implements View.OnClickListener { mIconDrawable = new BitmapDrawable(context.getResources(), LauncherAppState .getInstance(context).getIconCache() .getDefaultIcon(statusBarNotification.getUser())); - mBadgeIcon = BADGE_ICON_NONE; + mBadgeIcon = Notification.BADGE_ICON_NONE; } intent = notification.contentIntent; autoCancel = (notification.flags & Notification.FLAG_AUTO_CANCEL) != 0; @@ -133,7 +128,7 @@ public class NotificationInfo implements View.OnClickListener { public boolean shouldShowIconInBadge() { // If the icon we're using for this notification matches what the Notification // specified should show in the badge, then return true. - return mIsIconLarge && mBadgeIcon == BADGE_ICON_LARGE - || !mIsIconLarge && mBadgeIcon == BADGE_ICON_SMALL; + return mIsIconLarge && mBadgeIcon == Notification.BADGE_ICON_LARGE + || !mIsIconLarge && mBadgeIcon == Notification.BADGE_ICON_SMALL; } } diff --git a/src/com/android/launcher3/notification/NotificationListener.java b/src/com/android/launcher3/notification/NotificationListener.java index d9f7d7634..16cb5fbb0 100644 --- a/src/com/android/launcher3/notification/NotificationListener.java +++ b/src/com/android/launcher3/notification/NotificationListener.java @@ -17,6 +17,7 @@ package com.android.launcher3.notification; import android.app.Notification; +import android.app.NotificationChannel; import android.os.Handler; import android.os.Looper; import android.os.Message; @@ -24,6 +25,7 @@ import android.service.notification.NotificationListenerService; import android.service.notification.StatusBarNotification; import android.support.annotation.Nullable; import android.support.v4.util.Pair; +import android.text.TextUtils; import com.android.launcher3.LauncherModel; import com.android.launcher3.Utilities; @@ -222,8 +224,17 @@ public class NotificationListener extends NotificationListenerService { } } Notification notification = sbn.getNotification(); + if (mTempRanking.getChannel().getId().equals(NotificationChannel.DEFAULT_CHANNEL_ID)) { + // Special filtering for the default, legacy "Miscellaneous" channel. + if ((notification.flags & Notification.FLAG_ONGOING_EVENT) != 0) { + return true; + } + } boolean isGroupHeader = (notification.flags & Notification.FLAG_GROUP_SUMMARY) != 0; - return (notification.contentIntent == null || isGroupHeader); + CharSequence title = notification.extras.getCharSequence(Notification.EXTRA_TITLE); + CharSequence text = notification.extras.getCharSequence(Notification.EXTRA_TEXT); + boolean missingTitleOrText = TextUtils.isEmpty(title) || TextUtils.isEmpty(text); + return (notification.contentIntent == null || isGroupHeader || missingTitleOrText); } public interface NotificationsChangedListener { |