Commit Graph

7 Commits

Author SHA1 Message Date
Svetoslav Ganov
8643aa0179 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
2011-06-06 18:46:03 -07:00
Svetoslav Ganov
cc4053e031 Accessibility serviceconfiguration via meta-data
Note: This is a part of two CL change and contains the
      system changes without updates to the settings.

1. Added a mechanism for configuring an accessibility service via
   XML file specified in a meta-data tag (similar to IMEs).

2. Added property for specifying a settings activity for an
   accessibility service.

3. Refactored the APIs in AccessibilityManager to return
   lists of AccessiblityServiceInfo instead ServiceInfo
   since the former describes an AccessibilityService in
   particular (similar to IMEs).

Change-Id: Ie8781bb7e0cdb329e583b6702a612a507367ad7b
2011-05-31 12:04:18 -07:00
Svetoslav Ganov
9b31779eab Fix for bug 2448479 2010-02-17 16:46:42 -08:00
Dianne Hackborn
7ed6ee5692 Fix issue #1983406: Soft keyboard doesn't show up in an EditText with "digits" attribute set
Also pretend to fix #2054990 (com.android.frameworktest: java.lang.NullPointerException
at android.accessibilityservice.AccessibilityService$IEventListenerWrapper.executeMessage(
AccessibilityService.java:215))...  simply by making the variable that apparently was
null final, to assure myself that there is no possible way in the world for it to be
null. :p

Change-Id: I73e337d65b8360721896a0296691257b3e47564b
2009-09-10 18:41:28 -07:00
Charles Chen
85f6fb713f Fixing bug 2086021. AccessiblityService could sometimes get a null pointer
exception if multiple accessibility services are running and there are
several events all happening within a short period of time.
2009-08-28 11:32:23 -07:00
Dianne Hackborn
7f2054392e Updates from API review.
* AccessibilityService -- document onBind() to not be implemented.
    * GestureLibrary.getLearner() -- needs to be hidden.
    * IntentSender -- remove protected constructors, document that it is retrieved from a PendingIntent.
    * Hide permissions: SHUTDOWN, STOP_APP_SWITCHES.
    * Context -- hide BACKUP_SERVICE.
    * ContextWrapper -- hide getSharedPrefs bla h blah
    * Intent.parseUri() -- fix docs.
    * ApplicationInfo.FLAG_TEST_ONLY?!?
    * Hide MockContext.getSharedPrefs blah blah
2009-07-28 00:13:47 -07:00
svetoslavganov
75986cf9bc Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut) 2009-05-14 23:47:05 -07:00