From 83fa1073f577333e7f25ca8bc5ce1c13d4c6d9e5 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Wed, 17 Feb 2016 09:10:19 -0500 Subject: [PATCH] Increase the importance of noisy notifications. For apps with a targetSdkVersion < N. Bug: 27213267 Change-Id: I4c589d149a28357dbbd26344e7fadb59d8b50672 --- .../notification/NotificationRecord.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java index 484b0e95b3599..12c70a3fa83dd 100644 --- a/services/core/java/com/android/server/notification/NotificationRecord.java +++ b/services/core/java/com/android/server/notification/NotificationRecord.java @@ -23,11 +23,13 @@ import static android.service.notification.NotificationListenerService.Ranking.I import android.app.Notification; import android.content.Context; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.drawable.Icon; import android.media.AudioAttributes; +import android.os.Build; import android.os.UserHandle; import android.service.notification.NotificationListenerService; import android.service.notification.StatusBarNotification; @@ -146,6 +148,22 @@ public final class NotificationRecord { importance = IMPORTANCE_DEFAULT; } + try { + final ApplicationInfo applicationInfo = mContext.getPackageManager().getApplicationInfo( + sbn.getPackageName(), 0); + if (applicationInfo.targetSdkVersion < Build.VERSION_CODES.N) { + if (isNoisy) { + if (importance >= IMPORTANCE_HIGH) { + importance = IMPORTANCE_MAX; + } else { + importance = IMPORTANCE_HIGH; + } + } + } + } catch (NameNotFoundException e) { + // oh well. + } + if (n.fullScreenIntent != null) { importance = IMPORTANCE_MAX; }