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/accessibility/java/com/android/server/accessibility/MagnificationGestureHandler.java
|
89e3ffc66c5a05f188ff9748b48abebc247f664b |
|
19-Sep-2016 |
Phil Weaver <pweaver@google.com> |
Add tests for MagnificationController. Also refactoring the class to make it easier to test and chaning behavior where the current behavior seemed poorly defined. Refactoring: - Combined all handlers into one. - Simplified animation to use a ValueAnimator. - Eliminated ACCESSIBILITY_DISPLAY_MAGNIFICATION_AUTO_UPDATE setting. Move rest of settings reading into mockable class. - Move callbacks from WindowManager into the main class. - Pulled out my instrumented Handler from the MotionEventInjectorTest into its own class so I can reuse it. Behavior changes: - Always constraining out-of-bounds values rather than refusing to change them. - Constraining offsets on bounds changes. We previously left them alone, even if they were out of bounds. - Keeping track of the animation starting point. We were interpolating between the current magnification spec and the final one. This change means the magnification animates to a different profile. Test: This CL adds tests. I've also run a11y CTS. Bugs: 31855954, 30325691 Change-Id: Ie00e29ae88b75d9fe1016f9d107257c9cf6425bb
/frameworks/base/services/accessibility/java/com/android/server/accessibility/MagnificationGestureHandler.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/accessibility/java/com/android/server/accessibility/MagnificationGestureHandler.java
|
416bba7b467a5606798ef3d9013cdee2f0c39b1a |
|
14-Apr-2016 |
Svetoslav Ganov <svetoslavganov@google.com> |
Ensure injected gestures respect magnification Change-Id: Ie828f4be4eb1ec620549c1346ec7cc335908612f
/frameworks/base/services/accessibility/java/com/android/server/accessibility/MagnificationGestureHandler.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/accessibility/java/com/android/server/accessibility/MagnificationGestureHandler.java
|