summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ibrahim Yilmaz <iyz@google.com> 2024-09-30 14:40:33 +0000
committer Ibrahim Yilmaz <iyz@google.com> 2024-09-30 14:51:22 +0000
commit08409a362bba0de27b2daeb8f62d023e7a0809e8 (patch)
treed6dc3aef45fdd0719645e17c1fc977720fabe1d1
parent5ade2514bb9a03158e11e5cd2f39ff006885c68b (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.java12
-rw-r--r--core/tests/coretests/src/android/app/NotificationTest.java21
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")