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

Commit e383db25 authored by menghanli's avatar menghanli
Browse files

Add new tileService attributes for accessibility

- Accessibilty service: AccessibilityService_tileService
- Accesibility shortcut: AccessibilityShortcutTarget_tileService

Bug: 216614718
Test: atest AccessibilityShortcutInfoTest
Change-Id: I9394b689f0fea4ed6bf7399e6a0713200ca5a364
parent fbd689e9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1565,6 +1565,7 @@ package android {
    field public static final int tileMode = 16843265; // 0x1010201
    field public static final int tileModeX = 16843895; // 0x1010477
    field public static final int tileModeY = 16843896; // 0x1010478
    field public static final int tileService;
    field public static final int timePickerDialogTheme = 16843934; // 0x101049e
    field public static final int timePickerMode = 16843956; // 0x10104b4
    field public static final int timePickerStyle = 16843933; // 0x101049d
@@ -3227,6 +3228,7 @@ package android.accessibilityservice {
    method public int getNonInteractiveUiTimeoutMillis();
    method public android.content.pm.ResolveInfo getResolveInfo();
    method public String getSettingsActivityName();
    method @Nullable public String getTileServiceClassName();
    method public boolean isAccessibilityTool();
    method public String loadDescription(android.content.pm.PackageManager);
    method public CharSequence loadSummary(android.content.pm.PackageManager);
+24 −0
Original line number Diff line number Diff line
@@ -536,6 +536,13 @@ public class AccessibilityServiceInfo implements Parcelable {
     */
    private String mSettingsActivityName;

    /**
     * The class name of {@link android.service.quicksettings.TileService} is associated with this
     * accessibility service for one to one mapping. It is used by system settings to remind users
     * this accessibility service has a {@link android.service.quicksettings.TileService}.
     */
    private String mTileServiceClassName;

    /**
     * Bit mask with capabilities of this service.
     */
@@ -718,6 +725,8 @@ public class AccessibilityServiceInfo implements Parcelable {
            }
            mIsAccessibilityTool = asAttributes.getBoolean(
                    R.styleable.AccessibilityService_isAccessibilityTool, false);
            mTileServiceClassName = asAttributes.getString(
                    com.android.internal.R.styleable.AccessibilityService_tileService);
            asAttributes.recycle();
        } catch (NameNotFoundException e) {
            throw new XmlPullParserException( "Unable to create context for: "
@@ -820,6 +829,17 @@ public class AccessibilityServiceInfo implements Parcelable {
        return mSettingsActivityName;
    }

    /**
     * Gets the class name of {@link android.service.quicksettings.TileService} is associated with
     * this accessibility service.
     *
     * @return The class names of {@link android.service.quicksettings.TileService}.
     */
    @Nullable
    public String getTileServiceClassName() {
        return mTileServiceClassName;
    }

    /**
     * Gets the animated image resource id.
     *
@@ -1083,6 +1103,7 @@ public class AccessibilityServiceInfo implements Parcelable {
        parcel.writeInt(mHtmlDescriptionRes);
        parcel.writeString(mNonLocalizedDescription);
        parcel.writeBoolean(mIsAccessibilityTool);
        parcel.writeString(mTileServiceClassName);
    }

    private void initFromParcel(Parcel parcel) {
@@ -1105,6 +1126,7 @@ public class AccessibilityServiceInfo implements Parcelable {
        mHtmlDescriptionRes = parcel.readInt();
        mNonLocalizedDescription = parcel.readString();
        mIsAccessibilityTool = parcel.readBoolean();
        mTileServiceClassName = parcel.readString();
    }

    @Override
@@ -1157,6 +1179,8 @@ public class AccessibilityServiceInfo implements Parcelable {
        stringBuilder.append(", ");
        stringBuilder.append("settingsActivityName: ").append(mSettingsActivityName);
        stringBuilder.append(", ");
        stringBuilder.append("tileServiceClassName: ").append(mTileServiceClassName);
        stringBuilder.append(", ");
        stringBuilder.append("summary: ").append(mNonLocalizedSummary);
        stringBuilder.append(", ");
        stringBuilder.append("isAccessibilityTool: ").append(mIsAccessibilityTool);
+21 −0
Original line number Diff line number Diff line
@@ -95,6 +95,13 @@ public final class AccessibilityShortcutInfo {
     */
    private String mSettingsActivityName;

    /**
     * The class name of {@link android.service.quicksettings.TileService} is associated with this
     * accessibility shortcut target for one to one mapping. It is used by system settings to remind
     * users this accessibility service has a {@link android.service.quicksettings.TileService}.
     */
    private String mTileServiceClassName;

    /**
     * Creates a new instance.
     *
@@ -150,6 +157,9 @@ public final class AccessibilityShortcutInfo {
            // Get settings activity name
            mSettingsActivityName = asAttributes.getString(
                    com.android.internal.R.styleable.AccessibilityShortcutTarget_settingsActivity);
            // Get tile service class name
            mTileServiceClassName = asAttributes.getString(
                    com.android.internal.R.styleable.AccessibilityShortcutTarget_tileService);
            asAttributes.recycle();

            if ((mDescriptionResId == 0 && mHtmlDescriptionRes == 0) || mSummaryResId == 0) {
@@ -258,6 +268,17 @@ public final class AccessibilityShortcutInfo {
        return mSettingsActivityName;
    }

    /**
     * Gets the class name of {@link android.service.quicksettings.TileService} is associated with
     * this accessibility shortcut target.
     *
     * @return The class names of {@link android.service.quicksettings.TileService}.
     */
    @Nullable
    public String getTileServiceClassName() {
        return mTileServiceClassName;
    }

    /**
     * Gets string resource by the given activity and resource id.
     */
+10 −0
Original line number Diff line number Diff line
@@ -3914,6 +3914,11 @@
        <!-- Component name of an activity that allows the user to modify
             the settings for this service. This setting cannot be changed at runtime. -->
        <attr name="settingsActivity" />
        <!-- Component name of {@link android.service.quicksettings.TileService} is associated
             with this accessibility service for one to one mapping. It is used by system settings
             to remind users this accessibility service has a
             {@link android.service.quicksettings.TileService}. -->
        <attr name="tileService" format="string" />
        <!-- Attribute whether the accessibility service wants to be able to retrieve the
             active window content. This setting cannot be changed at runtime.
             <p>
@@ -4000,6 +4005,11 @@
        <!-- Component name of an activity that allows the user to modify the settings for this
             target of accessibility shortcut. -->
        <attr name="settingsActivity" />
        <!-- Component name of {@link android.service.quicksettings.TileService} is associated
             with this accessibility shortcut target for one to one mapping. It is used by system
             settings to remind users this accessibility service has a
             {@link android.service.quicksettings.TileService}. -->
        <attr name="tileService" format="string" />
    </declare-styleable>
    <!-- Use <code>print-service</code> as the root tag of the XML resource that
+1 −0
Original line number Diff line number Diff line
@@ -3273,6 +3273,7 @@
    <public name="toExtendTop" />
    <public name="toExtendRight" />
    <public name="toExtendBottom" />
    <public name="tileService" />
  </staging-public-group>

  <staging-public-group type="id" first-id="0x01de0000">
Loading