diff --git a/core/java/com/android/internal/util/NotificationMessagingUtil.java b/core/java/com/android/internal/util/NotificationMessagingUtil.java index b962d4fc9f5e4..bf796cddd89e0 100644 --- a/core/java/com/android/internal/util/NotificationMessagingUtil.java +++ b/core/java/com/android/internal/util/NotificationMessagingUtil.java @@ -26,7 +26,6 @@ import android.os.Looper; import android.os.UserHandle; import android.provider.Settings; import android.service.notification.StatusBarNotification; -import android.text.TextUtils; import android.util.ArrayMap; import java.util.Objects; @@ -47,6 +46,18 @@ public class NotificationMessagingUtil { Settings.Secure.getUriFor(DEFAULT_SMS_APP_SETTING), false, mSmsContentObserver); } + public boolean isImportantMessaging(StatusBarNotification sbn, int importance) { + if (importance < NotificationManager.IMPORTANCE_LOW) { + return false; + } + + return hasMessagingStyle(sbn) || (isCategoryMessage(sbn) && isDefaultMessagingApp(sbn)); + } + + public boolean isMessaging(StatusBarNotification sbn) { + return hasMessagingStyle(sbn) || isDefaultMessagingApp(sbn) || isCategoryMessage(sbn); + } + @SuppressWarnings("deprecation") private boolean isDefaultMessagingApp(StatusBarNotification sbn) { final int userId = sbn.getUserId(); @@ -73,25 +84,12 @@ public class NotificationMessagingUtil { } }; - public boolean isImportantMessaging(StatusBarNotification sbn, int importance) { - if (importance < NotificationManager.IMPORTANCE_LOW) { - return false; - } - - return isMessaging(sbn); + private boolean hasMessagingStyle(StatusBarNotification sbn) { + Class style = sbn.getNotification().getNotificationStyle(); + return Notification.MessagingStyle.class.equals(style); } - public boolean isMessaging(StatusBarNotification sbn) { - Class style = sbn.getNotification().getNotificationStyle(); - if (Notification.MessagingStyle.class.equals(style)) { - return true; - } - - if (Notification.CATEGORY_MESSAGE.equals(sbn.getNotification().category) - && isDefaultMessagingApp(sbn)) { - return true; - } - - return false; + private boolean isCategoryMessage(StatusBarNotification sbn) { + return Notification.CATEGORY_MESSAGE.equals(sbn.getNotification().category); } }