diff options
| author | 2024-02-01 19:12:48 +0000 | |
|---|---|---|
| committer | 2024-02-07 15:53:40 +0000 | |
| commit | e6753e245adabd9610c8d9564b77cb2944ded361 (patch) | |
| tree | 70471a62911ebd60a5949a3567e3e613e65db1c5 | |
| parent | 1e5c0ca65d0f9c21a0f2148892693f1c4c224a1e (diff) | |
Add API for sharesheet text album hint
An integer extra for ACTION_CHOOSER intents that can tell sharesheets
that display a headline to describe the text being shared as an album
(with potential to add other types in future releases).
Test: CTS Verifier
Bug: 323380224
Change-Id: Ia758c28dcdde13c2a0f67ec00cc7f7c9bf99baa3
| -rw-r--r-- | core/api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/content/Intent.java | 30 | ||||
| -rw-r--r-- | core/java/android/service/chooser/flags.aconfig | 7 |
3 files changed, 39 insertions, 0 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index aec284287020..286fe86b4895 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -11233,6 +11233,7 @@ package android.content { field public static final String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST"; field public static final String CATEGORY_VOICE = "android.intent.category.VOICE"; field public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME"; + field @FlaggedApi("android.service.chooser.chooser_album_text") public static final int CHOOSER_CONTENT_TYPE_ALBUM = 1; // 0x1 field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR; field public static final String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT"; field public static final String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE"; @@ -11254,6 +11255,7 @@ package android.content { field public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST = "android.intent.extra.changed_component_name_list"; field public static final String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list"; field public static final String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list"; + field @FlaggedApi("android.service.chooser.chooser_album_text") public static final String EXTRA_CHOOSER_CONTENT_TYPE_HINT = "android.intent.extra.CHOOSER_CONTENT_TYPE_HINT"; field public static final String EXTRA_CHOOSER_CUSTOM_ACTIONS = "android.intent.extra.CHOOSER_CUSTOM_ACTIONS"; field public static final String EXTRA_CHOOSER_MODIFY_SHARE_ACTION = "android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION"; field public static final String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = "android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER"; diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index d5eee63fee12..08871d4644c0 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -6034,6 +6034,36 @@ public class Intent implements Parcelable, Cloneable { "android.intent.extra.CHOOSER_MODIFY_SHARE_ACTION"; /** + * Optional integer extra to be used with {@link #ACTION_CHOOSER} to describe conteng being + * shared. + * <p> + * If provided, sharesheets may customize their UI presentation to include a more precise + * description of the content being shared. + * + * @see #CHOOSER_CONTENT_TYPE_ALBUM + * @see #createChooser(Intent, CharSequence) + */ + @FlaggedApi(android.service.chooser.Flags.FLAG_CHOOSER_ALBUM_TEXT) + public static final String EXTRA_CHOOSER_CONTENT_TYPE_HINT = + "android.intent.extra.CHOOSER_CONTENT_TYPE_HINT"; + + /** @hide */ + @IntDef(prefix = {"CHOOSER_CONTENT_TYPE_"}, value = { + CHOOSER_CONTENT_TYPE_ALBUM, + }) + @Retention(RetentionPolicy.SOURCE) + public @interface ChooserContentType {} + + /** + * Indicates that the content being shared with {@link #ACTION_SEND} represents an album + * (e.g. containing photos). + * + * @see #EXTRA_CHOOSER_CONTENT_TYPE_HINT + */ + @FlaggedApi(android.service.chooser.Flags.FLAG_CHOOSER_ALBUM_TEXT) + public static final int CHOOSER_CONTENT_TYPE_ALBUM = 1; + + /** * An {@code ArrayList} of {@code String} annotations describing content for * {@link #ACTION_CHOOSER}. * diff --git a/core/java/android/service/chooser/flags.aconfig b/core/java/android/service/chooser/flags.aconfig index 597838305a91..d655920bbc03 100644 --- a/core/java/android/service/chooser/flags.aconfig +++ b/core/java/android/service/chooser/flags.aconfig @@ -1,6 +1,13 @@ package: "android.service.chooser" flag { + name: "chooser_album_text" + namespace: "intentresolver" + description: "Flag controlling the album text subtype hint for sharesheet" + bug: "323380224" +} + +flag { name: "support_nfc_resolver" namespace: "systemui" description: "This flag controls the new NFC 'resolver' activity" |