3bffcb16cb145456918140044a47027f868565f8 |
|
28-Mar-2017 |
Phil Weaver <pweaver@google.com> |
Move displaying mag bounds into surface transation Bug: 30960346 Test: Manually enabled magnification and explored Change-Id: Ida16979ecf0263b1c1288aa92385af29928f2d9e (cherry picked from commit 251db070c5bc6f2859ef05e5456cc9079afc8224)
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
74922c63e1dfba074aa9219034e48a161bdfba5b |
|
13-Feb-2017 |
Casey Burkhardt <caseyburkhardt@google.com> |
Display magnification via the nav bar Accessibility Button Adds support for invoking display magnification by first selecting the Accessibility Button, then touching an area of the screen to magnify. Bug: 30960346 Test: Manual Change-Id: Ifd8a355562f204182e34bd37f71a3637d85cf0e1
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
8ee7285128c3843401d4c4d0412cd66e86ba49e3 |
|
10-Mar-2017 |
Andrii Kulian <akulian@google.com> |
Move rotation tracking to DisplayContent This CL moves rotation tracking from WindowManagerService to DisplayContent. This way displays can be rotated independently and rotation of the main display won't affect rotation of secondary ones. Bug: 34242678 Test: android.server.cts.ActivityManagerDisplayTests Test: testRotationNotAffectingSecondaryScreen Change-Id: Ic46aaa523482b31ff5ec77f0c2908ceda1156fc0
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
0edf18f34c4dc81e45580bc0a3b3b9b072caa725 |
|
22-Feb-2017 |
Robert Carr <racarr@google.com> |
Correct SurfaceControl matrix parameter names. DsDx is used for the X scale but DtDy is used for the Y scale, it seems like this is a simple mix up. Correct before documenting SurfaceControl. Test: Animations and such work. Change-Id: Ic52b67596bf576f58346e4db66661b06ea1bdc2f
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
5cd907d3d6ceebf8731ef1f69347cce6f76109e9 |
|
26-Jan-2017 |
Wale Ogunwale <ogunwale@google.com> |
Alert Windows behavioral changes - Introduced TYPE_APPLICATION_OVERLAY window type. Can be used by apps to display windows on top of other app windows, but below critical system windows. - Deprecate alert window types TYPE_PHONE, TYPE_SYSTEM_ALERT, TYPE_SYSTEM_OVERLAY, TYPE_PRIORITY_PHONE, and TYPE_SYSTEM_ERROR. Apps should now use TYPE_APP_OVERLAY for this. - Apps targetting O or greater are not allowed to add the old alert window types. Apps targetting less than O can still add the old types. Apps with permission INTERNAL_SYSTEM_WINDOW (system signature apps) can still add the old types. - Z-order old alert windows types below TYPE_APPLICATION_OVERLAY if they are added by an app without the INTERNAL_SYSTEM_WINDOW permission. Test: android.server.cts.AlertWindowsTests Bug: 33256752 Change-Id: I12170955a7a333151d3387c169b51c53c32164fc
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
d1880960581d526cbaed0566d522987d9301b293 |
|
08-Nov-2016 |
Wale Ogunwale <ogunwale@google.com> |
Removed used of DisplayContent.getReadOnlyWindowList() Changed the call points to use DisplayContent.forAllWindows() to get windows on the display. Test: Existing tests pass. Change-Id: I6f8bf15ba246fac69c4a496ebb1d9e0b9b6a95a2
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
964c68e03a3a5034ab2a3533be450cc9abf9b2cb |
|
28-Oct-2016 |
Phil Weaver <pweaver@google.com> |
Send accessibility event on window title change. Forcing the layout params to be sent to WindowManagerService, and from there to accessibility to generate the event. Bug: 27857482 Test: Adding corresponding CTS. Change-Id: I24fc97e16b95799259e4c472b6f1052a1dd00a56
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
73294b6cf79910dc688e5b62d673082a3dec773b |
|
27-Oct-2016 |
Jorim Jaggi <jjaggi@google.com> |
The big keyguard transition refactor (4/n) Nuke KeyguardScrim Test: Kill SystemUI while lockscreen is showing, make sure nothing is visible when being killed. Bug: 32057734 Change-Id: I9f8d1e5a0e0f968460d8170627a849623c6a7245
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
f7cab10b796d0f66eb690867ba327b4bb00165e3 |
|
26-Oct-2016 |
Wale Ogunwale <ogunwale@google.com> |
Introduced ReadOnlyWindowList 7th and Final step in making the modification of a display's WindowList private to DisplayContent. ReadOnlyWindowList provides an interface for external classes to DisplayContent to access the window list without being able to modify it. This will be important in upcoming CLs where it is important for us to keep track of when the window list changes. Bug: 30060889 Test: Manual testing and existing tests pass. Change-Id: I4de0b258a40fd4b21ef9cc9e3401488f76d25f83
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
c503094830a7ddd8c3c2f30dbdfcbfea9ae6d9f8 |
|
07-Oct-2016 |
Phil Weaver <pweaver@google.com> |
Make magnification ignore invisible wallpaper. am: 473af05b82 am: 2de5ca2c65 am: 5a48cf3aa1 Change-Id: I72d6ec29c5c1b39c386281b9edaeb12874a49f09
|
473af05b8216755c2ef086e57f728480db87d9c2 |
|
01-Oct-2016 |
Phil Weaver <pweaver@google.com> |
Make magnification ignore invisible wallpaper. Magnification was assuming that all windows for which isOnScreen() returned true were visible, but that is not true for at least wallpapers that have been made invisible. Adding a check for visibility in addition to on screen. Bug: 7215285 Change-Id: Iadea37c9eec981f1d68c5a42959debb58cbab264
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
921f8e35d82f567b21a2faba6032b6e8f4f6f70c |
|
17-Aug-2016 |
Chong Zhang <chz@google.com> |
resolve merge conflicts of 9391bc5 to master Change-Id: I6de231781233826b399688dc8ead70ba515b1ccb
|
fea963edeeb60c76465c0d644078def191f41e0f |
|
16-Aug-2016 |
Chong Zhang <chz@google.com> |
Add new window type TYPE_DRAWN_APPLICATION This type behaves like a normal TYPE_APPLICATION, except that WM will always wait for it to be drawn before starting a transition. WM always waits for TYPE_BASE_APPLICATION (main window), but for TYPE_APPLICATION, it only waits if the window relayouts to visible and gets a surface before the main window is drawn. If main window itself is ready very fast, transition could start without the other window. bug: 30830849 Change-Id: Ife71a9812db7c8eba6ee4ead10ce4f31d9e93b40
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
36ef98cfd9a90b5896266f0a38713ff3466e978f |
|
31-Jul-2016 |
Phil Weaver <pweaver@google.com> |
Prevent a11y seeing behind tasks w/modal windows. am: ac9ad70086 am: 7fb5fcc3a6 am: 08a03c0e2d Change-Id: Iee5ddf5920abba13f6b7532ede99295d9aeaf0c8
|
ac9ad70086ca80fe865c49ace2159f342bd00b9b |
|
28-Jul-2016 |
Phil Weaver <pweaver@google.com> |
Prevent a11y seeing behind tasks w/modal windows. Bug: 30279147 Change-Id: Iee714031894bec0d5b25e0d0feaf918536e5b124
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
adde52ee32b656bb436f7e92f39f7d0d97cc9306 |
|
16-Jul-2016 |
Wale Ogunwale <ogunwale@google.com> |
Made WindowState.mChildWindow private scoped This involved: - Moving method that operated on mChildWindows and mostly touched WindowState fields into WindowState class. - Creating new methods for getting information about child windows outside WindowState class instead of accessing the child list directly. - And, tests ;) Bug: 30060889 Change-Id: I339cecb926b44b5db7ead1970e356304d5429c8f
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
fd138896d5fc0c4ec3e46ad923fa4935ceaabdeb |
|
14-Jul-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Update windows before sending a window state change event Change-Id: Ie25b75ccc739dcacbbffd2b3a32fe65086882c64
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
7ed4d37b74850e2ed5dfd50109dc6fa919904c7c |
|
10-Jul-2016 |
Wale Ogunwale <ogunwale@google.com> |
Rename WindowState.mAttachedWindow to WindowState.mParentWindow Helps with code clarity and reduces confusion for upcoming WM object modeling changes. Also, along the same lines changes locations that check to see if WS.mAttachedWindow wasn't null to determine if the window is a child window to use WS.isChildWindow method instead. Bug: 30060889 Change-Id: I9b975ab9ff9bf09cdd3c0dcaddd3bf9232e88be8
/frameworks/base/services/core/java/com/android/server/wm/AccessibilityController.java
|
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
|