Add new tileService attributes for accessibility
- Accessibilty service: AccessibilityService_tileService - Accesibility shortcut: AccessibilityShortcutTarget_tileService Bug: 216614718 Test: atest AccessibilityShortcutInfoTest Change-Id: I9394b689f0fea4ed6bf7399e6a0713200ca5a364
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
-->
|
||||
|
||||
<accessibility-shortcut-target xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:description="@string/accessibility_shortcut_description"
|
||||
android:summary="@string/accessibility_shortcut_summary"
|
||||
android:animatedImageDrawable="@drawable/bitmap_drawable"
|
||||
android:htmlDescription="@string/accessibility_shortcut_html_description"
|
||||
android:settingsActivity="com.example.shortcut.target.SettingsActivity"
|
||||
android:description="@string/accessibility_shortcut_description"
|
||||
android:summary="@string/accessibility_shortcut_summary"
|
||||
android:animatedImageDrawable="@drawable/bitmap_drawable"
|
||||
android:htmlDescription="@string/accessibility_shortcut_html_description"
|
||||
android:settingsActivity="com.example.shortcut.target.SettingsActivity"
|
||||
android:tileService="com.example.shortcut.target.TileService"
|
||||
/>
|
||||
@@ -50,6 +50,8 @@ import java.util.List;
|
||||
public class AccessibilityShortcutInfoTest {
|
||||
private static final String SETTINGS_ACTIVITY_NAME =
|
||||
"com.example.shortcut.target.SettingsActivity";
|
||||
private static final String TILE_SERVICE_NAME =
|
||||
"com.example.shortcut.target.TileService";
|
||||
|
||||
private Context mTargetContext;
|
||||
private PackageManager mPackageManager;
|
||||
@@ -110,10 +112,17 @@ public class AccessibilityShortcutInfoTest {
|
||||
|
||||
@Test
|
||||
public void testSettingsActivity() {
|
||||
assertThat("Settings Activity is not correct",
|
||||
assertThat("Settings activity is not correct",
|
||||
mShortcutInfo.getSettingsActivityName(), is(SETTINGS_ACTIVITY_NAME));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testTileService() {
|
||||
assertThat("Tile service is not correct",
|
||||
mShortcutInfo.getTileServiceClassName(), is(TILE_SERVICE_NAME));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testEquals() {
|
||||
assertTrue(mShortcutInfo.equals(mShortcutInfo));
|
||||
|
||||
Reference in New Issue
Block a user