Most visited

Recently visited

Added in API level 21

AccessibilityWindowInfo

public final class AccessibilityWindowInfo
extends Object implements Parcelable

java.lang.Object
   ↳ android.view.accessibility.AccessibilityWindowInfo


This class represents a state snapshot of a window for accessibility purposes. The screen content contains one or more windows where some windows can be descendants of other windows, which is the windows are hierarchically ordered. Note that there is no root window. Hence, the screen content can be seen as a collection of window trees.

Summary

Constants

int TYPE_ACCESSIBILITY_OVERLAY

Window type: Windows that are overlaid only by an AccessibilityService for interception of user interactions without changing the windows an accessibility service can introspect.

int TYPE_APPLICATION

Window type: This is an application window.

int TYPE_INPUT_METHOD

Window type: This is an input method window.

int TYPE_SPLIT_SCREEN_DIVIDER

Window type: A system window used to divide the screen in split-screen mode.

int TYPE_SYSTEM

Window type: This is an system window.

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<AccessibilityWindowInfo> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

AccessibilityNodeInfo getAnchor()

Gets the node that anchors this window to another.

void getBoundsInScreen(Rect outBounds)

Gets the bounds of this window in the screen.

AccessibilityWindowInfo getChild(int index)

Gets the child window at a given index.

int getChildCount()

Gets the number of child windows.

int getId()

Gets the unique window id.

int getLayer()

Gets the layer which determines the Z-order of the window.

AccessibilityWindowInfo getParent()

Gets the parent window.

AccessibilityNodeInfo getRoot()

Gets the root node in the window's hierarchy.

CharSequence getTitle()

Gets the title of the window.

int getType()

Gets the type of the window.

int hashCode()

Returns a hash code value for the object.

boolean isAccessibilityFocused()

Gets if this window has accessibility focus.

boolean isActive()

Gets if this window is active.

boolean isFocused()

Gets if this window has input focus.

static AccessibilityWindowInfo obtain()

Returns a cached instance if such is available or a new one is created.

static AccessibilityWindowInfo obtain(AccessibilityWindowInfo info)

Returns a cached instance if such is available or a new one is created.

void recycle()

Return an instance back to be reused.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel parcel, int flags)

Flatten this object in to a Parcel.

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable

Constants

TYPE_ACCESSIBILITY_OVERLAY

Added in API level 22
int TYPE_ACCESSIBILITY_OVERLAY

Window type: Windows that are overlaid only by an AccessibilityService for interception of user interactions without changing the windows an accessibility service can introspect. In particular, an accessibility service can introspect only windows that a sighted user can interact with which they can touch these windows or can type into these windows. For example, if there is a full screen accessibility overlay that is touchable, the windows below it will be introspectable by an accessibility service regardless they are covered by a touchable window.

Constant Value: 4 (0x00000004)

TYPE_APPLICATION

Added in API level 21
int TYPE_APPLICATION

Window type: This is an application window. Such a window shows UI for interacting with an application.

Constant Value: 1 (0x00000001)

TYPE_INPUT_METHOD

Added in API level 21
int TYPE_INPUT_METHOD

Window type: This is an input method window. Such a window shows UI for inputting text such as keyboard, suggestions, etc.

Constant Value: 2 (0x00000002)

TYPE_SPLIT_SCREEN_DIVIDER

Added in API level 24
int TYPE_SPLIT_SCREEN_DIVIDER

Window type: A system window used to divide the screen in split-screen mode. This type of window is present only in split-screen mode.

Constant Value: 5 (0x00000005)

TYPE_SYSTEM

Added in API level 21
int TYPE_SYSTEM

Window type: This is an system window. Such a window shows UI for interacting with the system.

Constant Value: 3 (0x00000003)

Fields

CREATOR

Added in API level 21
Creator<AccessibilityWindowInfo> CREATOR

Public methods

describeContents

Added in API level 21
int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

equals

Added in API level 21
boolean equals (Object obj)

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

Parameters
obj Object: the reference object with which to compare.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

getAnchor

Added in API level 24
AccessibilityNodeInfo getAnchor ()

Gets the node that anchors this window to another.

Returns
AccessibilityNodeInfo The anchor node, or null if none exists.

getBoundsInScreen

Added in API level 21
void getBoundsInScreen (Rect outBounds)

Gets the bounds of this window in the screen.

Parameters
outBounds Rect: The out window bounds.

getChild

Added in API level 21
AccessibilityWindowInfo getChild (int index)

Gets the child window at a given index.

Parameters
index int: The index.
Returns
AccessibilityWindowInfo The child.

getChildCount

Added in API level 21
int getChildCount ()

Gets the number of child windows.

Returns
int The child count.

getId

Added in API level 21
int getId ()

Gets the unique window id.

Returns
int windowId The window id.

getLayer

Added in API level 21
int getLayer ()

Gets the layer which determines the Z-order of the window. Windows with greater layer appear on top of windows with lesser layer.

Returns
int The window layer.

getParent

Added in API level 21
AccessibilityWindowInfo getParent ()

Gets the parent window.

Returns
AccessibilityWindowInfo The parent window, or null if none exists.

getRoot

Added in API level 21
AccessibilityNodeInfo getRoot ()

Gets the root node in the window's hierarchy.

Returns
AccessibilityNodeInfo The root node.

getTitle

Added in API level 24
CharSequence getTitle ()

Gets the title of the window.

Returns
CharSequence The title of the window, or null if none is available.

getType

Added in API level 21
int getType ()

Gets the type of the window.

Returns
int The type.

See also:

hashCode

Added in API level 21
int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)

Returns
int a hash code value for this object.

isAccessibilityFocused

Added in API level 21
boolean isAccessibilityFocused ()

Gets if this window has accessibility focus.

Returns
boolean Whether has accessibility focus.

isActive

Added in API level 21
boolean isActive ()

Gets if this window is active. An active window is the one the user is currently touching or the window has input focus and the user is not touching any window.

Returns
boolean Whether this is the active window.

isFocused

Added in API level 21
boolean isFocused ()

Gets if this window has input focus.

Returns
boolean Whether has input focus.

obtain

Added in API level 21
AccessibilityWindowInfo obtain ()

Returns a cached instance if such is available or a new one is created.

Returns
AccessibilityWindowInfo An instance.

obtain

Added in API level 21
AccessibilityWindowInfo obtain (AccessibilityWindowInfo info)

Returns a cached instance if such is available or a new one is created. The returned instance is initialized from the given info.

Parameters
info AccessibilityWindowInfo: The other info.
Returns
AccessibilityWindowInfo An instance.

recycle

Added in API level 21
void recycle ()

Return an instance back to be reused.

Note: You must not touch the object after calling this function.

Throws
IllegalStateException If the info is already recycled.

toString

Added in API level 21
String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

Added in API level 21
void writeToParcel (Parcel parcel, 
                int flags)

Flatten this object in to a Parcel.

Parameters
parcel Parcel: The Parcel in which the object should be written.
flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

Hooray!