diff options
| author | 2024-09-30 14:40:33 +0000 | |
|---|---|---|
| committer | 2024-09-30 14:51:22 +0000 | |
| commit | 08409a362bba0de27b2daeb8f62d023e7a0809e8 (patch) | |
| tree | d6dc3aef45fdd0719645e17c1fc977720fabe1d1 | |
| parent | 5ade2514bb9a03158e11e5cd2f39ff006885c68b (diff) | |
[RONs] Add ProgressStyle to promotion logic
Bug: 367739672
Test: app/NotificationTest
Flag: android.app.api_rich_ongoing
Change-Id: Ic58f2b9970620c5f5214e96c17d7bf0da4948b07
| -rw-r--r-- | core/java/android/app/Notification.java | 12 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/app/NotificationTest.java | 21 |
2 files changed, 28 insertions, 5 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index c21fe0e2d8b3..e8b0a36ffcfc 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -3216,11 +3216,13 @@ public class Notification implements Parcelable */ @FlaggedApi(Flags.FLAG_UI_RICH_ONGOING) public boolean hasPromotableStyle() { - //TODO(b/367739672): Add progress style - return extras == null || !extras.containsKey(Notification.EXTRA_TEMPLATE) - || isStyle(Notification.BigPictureStyle.class) - || isStyle(Notification.BigTextStyle.class) - || isStyle(Notification.CallStyle.class); + final Class<? extends Style> notificationStyle = getNotificationStyle(); + + return notificationStyle == null + || BigPictureStyle.class.equals(notificationStyle) + || BigTextStyle.class.equals(notificationStyle) + || CallStyle.class.equals(notificationStyle) + || ProgressStyle.class.equals(notificationStyle); } /** diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java index edcea241e620..e9b137cd5477 100644 --- a/core/tests/coretests/src/android/app/NotificationTest.java +++ b/core/tests/coretests/src/android/app/NotificationTest.java @@ -439,6 +439,27 @@ public class NotificationTest { } @Test + @EnableFlags({Flags.FLAG_UI_RICH_ONGOING, Flags.FLAG_API_RICH_ONGOING}) + public void testHasPromotableStyle_progress() { + Notification n = new Notification.Builder(mContext, "test") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .setStyle(new Notification.ProgressStyle()) + .build(); + assertThat(n.hasPromotableStyle()).isTrue(); + } + + @Test + @EnableFlags({Flags.FLAG_UI_RICH_ONGOING}) + public void testHasPromotableStyle_unknownStyle() { + Notification n = new Notification.Builder(mContext, "test") + .setSmallIcon(android.R.drawable.sym_def_app_icon) + .setStyle(new NotAPlatformStyle()) + .build(); + + assertThat(n.hasPromotableStyle()).isTrue(); + } + + @Test @EnableFlags(Flags.FLAG_UI_RICH_ONGOING) public void testHasPromotableCharacteristics() { Notification n = new Notification.Builder(mContext, "test") |