Adds a BigPicAmbient flag to WearableExtender
This adds the BigPicAmbient flag to WearableExtender, demonstrating that
a BigPictureStyle on a Notification (pimary page or content page)
should be converted to low-bit black and white on entering ambient,
and should stick around during ambient instead of being closed. This
is mostly for QR and barcodes for situations akin to flights.
Bug:28042177
Change-Id: I84065ab3966301c063d393b8fa6451ec527944b9
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 052874f..25c098c 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5394,6 +5394,7 @@
private static final int FLAG_HINT_SHOW_BACKGROUND_ONLY = 1 << 2;
private static final int FLAG_START_SCROLL_BOTTOM = 1 << 3;
private static final int FLAG_HINT_AVOID_BACKGROUND_CLIPPING = 1 << 4;
+ private static final int FLAG_BIG_PICTURE_AMBIENT = 1 << 5;
private static final int FLAG_HINT_CONTENT_INTENT_LAUNCHES_ACTIVITY = 1 << 6;
// Default value for flags integer
@@ -5962,6 +5963,29 @@
}
/**
+ * Set a hint that this notification's {@link BigPictureStyle} (if present) should be
+ * converted to low-bit and displayed in ambient mode, especially useful for barcodes and
+ * qr codes, as well as other simple black-and-white tickets.
+ * @param hintAmbientBigPicture {@code true} to enable converstion and ambient.
+ * @return this object for method chaining
+ */
+ public WearableExtender setHintAmbientBigPicture(boolean hintAmbientBigPicture) {
+ setFlag(FLAG_BIG_PICTURE_AMBIENT, hintAmbientBigPicture);
+ return this;
+ }
+
+ /**
+ * Get a hint that this notification's {@link BigPictureStyle} (if present) should be
+ * converted to low-bit and displayed in ambient mode, especially useful for barcodes and
+ * qr codes, as well as other simple black-and-white tickets.
+ * @return {@code true} if it should be displayed in ambient, false otherwise
+ * otherwise. The default value is {@code false} if this was never set.
+ */
+ public boolean getHintAmbientBigPicture() {
+ return (mFlags & FLAG_BIG_PICTURE_AMBIENT) != 0;
+ }
+
+ /**
* Set a hint that this notification's content intent will launch an {@link Activity}
* directly, telling the platform that it can generate the appropriate transitions.
* @param hintContentIntentLaunchesActivity {@code true} if the content intent will launch