diff options
| author | 2020-11-03 17:29:29 +0000 | |
|---|---|---|
| committer | 2020-11-03 17:29:29 +0000 | |
| commit | 352aab514dddbb2ec140fb74ece7ec7914c1280c (patch) | |
| tree | 80d558427093e6fb4a3bcacfda9805ed59edb9d3 | |
| parent | 8902c223aa675fe12b91084af9c0a8966377d30f (diff) | |
| parent | ef5f38e77b2750356f9de6c00a53751ec8ee1c8e (diff) | |
Merge "Add API for setting a content description for BigPictureStyle's picture"
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | core/api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/app/Notification.java | 34 |
3 files changed, 38 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 6459eb4c548a..2881025e54cf 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5528,6 +5528,7 @@ package android.app { field @Deprecated public static final String EXTRA_PEOPLE = "android.people"; field public static final String EXTRA_PEOPLE_LIST = "android.people.list"; field public static final String EXTRA_PICTURE = "android.picture"; + field public static final String EXTRA_PICTURE_CONTENT_DESCRIPTION = "android.pictureContentDescription"; field public static final String EXTRA_PROGRESS = "android.progress"; field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate"; field public static final String EXTRA_PROGRESS_MAX = "android.progressMax"; @@ -5673,6 +5674,7 @@ package android.app { method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.drawable.Icon); method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap); + method @NonNull public android.app.Notification.BigPictureStyle bigPictureContentDescription(@Nullable CharSequence); method public android.app.Notification.BigPictureStyle setBigContentTitle(CharSequence); method public android.app.Notification.BigPictureStyle setSummaryText(CharSequence); } diff --git a/core/api/current.txt b/core/api/current.txt index 05b57af1dccd..70bd0d9412ac 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -5528,6 +5528,7 @@ package android.app { field @Deprecated public static final String EXTRA_PEOPLE = "android.people"; field public static final String EXTRA_PEOPLE_LIST = "android.people.list"; field public static final String EXTRA_PICTURE = "android.picture"; + field public static final String EXTRA_PICTURE_CONTENT_DESCRIPTION = "android.pictureContentDescription"; field public static final String EXTRA_PROGRESS = "android.progress"; field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate"; field public static final String EXTRA_PROGRESS_MAX = "android.progressMax"; @@ -5673,6 +5674,7 @@ package android.app { method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap); method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.drawable.Icon); method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap); + method @NonNull public android.app.Notification.BigPictureStyle bigPictureContentDescription(@Nullable CharSequence); method public android.app.Notification.BigPictureStyle setBigContentTitle(CharSequence); method public android.app.Notification.BigPictureStyle setSummaryText(CharSequence); } diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index a1abe3d8190b..8cafaa897ad8 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -1147,6 +1147,14 @@ public class Notification implements Parcelable public static final String EXTRA_PICTURE = "android.picture"; /** + * {@link #extras} key: this is a content description of the big picture supplied from + * {@link BigPictureStyle#bigPicture(Bitmap)}, supplied to + * {@link BigPictureStyle#bigPictureContentDescription(CharSequence)}. + */ + public static final String EXTRA_PICTURE_CONTENT_DESCRIPTION = + "android.pictureContentDescription"; + + /** * {@link #extras} key: An array of CharSequences to show in {@link InboxStyle} expanded * notifications, each of which was supplied to {@link InboxStyle#addLine(CharSequence)}. */ @@ -6728,6 +6736,7 @@ public class Notification implements Parcelable private Bitmap mPicture; private Icon mBigLargeIcon; private boolean mBigLargeIconSet = false; + private CharSequence mPictureContentDescription; public BigPictureStyle() { } @@ -6758,6 +6767,16 @@ public class Notification implements Parcelable } /** + * Set the content description of the big picture. + */ + @NonNull + public BigPictureStyle bigPictureContentDescription( + @Nullable CharSequence contentDescription) { + mPictureContentDescription = contentDescription; + return this; + } + + /** * @hide */ public Bitmap getBigPicture() { @@ -6870,6 +6889,11 @@ public class Notification implements Parcelable } contentView.setImageViewBitmap(R.id.big_picture, mPicture); + + if (mPictureContentDescription != null) { + contentView.setContentDescription(R.id.big_picture, mPictureContentDescription); + } + return contentView; } @@ -6882,6 +6906,10 @@ public class Notification implements Parcelable if (mBigLargeIconSet) { extras.putParcelable(EXTRA_LARGE_ICON_BIG, mBigLargeIcon); } + if (mPictureContentDescription != null) { + extras.putCharSequence(EXTRA_PICTURE_CONTENT_DESCRIPTION, + mPictureContentDescription); + } extras.putParcelable(EXTRA_PICTURE, mPicture); } @@ -6896,6 +6924,12 @@ public class Notification implements Parcelable mBigLargeIconSet = true; mBigLargeIcon = extras.getParcelable(EXTRA_LARGE_ICON_BIG); } + + if (extras.containsKey(EXTRA_PICTURE_CONTENT_DESCRIPTION)) { + mPictureContentDescription = + extras.getCharSequence(EXTRA_PICTURE_CONTENT_DESCRIPTION); + } + mPicture = extras.getParcelable(EXTRA_PICTURE); } |