155edc693eecb64d821a95567e719d0de7ee9c85 |
|
09-Jun-2016 |
Phil Weaver <pweaver@google.com> |
Improve accessibility window title behavior Un-reverts ag/1057448, but uses a version of Resources#getText that returns null rather than throw an exception when no title is available. This is the same call made before, so this change should be safer. Bug: 28744278 Change-Id: I8c123f4f6d74f796ab9e8ffcf955aaf881770da1
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
266ed9acc396ff007b75b8356429d703117de2d7 |
|
08-Jun-2016 |
Phil Weaver <pweaver@google.com> |
Revert "Improve accessibility window title behavior" Bug: 29127065 This reverts commit 2a7e4442bf9892842e0fc7eba9296e8fcf9f8ea5. Change-Id: Ibc5527cfedd49c685ffd1b8ae59e87ed99c93d39
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
2a7e4442bf9892842e0fc7eba9296e8fcf9f8ea5 |
|
20-May-2016 |
Phil Weaver <pweaver@google.com> |
Improve accessibility window title behavior Suppress the default, unlocalized strings from being read as title. Bug: 28744278 Change-Id: Iea0f7d8fed3d6428ada725cf3ffa077ba974b74a
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
70439244ba1abc4f32357d2ee8ff38f73158fe37 |
|
11-Mar-2016 |
Phil Weaver <pweaver@google.com> |
Fix several accessibility magnification issues. Clarifying region used for magnification as "magnificationRegion", both in the public API and in the code. There's been significant confusion about what "magnfifiedRegion" means. Removing "availableRegion" from everywhere except where it's required, as that region was identical to magnified/magnification region. Trying to shut down magnification was a complex situation where animations in progress and new magnification requests were tricky to handle correctly. It was not possible to guarantee that the magnification callbacks were unregistered consistently. There were at least two situations that led to phone restarts: 1. If a triple tap was detected between unregistering the callbacks and shutting down the input filter. In this case the magnification request would go through. 2. If an animation had just started when magnification was turned off, so the current magnification was 1.0 but the animator was about to change it. In this case the callbacks would be unregistered, and then the animator would start changing the magnification. This change makes registering and unregistering magnification atomic. It also makes MagnificationController stick around indefinitely once it is created, registering and unregistering as needed to support magnification gestures and services that control magnification. Services that merely query the status of magnification no longer register for callbacks. One part of shutting down is turning off the animation and guaranteeing that it won't try to make further changes. Adding a flag to SpecAnimationBridge and a lock in that class so we can guarantee that nothing happens when we aren't registered for magnification callbacks. Also reconfiguring all accessibility options when a service stops to make sure that only the features required by the current configuration are enabled. Bug: 27497138 Bug: 27821103 Change-Id: If697cbd34b117d82c8eee1ba7d0254089ee4241d
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
9be3c7bdc7d49e9f99861d20fb134799291f20df |
|
08-Apr-2016 |
Phil Weaver <pweaver@google.com> |
Eliminate side effects of a11y window title. ag/898112 added passing the window title to accessibility. To do that, it also updated copy of the title in WindowManager.LayoutParams. That was a behavior change, and the change broke cts tests that enforce that the title in LayoutParams matches its expected format. This change restores the previous behavior and adds a separate field to LayoutParams to old an up-to-date title to pass to accessibility. Bug: 28002185 Change-Id: Ia5b549113600b7c4fcc80b76c3f3a944dddaf483
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
d4a19326085f2a68d568dfa754c29fd0ac49d193 |
|
04-Apr-2016 |
Phil Weaver <pweaver@google.com> |
Merge "Add accessibility window title and anchor." into nyc-dev
|
65c067083e663805ed41ca0ae787345d186b0624 |
|
15-Mar-2016 |
Phil Weaver <pweaver@google.com> |
Stop non-touchable regions affecting magnification A window's magnifiability only applies to its touchable regions, so a non-touchable shadow over an IME won't affect the IME's magnifiability. Bug: 27179277 Change-Id: I86076e001035678c73973d7a98e0dcac6143553e
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
396d549113bc633f719acc643c7dfc5f2a8fae4e |
|
23-Mar-2016 |
Phil Weaver <pweaver@google.com> |
Add accessibility window title and anchor. Plumbing through the title of windows so support multiwindow accessibility. Adding ability to determine the anchor of a pop-up window so the pop-up can be traversed as part of its anchor. Bug: 27687627 Bug: 8449376 Change-Id: I59e98a29fb90029407a26de5bf3d900fed5dd627
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
59e53a164e1e8d19830f16b6e3a743c7ebe0c1aa |
|
28-Mar-2016 |
Alan Viverette <alanv@google.com> |
Various fixes for MagnificationController - Ensure initial magnified and available regions are set - Correctly offset magnified bounds by left coordinate - Cancel ongoing animations before unregistering callbacks Bug: 22718911 Bug: 27871383 Change-Id: Iaff63be856598d1f8edb2d94158bbd75045c86ec
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
f20ac2c1b86b56e763c6436effdea7f6c46e022b |
|
12-Feb-2016 |
Allen Hair <allenhair@google.com> |
Limit modal windows to only hide windows in the same task. Bug: 26560078 Change-Id: Ic3bd8d06ed0d8d44a8e7f0faaba31a762a9bfef3
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
0bd180d8880b3d1b9677f154c034a2af840b4796 |
|
08-Dec-2015 |
Filip Gruszczynski <gruszczy@google.com> |
Improve debugging setup for window manager package. This moves debug flags to a dedicated class and also provides a mechanism to either have fine grained tags or one common tag for easier grepping the logcat. This mimicks the approach in activity manager package. Change-Id: Ie8c08b9a3d8b182335ee5547ee05d21b5933db6b
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
8f7f3184d55850b1c4d2036319794151f564e9c0 |
|
18-Nov-2015 |
Jason Monk <jmonk@google.com> |
Allow QS tiles to open dialogs Add a TYPE_QS_DIALOG window type, that is in the same layer as apps and dialogs and such. It is guarded by having a token that is granted by SysUI after a click has occured. If the app shows a dialog before listening finishes (QS closes) then the token will stay granted until the tile is removed by the user, otherwise the token will be removed immediately to avoid later dialogs. Also fix a couple tiny TileService issues: - Stop/Start listening reversed - Fix javadoc referencing wrong action Change-Id: Iedcdd5fd9a2af2b33eb7f6f17bb0e6c997879876
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
214fb68767502f5fede643a062c1dc5975d75b27 |
|
17-Nov-2015 |
Alan Viverette <alanv@google.com> |
APIs for querying and controlling display magnification Also separates magnification state and touch event handling. Moves callbacks for window manager changes and display state changes into the magnification controller. Bug: 22718911 Change-Id: I3a8ba060a07d8f1f51856855a5f85601766fd45d
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
2a6a2c2de8ce2743679f488f056f22cd1adfd726 |
|
14-Oct-2015 |
Filip Gruszczynski <gruszczy@google.com> |
Change WindowState.mShownFrame to WindowState.mShownPosition. We never use this field as a rectangle, we only depend on its left-top corner. Using a frame is only confusing about the purpose of this field. Change-Id: I5d6e6321db4fa3203bb7e0f1975ae6ddd1ec09bb
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
f83e824216435e45f36a3587e269888f791b2a01 |
|
20-May-2015 |
Selim Cinek <cinek@google.com> |
Fixed that touches where incorrectly consumed when fullscreen The fake window that was added when View.SYSTEM_UI_FULL_SCREEN was set consumed all touches, even those going to the SystemUI and not just those of windows below. The input consumer is now correctly positioned in the window order to only capture the right touches. Clicks to the volume panel and the heads up now correctly go to the right place instead of just unhiding the SystemUI bars. Bug: 21089476 Change-Id: Ib53dfc0b33b70084ca607d0f044db30b6e6c91d6
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
01f280d376218c5a007fc29f70b876375ad24204 |
|
19-May-2015 |
Adam Powell <adamp@google.com> |
Migrate uses of config_windowIsRound to Configuration.isScreenRound Move existing code that previously relied on config_windowIsRound to use the new Configuration.isScreenRound() method. Also move the system property override for emulators over to the initial setup of a Display so that the configuration property is consistent with existing expectations. Remove config_windowIsRound from symbols.xml. The symbol now only exists as a default value redirect for overlays already configured to supply this value. Change-Id: I24e6564030a6051c3ac7262868983b43e13eee65
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
0a4dc2258fa8216920e1a0b83cbf7d3729386e2f |
|
14-Apr-2015 |
Wale Ogunwale <ogunwale@google.com> |
Added TYPE_APPLICATION_ABOVE_SUB_PANEL window type. TYPE_APPLICATION_ABOVE_SUB_PANEL will be displayed on top of their attached window and any TYPE_APPLICATION_SUB_PANEL panels. Bug: 20135562 Change-Id: I711de3c19c01432c44de205bf09934a8b23b53fd
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
4a357cd2e55293402d7172766f7f9419815fc1e8 |
|
19-Mar-2015 |
Alan Viverette <alanv@google.com> |
Replace usages of deprecated Resources.getColor() and getColorStateList() Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
032559650e4ac9844f92b0b746735d09a11f82dd |
|
13-Feb-2015 |
Casey Burkhardt <caseyburkhardt@google.com> |
am 6f2dd8a9: Merge "Support circular magnification frame on circular devices" into lmp-mr1-modular-dev automerge: d1a5b5d * commit 'd1a5b5dc07dc3798ae13a5a9538b5e5bbbeb8058': Support circular magnification frame on circular devices
|
d29a1e47d44ac072502342c3b9f55e9870e914ba |
|
12-Feb-2015 |
Casey Burkhardt <caseyburkhardt@google.com> |
Support circular magnification frame on circular devices The magnification viewport expects its boundary to be a rectangular region, and always draws it as such. This change causes the indicator to draw as a circle on devices with circular displays. This also refactors the width of the indicator's frame to use a proper dimension resource and updates the width to 4dip. Bug:18242438 Change-Id: I1d86647b6d1ef84f5dd506f4141223ec050a79b5
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
165be0c70d128f0ece876d54e1c7e95ef04c6960 |
|
28-Jan-2015 |
Craig Mautner <cmautner@google.com> |
Remove TYPE_UNIVERSE_BACKGROUND from system An experiment that is over and has been occupying space. Fixes bug 18088522 item #7 Change-Id: Ib0fcaa24243ed9b0581143e1d5114c1fd2b0aa6e
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
3a0d878ab56475276c61d574af7651820a5cea5a |
|
04-Dec-2014 |
Svetoslav <svetoslavganov@google.com> |
Ensure all events from a showing window are dispatched. Accessibility services may opt-in to introspect the interactive windows on the screen. If window introspection is enabled there is a case where some events from a showing window are received before the updated window state from the window manager. Now the window manager sends over the windows before notifying the app for the focus change. bug:18625996 Change-Id: Ic481e01efbe12dc92f090f799feeb236672fc7b3
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
d0c73f49b72a4801fc19d2bda2b9239c34c6fa06 |
|
18-Nov-2014 |
Alan Viverette <alanv@google.com> |
Don't ignore accessibility overlays during visibility computation Just don't use then to compute unaccounted space. This is a partial revert of commit 9538eea5ff6f8e2183ced81b5b8eac60b0e774ea. Change-Id: Ie2e29c8934da8ef707d20db1333abd4e240cd213
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
9538eea5ff6f8e2183ced81b5b8eac60b0e774ea |
|
13-Nov-2014 |
Alan Viverette <alanv@google.com> |
Ignore accessibility overlays during visible window computation Previously, the conditional for checking the layer type before accounting for the window bounds was incorrectly inverted, but we can simplify by just skipping accessibility overlay windows completely. BUG: 18358878 BUG: 18359820 BUG: 18359788 Change-Id: I9ba1e43a0fef4fa40693bd8c7e883c2ef45b4c4d
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
3a5c721072c60c7ed9c8a95d0a65d0e3cb4eb9bb |
|
14-Oct-2014 |
Svetoslav <svetoslavganov@google.com> |
APIs for an accessibility service to put interaction tracking overlays. An accessibility service may register to observe the interactive windows on the primary display. These windows are the one that has input focus and ones a sighted user can touch. It is sometimes beneficial for an accessibility service to overlay a window to intercept user interaction and based on that introspect and perform an action on the windows that are on the screen. This is problematic as overlaying a full screen window that is touchable prevents the accessibility service to introspect the content under this window. This change adds a special type of window that only an accessibility service can place which does not affect what an accessibility service can "see" on the screen. Hence, even putting such a window full screen the service will be able to interact with the other interactive windows it covers. Change-Id: I053ccc3a5c6360a98dc40bdb172b54dab35d8b31
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
9a64513c7fccc2a9cf331a384906a7669b29b3f4 |
|
08-Oct-2014 |
Adrian Roos <roosa@google.com> |
Retire RecentApplicationsDialog Bug: 5162991 Change-Id: I429da977502f33e2091496f3a075b2c507a88e1f
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
b21df801f43a979290092b0f50011370fa1b6ac0 |
|
02-Sep-2014 |
Svet Ganov <svetoslavganov@google.com> |
Magnification bounds not always animated on a looper thread. In display manigfication mode we are showing a frame around the magnified region. Showing and hiding this frame is animated. In some cases the code calling into the display magnifier is not running on a looper thread which leads to a crash when interacting with the property animator. Now the animation is explicitly handled in a dedicated handler that runs on the window manager's handler looper thread. bug:15506701 Change-Id: I3fada775c9fac8820599dd31ac80720021c70cb3
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
7505e3315cb997165035f3bcc736d9d257b1fe3c |
|
22-Aug-2014 |
Svetoslav <svetoslavganov@google.com> |
Fix jank in when drawing magnification bounds There was an off-by-one error in computing the invalidated rectangle when drawing the magnified region border. bug:17199352 Change-Id: Id0a1af092b7124bbdca316534c035ed9af829326
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
6170cca05eb13cfb44c8d13e7a447cd24f27a62c |
|
17-Jun-2014 |
Svetoslav <svetoslavganov@google.com> |
Not touchable windows should not hide windows behind When computing which windows to report for accessibility we were not reporting windows behind non touchable ones. However, if a window is not-touchable the touch events go to the window behind it. Hence, a not-touchable window should not affect the reproted windows for accessibility. Change-Id: I213a32b33b0986a73d8bbdf0a3e40e6ca6e4261b
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
f7174e87b6007000777b0124de9cef70d8618788 |
|
12-Jun-2014 |
Svetoslav <svetoslavganov@google.com> |
Fix backwards compatibility for introspected windows. 1. The APIs for introspecting interactive windows were reporting only the touchable windows but were missing the focused window. The user can interact with the latter by typing, hence it should always be reported. Also this was breaking backwards compatibility as if the focused window is covered by a modal one, the focused window was not reporeted and this was putting the active window in a bad state as the latter is either the focused window or the one the user is touching. 2. Window change events are too frequent as on window transition things are chanign a lot. Now we are trottling the windows changed events at the standard recurring accessibility event interval. 3. Fixed a wrong flag comparison and removed some unneded code. buy:15434666 bug:15432989 Change-Id: I825b33067e8cbf26396a4d38642bde4907b6427a
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
4604abc97d7dd757bb76ff9b7fcf343dc4a15212 |
|
11-Jun-2014 |
Svetoslav <svetoslavganov@google.com> |
Moving and resizing windows not reported propely for accessibility. When the position and size of a window changes we have to report that to the accessibility layer if the window introspection is enabled. bug:15569915 Change-Id: I3f869e0a582592bfa5f3743d5c2133ee8cb39b34
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
eb94fa7975b1e8742f3b00cec6bd4f9d6b329e3a |
|
04-Jun-2014 |
Dianne Hackborn <hackbod@google.com> |
Improvements to low power mode. Add new public API for monitoring low power mode. BatteryService now puts device in to low power mode when battery level is low. Window manager now watches low power mode to turn off animations. Modifying the animator scale now gets propagated to all processes. Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
8e3feb15c5aec2c72b0ef120a1da325e1e8f0dda |
|
24-Feb-2014 |
Svetoslav <svetoslavganov@google.com> |
Added accessibility APIs for introspecting interactive windows. 1. The old introspection model was allowing querying only the active window which is the one the user is touching or the focused one if no window is touched. This was limiting as auto completion drop downs were not inspectable, there was not way to know when the IME toggles, non-focusable windows were not inspectable if the user taps them as until a screen-reader starts introspecting the users finger is up, accessibility focus was limited to only one window and the user couldn't use gestures to visit the whole UI, and other things I can't remember right now. The new APIs allow getting all interactive windows, i.e. ones that a sighted user can interact with. This prevents an accessibility service from interacting with content a sighter user cannot. The list of windows can be obtained from an accessibility service or the host window from an accessibility node info. Introspecting windows obey the same rules for introspecting node, i.e. the service has to declare this capability in its manifest. When some windows change accessibility services receive a new type of event. Initially the types of windows is very limited. We provide the bounds in screen, layer, and some other properties which are enough for a client to determined the spacial and hierarchical relationship of the windows. 2. Update the documentation in AccessibilityService for newer event types. 3. LongArray was not removing elements properly. 4. Composite accessibility node ids were not properly constructed as they are composed of two ints, each taking 32 bits. However, the values for undefined were -1 so composing a 64 long from -1, -1 prevents from getting back these values when unpacking. 5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added a check that enforces such trees to be well formed on dev builds. 6. Removed an necessary code for piping the touch exploration state to the policy as it should just use the AccessibilityManager from context. 7. When view's visibility changed it was not firing an event to notify clients it disappeared/appeared. Also ViewGroup was sending accessibility events for changes if the view is included for accessibility but this is wrong as there may be a service that want all nodes, hence events from them. The accessibility manager service takes care of delivering events from not important for accessibility nodes only to services that want such. 8. Several places were asking for prefetching of sibling but not predecessor nodes which resulted in prefetching of unconnected subtrees. 9. The local AccessibilityManager implementation was relying on the backing service being ready when it is created but it can be fetched from a context before that. If that happens the local manager was in a broken state forever. Now it is more robust and starts working properly once the backing service is up. Several places were lacking locking. bug:13331285 Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|