diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index e41b994223368..bde554323a735 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -7247,7 +7247,9 @@ public class NotificationManagerService extends SystemService { if (index < 0) { mNotificationList.add(r); mUsageStats.registerPostedByApp(r); - r.setInterruptive(isVisuallyInterruptive(null, r)); + final boolean isInterruptive = isVisuallyInterruptive(null, r); + r.setInterruptive(isInterruptive); + r.setTextChanged(isInterruptive); } else { old = mNotificationList.get(index); // Potentially *changes* old mNotificationList.set(index, r); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index 31e7ad08311c4..58089648ceca5 100755 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -3858,6 +3858,19 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { r.getStats().getDismissalSentiment()); } + @Test + public void testTextChangedSet_forNewNotifs() throws Exception { + NotificationRecord original = generateNotificationRecord(mTestNotificationChannel); + mService.addEnqueuedNotification(original); + + NotificationManagerService.PostNotificationRunnable runnable = + mService.new PostNotificationRunnable(original.getKey()); + runnable.run(); + waitForIdle(); + + assertTrue(original.isTextChanged()); + } + @Test public void testVisuallyInterruptive_notSeen() throws Exception { NotificationRecord original = generateNotificationRecord(mTestNotificationChannel);