summaryrefslogtreecommitdiffstats
path: root/data
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-04-20 12:12:33 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2011-06-06 18:46:03 -0700
commit8643aa0179e598e78d938c59035389054535a229 (patch)
treec1d0ab0f77329fb34231e45703687d21a601fc88 /data
parent219451363d7c9e657cb856bebce34bc29d7876fa (diff)
downloadframeworks_base-8643aa0179e598e78d938c59035389054535a229.zip
frameworks_base-8643aa0179e598e78d938c59035389054535a229.tar.gz
frameworks_base-8643aa0179e598e78d938c59035389054535a229.tar.bz2
Interrogation of the view hierarchy from an AccessibilityService.
1. Views are represented as AccessibilityNodeInfos to AccessibilityServices. 2. An accessibility service receives AccessibilityEvents and can ask for its source and gets an AccessibilityNodeInfo which can be used to get its parent and children infos and so on. 3. AccessibilityNodeInfo contains some attributes and actions that can be performed on the source. 4. AccessibilityService can request the system to preform an action on the source of an AccessibilityNodeInfo. 5. ViewAncestor provides an interaction connection to the AccessibiltyManagerService and an accessibility service uses its connection to the latter to interact with screen content. 6. AccessibilityService can interact ONLY with the focused window and all calls are routed through the AccessibilityManagerService which imposes security. 7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos based on some criteria. These API go through the AccessibilityManagerServcie for security check. 8. Some actions are hidden and are exposes only to eng builds for UI testing. Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
Diffstat (limited to 'data')
-rw-r--r--data/etc/platform.xml1
1 files changed, 1 insertions, 0 deletions
diff --git a/data/etc/platform.xml b/data/etc/platform.xml
index 5ed7966..b9c0d80 100644
--- a/data/etc/platform.xml
+++ b/data/etc/platform.xml
@@ -132,6 +132,7 @@
<assign-permission name="android.permission.BATTERY_STATS" uid="shell" />
<assign-permission name="android.permission.INTERNAL_SYSTEM_WINDOW" uid="shell" />
<assign-permission name="android.permission.INJECT_EVENTS" uid="shell" />
+ <assign-permission name="android.permission.RETRIEVE_WINDOW_CONTENT" uid="shell" />
<assign-permission name="android.permission.SET_ACTIVITY_WATCHER" uid="shell" />
<assign-permission name="android.permission.READ_INPUT_STATE" uid="shell" />
<assign-permission name="android.permission.SET_ORIENTATION" uid="shell" />