Merge "[RONs] Add ProgressStyle to promotion logic" into main
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index c21fe0e..e8b0a36f 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -3216,11 +3216,13 @@
*/
@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 edcea24..e9b137c 100644
--- a/core/tests/coretests/src/android/app/NotificationTest.java
+++ b/core/tests/coretests/src/android/app/NotificationTest.java
@@ -439,6 +439,27 @@
}
@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")