summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Casey Burkhardt <caseyburkhardt@google.com> 2017-04-05 16:47:19 -0700
committer Casey Burkhardt <caseyburkhardt@google.com> 2017-04-06 11:39:26 -0700
commitafe3ef1b36d040f3095db7ec1df644a074df8906 (patch)
treeb1aba158f4e11ce4421fa82de0d53f63e3c6ef08
parent399dba4ab0328c0c83015398e949ec40a673e978 (diff)
Revise Accessibility button chooser intent/permissions
1) Switch AccessibilityButtonChooserActivity to non-exported 2) Update AccessibilityButtonChooserActivity's intent action to be CTS-compliant 3) Switches to correct permission to validate a click of the accessibility button originated from the status bar service Bug: 36866328 Bug: 36976440 Test: Manual / Created app to validate launch protection Change-Id: Ifcd5e8dbbe683dc99bb900a5870a9ba374fbd5d4
-rw-r--r--core/java/android/view/accessibility/AccessibilityManager.java2
-rw-r--r--core/res/AndroidManifest.xml3
-rw-r--r--services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java8
3 files changed, 7 insertions, 6 deletions
diff --git a/core/java/android/view/accessibility/AccessibilityManager.java b/core/java/android/view/accessibility/AccessibilityManager.java
index 35276ccd5172..0783780d0bbb 100644
--- a/core/java/android/view/accessibility/AccessibilityManager.java
+++ b/core/java/android/view/accessibility/AccessibilityManager.java
@@ -112,7 +112,7 @@ public final class AccessibilityManager {
*/
@SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION)
public static final String ACTION_CHOOSE_ACCESSIBILITY_BUTTON =
- "android.intent.action.CHOOSE_ACCESSIBILITY_BUTTON";
+ "com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON";
static final Object sInstanceSync = new Object();
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 792225083e8d..c15fbfdeae60 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -3356,6 +3356,7 @@
</intent-filter>
</activity>
<activity android:name="com.android.internal.app.AccessibilityButtonChooserActivity"
+ android:exported="false"
android:theme="@style/Theme.DeviceDefault.Resolver"
android:finishOnCloseSystemDialogs="true"
android:excludeFromRecents="true"
@@ -3365,7 +3366,7 @@
android:process=":ui"
android:visibleToInstantApps="true">
<intent-filter>
- <action android:name="android.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
+ <action android:name="com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
index 1968d2e925aa..9666c9f9f5bc 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java
@@ -876,10 +876,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
*/
@Override
public void notifyAccessibilityButtonClicked() {
- if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.STATUS_BAR)
+ if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.STATUS_BAR_SERVICE)
!= PackageManager.PERMISSION_GRANTED) {
throw new SecurityException("Caller does not hold permission "
- + android.Manifest.permission.STATUS_BAR);
+ + android.Manifest.permission.STATUS_BAR_SERVICE);
}
synchronized (mLock) {
notifyAccessibilityButtonClickedLocked();
@@ -895,10 +895,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {
*/
@Override
public void notifyAccessibilityButtonAvailabilityChanged(boolean available) {
- if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.STATUS_BAR)
+ if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.STATUS_BAR_SERVICE)
!= PackageManager.PERMISSION_GRANTED) {
throw new SecurityException("Caller does not hold permission "
- + android.Manifest.permission.STATUS_BAR);
+ + android.Manifest.permission.STATUS_BAR_SERVICE);
}
synchronized (mLock) {
notifyAccessibilityButtonAvailabilityChangedLocked(available);