lightbulb_outline Please take our October 2018 developer survey. Start survey

AccessibilityService.MagnificationController

public static final class AccessibilityService.MagnificationController
extends Object

java.lang.Object
   ↳ android.accessibilityservice.AccessibilityService.MagnificationController


Used to control and query the state of display magnification.

Summary

Nested classes

interface AccessibilityService.MagnificationController.OnMagnificationChangedListener

Listener for changes in the state of magnification. 

Public methods

void addListener(AccessibilityService.MagnificationController.OnMagnificationChangedListener listener, Handler handler)

Adds the specified change listener to the list of magnification change listeners.

void addListener(AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)

Adds the specified change listener to the list of magnification change listeners.

float getCenterX()

Returns the unscaled screen-relative X coordinate of the focal center of the magnified region.

float getCenterY()

Returns the unscaled screen-relative Y coordinate of the focal center of the magnified region.

Region getMagnificationRegion()

Returns the region of the screen currently active for magnification.

float getScale()

Returns the current magnification scale.

boolean removeListener(AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)

Removes the specified change listener from the list of magnification change listeners.

boolean reset(boolean animate)

Resets magnification scale and center to their default (e.g.

boolean setCenter(float centerX, float centerY, boolean animate)

Sets the center of the magnified viewport.

boolean setScale(float scale, boolean animate)

Sets the magnification scale.

Inherited methods

Public methods

addListener

added in API level 24
public void addListener (AccessibilityService.MagnificationController.OnMagnificationChangedListener listener, 
                Handler handler)

Adds the specified change listener to the list of magnification change listeners. The callback will occur on the specified Handler's thread, or on the service's main thread if the handler is null.

Parameters
listener AccessibilityService.MagnificationController.OnMagnificationChangedListener: the listener to add, must be non-null

handler Handler: the handler on which the callback should execute, or null to execute on the service's main thread

addListener

added in API level 24
public void addListener (AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)

Adds the specified change listener to the list of magnification change listeners. The callback will occur on the service's main thread.

Parameters
listener AccessibilityService.MagnificationController.OnMagnificationChangedListener: the listener to add, must be non-null

getCenterX

added in API level 24
public float getCenterX ()

Returns the unscaled screen-relative X coordinate of the focal center of the magnified region. This is the point around which zooming occurs and is guaranteed to lie within the magnified region.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will return a default value of 0.0f.

Returns
float the unscaled screen-relative X coordinate of the center of the magnified region

getCenterY

added in API level 24
public float getCenterY ()

Returns the unscaled screen-relative Y coordinate of the focal center of the magnified region. This is the point around which zooming occurs and is guaranteed to lie within the magnified region.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will return a default value of 0.0f.

Returns
float the unscaled screen-relative Y coordinate of the center of the magnified region

getMagnificationRegion

added in API level 24
public Region getMagnificationRegion ()

Returns the region of the screen currently active for magnification. Changes to magnification scale and center only affect this portion of the screen. The rest of the screen, for example input methods, cannot be magnified. This region is relative to the unscaled screen and is independent of the scale and center point.

The returned region will be empty if magnification is not active. Magnification is active if magnification gestures are enabled or if a service is running that can control magnification.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will return an empty region.

Returns
Region the region of the screen currently active for magnification, or an empty region if magnification is not active.

This value will never be null.

getScale

added in API level 24
public float getScale ()

Returns the current magnification scale.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will return a default value of 1.0f.

Returns
float the current magnification scale

removeListener

added in API level 24
public boolean removeListener (AccessibilityService.MagnificationController.OnMagnificationChangedListener listener)

Removes the specified change listener from the list of magnification change listeners.

Parameters
listener AccessibilityService.MagnificationController.OnMagnificationChangedListener: the listener to remove, must be non-null

Returns
boolean true if the listener was removed, false otherwise

reset

added in API level 24
public boolean reset (boolean animate)

Resets magnification scale and center to their default (e.g. no magnification) values.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will have no effect and return false.

Parameters
animate boolean: true to animate from the current scale and center or false to reset the scale and center immediately

Returns
boolean true on success, false on failure

setCenter

added in API level 24
public boolean setCenter (float centerX, 
                float centerY, 
                boolean animate)

Sets the center of the magnified viewport.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will have no effect and return false.

Parameters
centerX float: the unscaled screen-relative X coordinate on which to center the viewport

centerY float: the unscaled screen-relative Y coordinate on which to center the viewport

animate boolean: true to animate from the current viewport center or false to set the center immediately

Returns
boolean true on success, false on failure

setScale

added in API level 24
public boolean setScale (float scale, 
                boolean animate)

Sets the magnification scale.

Note: If the service is not yet connected (e.g. AccessibilityService.onServiceConnected() has not yet been called) or the service has been disconnected, this method will have no effect and return false.

Parameters
scale float: the magnification scale to set, must be >= 1 and <= 5

animate boolean: true to animate from the current scale or false to set the scale immediately

Returns
boolean true on success, false on failure