diff --git a/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java b/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java index d79740b49b3d3..9912d2b1cc8b3 100644 --- a/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java +++ b/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java @@ -75,6 +75,16 @@ public final class AccessibilityShortcutInfo { */ private final int mDescriptionResId; + /** + * Resource id of the animated image of the accessibility shortcut target. + */ + private final int mAnimatedImageRes; + + /** + * Resource id of the html description of the accessibility shortcut target. + */ + private final int mHtmlDescriptionRes; + /** * Creates a new instance. * @@ -119,6 +129,14 @@ public final class AccessibilityShortcutInfo { // Gets summary mSummaryResId = asAttributes.getResourceId( com.android.internal.R.styleable.AccessibilityShortcutTarget_summary, 0); + // Gets animated image + mAnimatedImageRes = asAttributes.getResourceId( + com.android.internal.R.styleable + .AccessibilityShortcutTarget_animatedImageDrawable, 0); + // Gets html description + mHtmlDescriptionRes = asAttributes.getResourceId( + com.android.internal.R.styleable.AccessibilityShortcutTarget_htmlDescription, + 0); asAttributes.recycle(); if (mDescriptionResId == 0 || mSummaryResId == 0) { @@ -171,6 +189,25 @@ public final class AccessibilityShortcutInfo { return loadResourceString(packageManager, mActivityInfo, mDescriptionResId); } + /** + * The animated image resource id of the accessibility shortcut target. + * + * @return The animated image resource id. + */ + public int getAnimatedImageRes() { + return mAnimatedImageRes; + } + + /** + * The localized html description of the accessibility shortcut target. + * + * @return The localized html description. + */ + @Nullable + public String loadHtmlDescription(@NonNull PackageManager packageManager) { + return loadResourceString(packageManager, mActivityInfo, mHtmlDescriptionRes); + } + /** * Gets string resource by the given activity and resource id. */ diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index c37c1c1a2f310..0f88c9040d714 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -4972,11 +4972,14 @@ public class Intent implements Parcelable, Cloneable { *
* <accessibility-shortcut-target
* android:description="@string/shortcut_target_description"
- * android:summary="@string/shortcut_target_summary" />
+ * android:summary="@string/shortcut_target_summary"
+ * android:animatedImageDrawable="@drawable/shortcut_target_animated_image"
+ * android:htmlDescription="@string/shortcut_target_html_description" />
*
* * Both description and summary are necessary. The system will ignore the accessibility - * shortcut target if they are missing. + * shortcut target if they are missing. The animated image and html description are supported + * to help users understand how to use the shortcut target. *
*/ @SdkConstant(SdkConstantType.INTENT_CATEGORY) diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 20901e04e6c55..7d8b8db9d4a00 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -3790,6 +3790,12 @@