Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2187f9e8 authored by PETER LIANG's avatar PETER LIANG Committed by Android (Google) Code Review
Browse files

Merge "Revise the modifier and naming of public APIs for allow rich content."

parents 9e5b4507 81332eff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+23 −0
Original line number Diff line number Diff line
@@ -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,11 +788,32 @@ 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>
+21 −0
Original line number Diff line number Diff line
@@ -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,11 +195,30 @@ 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.
     *
+6 −0
Original line number Diff line number Diff line
@@ -89,6 +89,12 @@ public class AccessibilityShortcutInfoTest {
                mShortcutInfo.getAnimatedImageRes(), is(R.drawable.bitmap_drawable));
    }

    @Test
    public void testLoadAnimatedImage() {
        assertNotNull("Can't find animated image",
                mShortcutInfo.loadAnimatedImage(mPackageManager));
    }

    @Test
    public void testHtmlDescription() {
        final String htmlDescription = mTargetContext.getResources()