summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author PETER LIANG <peterliang@google.com> 2020-02-19 23:51:48 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-02-19 23:51:48 +0000
commit2187f9e855941e62b4db310a05464b737637455c (patch)
treefc6d64e2ff32cc7c87f9f870732c3950fe477995
parent9e5b4507635bbaab3acb307fef10a774c401c2c2 (diff)
parent81332eff4add38ca4a8acfe331b2d7d6d2307d8d (diff)
Merge "Revise the modifier and naming of public APIs for allow rich content."
-rw-r--r--api/current.txt2
-rw-r--r--core/java/android/accessibilityservice/AccessibilityServiceInfo.java23
-rw-r--r--core/java/android/accessibilityservice/AccessibilityShortcutInfo.java21
-rw-r--r--core/tests/coretests/src/android/accessibilityservice/AccessibilityShortcutInfoTest.java6
4 files changed, 51 insertions, 1 deletions
diff --git a/api/current.txt b/api/current.txt
index 4120d6798763..0f1d6f0465a5 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -2983,7 +2983,6 @@ package android.accessibilityservice {
method public int describeContents();
method public static String feedbackTypeToString(int);
method public static String flagToString(int);
- method public int getAnimatedImageRes();
method @Deprecated public boolean getCanRetrieveWindowContent();
method public int getCapabilities();
method @Deprecated public String getDescription();
@@ -2992,6 +2991,7 @@ package android.accessibilityservice {
method public int getNonInteractiveUiTimeoutMillis();
method public android.content.pm.ResolveInfo getResolveInfo();
method public String getSettingsActivityName();
+ method @Nullable public android.graphics.drawable.Drawable loadAnimatedImage(@NonNull android.content.pm.PackageManager);
method public String loadDescription(android.content.pm.PackageManager);
method @Nullable public String loadHtmlDescription(@NonNull android.content.pm.PackageManager);
method public CharSequence loadSummary(android.content.pm.PackageManager);
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
index c1e21959a667..c37328454c7d 100644
--- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
+++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
@@ -27,6 +27,7 @@ import android.compat.annotation.EnabledAfter;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ResolveInfo;
@@ -34,6 +35,7 @@ import android.content.pm.ServiceInfo;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
+import android.graphics.drawable.Drawable;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Build;
import android.os.Parcel;
@@ -786,12 +788,33 @@ public class AccessibilityServiceInfo implements Parcelable {
* {@link AccessibilityService#SERVICE_META_DATA meta-data}.</strong>
* </p>
* @return The animated image resource id.
+ * @hide
*/
public int getAnimatedImageRes() {
return mAnimatedImageRes;
}
/**
+ * The animated image drawable.
+ * <p>
+ * <strong>Statically set from
+ * {@link AccessibilityService#SERVICE_META_DATA meta-data}.</strong>
+ * </p>
+ * @return The animated image drawable.
+ */
+ @Nullable
+ public Drawable loadAnimatedImage(@NonNull PackageManager packageManager) {
+ if (mAnimatedImageRes == /* invalid */ 0) {
+ return null;
+ }
+
+ final String packageName = mComponentName.getPackageName();
+ final ApplicationInfo applicationInfo = mResolveInfo.serviceInfo.applicationInfo;
+
+ return packageManager.getDrawable(packageName, mAnimatedImageRes, applicationInfo);
+ }
+
+ /**
* Whether this service can retrieve the current window's content.
* <p>
* <strong>Statically set from
diff --git a/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java b/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java
index 9912d2b1cc8b..d537ce1253dc 100644
--- a/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java
+++ b/core/java/android/accessibilityservice/AccessibilityShortcutInfo.java
@@ -22,10 +22,12 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
+import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.util.Xml;
@@ -193,12 +195,31 @@ public final class AccessibilityShortcutInfo {
* The animated image resource id of the accessibility shortcut target.
*
* @return The animated image resource id.
+ *
+ * @hide
*/
public int getAnimatedImageRes() {
return mAnimatedImageRes;
}
/**
+ * The animated image drawable of the accessibility shortcut target.
+ *
+ * @return The animated image drawable.
+ */
+ @Nullable
+ public Drawable loadAnimatedImage(@NonNull PackageManager packageManager) {
+ if (mAnimatedImageRes == /* invalid */ 0) {
+ return null;
+ }
+
+ final String packageName = mComponentName.getPackageName();
+ final ApplicationInfo applicationInfo = mActivityInfo.applicationInfo;
+
+ return packageManager.getDrawable(packageName, mAnimatedImageRes, applicationInfo);
+ }
+
+ /**
* The localized html description of the accessibility shortcut target.
*
* @return The localized html description.
diff --git a/core/tests/coretests/src/android/accessibilityservice/AccessibilityShortcutInfoTest.java b/core/tests/coretests/src/android/accessibilityservice/AccessibilityShortcutInfoTest.java
index 82a7b2c9217e..9f0af60f33b7 100644
--- a/core/tests/coretests/src/android/accessibilityservice/AccessibilityShortcutInfoTest.java
+++ b/core/tests/coretests/src/android/accessibilityservice/AccessibilityShortcutInfoTest.java
@@ -90,6 +90,12 @@ public class AccessibilityShortcutInfoTest {
}
@Test
+ public void testLoadAnimatedImage() {
+ assertNotNull("Can't find animated image",
+ mShortcutInfo.loadAnimatedImage(mPackageManager));
+ }
+
+ @Test
public void testHtmlDescription() {
final String htmlDescription = mTargetContext.getResources()
.getString(R.string.accessibility_shortcut_html_description);