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

Commit 902adc6c authored by Saige McVea's avatar Saige McVea Committed by Android (Google) Code Review
Browse files

Merge "Accessibility settings refresh."

parents 280a9cfa 08c41bcf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2811,6 +2811,7 @@ package android.accessibilityservice {
    method public android.content.pm.ResolveInfo getResolveInfo();
    method public java.lang.String getSettingsActivityName();
    method public java.lang.String loadDescription(android.content.pm.PackageManager);
    method public java.lang.String loadSummary(android.content.pm.PackageManager);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int CAPABILITY_CAN_CAPTURE_FINGERPRINT_GESTURES = 64; // 0x40
    field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
+1 −0
Original line number Diff line number Diff line
@@ -2930,6 +2930,7 @@ package android.accessibilityservice {
    method public android.content.pm.ResolveInfo getResolveInfo();
    method public java.lang.String getSettingsActivityName();
    method public java.lang.String loadDescription(android.content.pm.PackageManager);
    method public java.lang.String loadSummary(android.content.pm.PackageManager);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int CAPABILITY_CAN_CAPTURE_FINGERPRINT_GESTURES = 64; // 0x40
    field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
+1 −0
Original line number Diff line number Diff line
@@ -2811,6 +2811,7 @@ package android.accessibilityservice {
    method public android.content.pm.ResolveInfo getResolveInfo();
    method public java.lang.String getSettingsActivityName();
    method public java.lang.String loadDescription(android.content.pm.PackageManager);
    method public java.lang.String loadSummary(android.content.pm.PackageManager);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int CAPABILITY_CAN_CAPTURE_FINGERPRINT_GESTURES = 64; // 0x40
    field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
+47 −1
Original line number Diff line number Diff line
@@ -69,10 +69,10 @@ import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
 * @attr ref android.R.styleable#AccessibilityService_canRequestTouchExplorationMode
 * @attr ref android.R.styleable#AccessibilityService_canRetrieveWindowContent
 * @attr ref android.R.styleable#AccessibilityService_description
 * @attr ref android.R.styleable#AccessibilityService_summary
 * @attr ref android.R.styleable#AccessibilityService_notificationTimeout
 * @attr ref android.R.styleable#AccessibilityService_packageNames
 * @attr ref android.R.styleable#AccessibilityService_settingsActivity
 *
 * @see AccessibilityService
 * @see android.view.accessibility.AccessibilityEvent
 * @see android.view.accessibility.AccessibilityManager
@@ -430,6 +430,16 @@ public class AccessibilityServiceInfo implements Parcelable {
     */
    private int mCapabilities;

    /**
     * Resource id of the summary of the accessibility service.
     */
    private int mSummaryResId;

    /**
     * Non-localized summary of the accessibility service.
     */
    private String mNonLocalizedSummary;

    /**
     * Resource id of the description of the accessibility service.
     */
@@ -544,6 +554,15 @@ public class AccessibilityServiceInfo implements Parcelable {
                    mNonLocalizedDescription = nonLocalizedDescription.toString().trim();
                }
            }
            peekedValue = asAttributes.peekValue(
                com.android.internal.R.styleable.AccessibilityService_summary);
            if (peekedValue != null) {
                mSummaryResId = peekedValue.resourceId;
                CharSequence nonLocalizedSummary = peekedValue.coerceToString();
                if (nonLocalizedSummary != null) {
                    mNonLocalizedSummary = nonLocalizedSummary.toString().trim();
                }
            }
            asAttributes.recycle();
        } catch (NameNotFoundException e) {
            throw new XmlPullParserException( "Unable to create context for: "
@@ -668,6 +687,27 @@ public class AccessibilityServiceInfo implements Parcelable {
        mCapabilities = capabilities;
    }

    /**
     * The localized summary of the accessibility service.
     * <p>
     *    <strong>Statically set from
     *    {@link AccessibilityService#SERVICE_META_DATA meta-data}.</strong>
     * </p>
     * @return The localized summary.
     */
    public String loadSummary(PackageManager packageManager) {
        if (mSummaryResId == 0) {
            return mNonLocalizedSummary;
        }
        ServiceInfo serviceInfo = mResolveInfo.serviceInfo;
        CharSequence summary = packageManager.getText(serviceInfo.packageName,
                mSummaryResId, serviceInfo.applicationInfo);
        if (summary != null) {
            return summary.toString().trim();
        }
        return null;
    }

    /**
     * Gets the non-localized description of the accessibility service.
     * <p>
@@ -726,6 +766,8 @@ public class AccessibilityServiceInfo implements Parcelable {
        parcel.writeParcelable(mResolveInfo, 0);
        parcel.writeString(mSettingsActivityName);
        parcel.writeInt(mCapabilities);
        parcel.writeInt(mSummaryResId);
        parcel.writeString(mNonLocalizedSummary);
        parcel.writeInt(mDescriptionResId);
        parcel.writeString(mNonLocalizedDescription);
    }
@@ -740,6 +782,8 @@ public class AccessibilityServiceInfo implements Parcelable {
        mResolveInfo = parcel.readParcelable(null);
        mSettingsActivityName = parcel.readString();
        mCapabilities = parcel.readInt();
        mSummaryResId = parcel.readInt();
        mNonLocalizedSummary = parcel.readString();
        mDescriptionResId = parcel.readInt();
        mNonLocalizedDescription = parcel.readString();
    }
@@ -790,6 +834,8 @@ public class AccessibilityServiceInfo implements Parcelable {
        stringBuilder.append(", ");
        stringBuilder.append("settingsActivityName: ").append(mSettingsActivityName);
        stringBuilder.append(", ");
        stringBuilder.append("summary: ").append(mNonLocalizedSummary);
        stringBuilder.append(", ");
        appendCapabilities(stringBuilder, mCapabilities);
        return stringBuilder.toString();
    }
+6 −4
Original line number Diff line number Diff line
@@ -3336,7 +3336,7 @@
         {@link android.accessibilityservice.AccessibilityService#SERVICE_META_DATA}
         meta-data entry. -->
    <declare-styleable name="AccessibilityService">
        <!-- The event types this serivce would like to receive as specified in
        <!-- The event types this service would like to receive as specified in
             {@link android.view.accessibility.AccessibilityEvent}. This setting
             can be changed at runtime by calling
             {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
@@ -3395,11 +3395,11 @@
            <!-- Receives {@link android.view.accessibility.AccessibilityEvent#TYPES_ALL_MASK} i.e. all events. -->
            <flag name="typeAllMask" value="0xffffffff" />
        </attr>
        <!-- Comma separated package names from which this serivce would like to receive events (leave out for all packages).
        <!-- Comma separated package names from which this service would like to receive events (leave out for all packages).
             {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
             android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)}. -->
        <attr name="packageNames" format="string" />
        <!-- The feedback types this serivce provides as specified in
        <!-- The feedback types this service provides as specified in
             {@link android.accessibilityservice.AccessibilityServiceInfo}. This setting
             can be changed at runtime by calling
             {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
@@ -3419,7 +3419,7 @@
            <flag name="feedbackAllMask" value="0xffffffff" />
        </attr>
        <!-- The minimal period in milliseconds between two accessibility events of the same type
             are sent to this serivce. This setting can be changed at runtime by calling
             are sent to this service. This setting can be changed at runtime by calling
             {@link android.accessibilityservice.AccessibilityService#setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)
             android.accessibilityservice.AccessibilityService.setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo)}. -->
        <attr name="notificationTimeout" format="integer" />
@@ -3498,6 +3498,8 @@
        <attr name="canCaptureFingerprintGestures" format="boolean" />
        <!-- Short description of the accessibility service purpose or behavior.-->
        <attr name="description" />
        <!-- Brief summary of the accessibility service purpose or behavior. -->
        <attr name="summary" />
    </declare-styleable>

    <!-- Use <code>print-service</code> as the root tag of the XML resource that