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 |
int | TYPE_APPLICATION Window type: This is an application window. |
int | TYPE_INPUT_METHOD Window type: This is an input method window. |
int | TYPE_MAGNIFICATION_OVERLAY Window type: A system window used to show the UI for the interaction with window-based magnification, which includes the magnified content and the option menu. |
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 a system window. |
int | TYPE_WINDOW_CONTROL Window type: A system window that has the function to control an associated window. |
Inherited constants |
---|
Fields | |
---|---|
public static final Creator<AccessibilityWindowInfo> | CREATOR
|
Public constructors | |
---|---|
AccessibilityWindowInfo() Creates a new | |
AccessibilityWindowInfo(AccessibilityWindowInfo info) Copy constructor. |
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 | getDisplayId() Returns the ID of the display this window is on, for use with |
int | getId() Gets the unique window id. |
int | getLayer() Gets the layer which determines the Z-order of the window. |
LocaleList | getLocales() Return the |
AccessibilityWindowInfo | getParent() Gets the parent window. |
void | getRegionInScreen(Region outRegion) Gets the touchable region of this window in the screen. |
AccessibilityNodeInfo | getRoot(int prefetchingStrategy) Gets the root node in the window's hierarchy. |
AccessibilityNodeInfo | getRoot() Gets the root node in the window's hierarchy. |
CharSequence | getTitle() Gets the title of the window. |
long | getTransitionTimeMillis() Return the |
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. |
boolean | isInPictureInPictureMode() Check if the window is in picture-in-picture mode. |
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 | |
---|---|
Constants
TYPE_ACCESSIBILITY_OVERLAY
public static final 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
public static final 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
public static final 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_MAGNIFICATION_OVERLAY
public static final int TYPE_MAGNIFICATION_OVERLAY
Window type: A system window used to show the UI for the interaction with window-based magnification, which includes the magnified content and the option menu.
Constant Value: 6 (0x00000006)
TYPE_SPLIT_SCREEN_DIVIDER
public static final 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
public static final int TYPE_SYSTEM
Window type: This is a system window. Such a window shows UI for interacting with the system.
Constant Value: 3 (0x00000003)
TYPE_WINDOW_CONTROL
public static final int TYPE_WINDOW_CONTROL
Window type: A system window that has the function to control an associated window.
Constant Value: 7 (0x00000007)
Fields
Public constructors
AccessibilityWindowInfo
public AccessibilityWindowInfo ()
Creates a new AccessibilityWindowInfo
.
AccessibilityWindowInfo
public AccessibilityWindowInfo (AccessibilityWindowInfo info)
Copy constructor. Creates a new AccessibilityWindowInfo
, and this new instance is initialized from given info
.
Parameters | |
---|---|
info | AccessibilityWindowInfo : The other info. This value cannot be null . |
Public methods
describeContents
public 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(android.os.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. Value is either 0 or CONTENTS_FILE_DESCRIPTOR |
equals
public 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 returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
obj | Object : This value may be null . |
Returns | |
---|---|
boolean | true if this object is the same as the obj argument; false otherwise. |
getAnchor
public AccessibilityNodeInfo getAnchor ()
Gets the node that anchors this window to another.
Returns | |
---|---|
AccessibilityNodeInfo | The anchor node, or null if none exists. |
getBoundsInScreen
public void getBoundsInScreen (Rect outBounds)
Gets the bounds of this window in the screen. This is equivalent to get the bounds of the Region from getRegionInScreen(android.graphics.Region)
.
Parameters | |
---|---|
outBounds | Rect : The out window bounds. |
getChild
public AccessibilityWindowInfo getChild (int index)
Gets the child window at a given index.
Parameters | |
---|---|
index | int : The index. |
Returns | |
---|---|
AccessibilityWindowInfo | The child. |
getChildCount
public int getChildCount ()
Gets the number of child windows.
Returns | |
---|---|
int | The child count. |
getDisplayId
public int getDisplayId ()
Returns the ID of the display this window is on, for use with DisplayManager.getDisplay(int)
.
Returns | |
---|---|
int | The logical display id. |
getId
public int getId ()
Gets the unique window id.
Returns | |
---|---|
int | windowId The window id. |
getLayer
public 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. |
getLocales
public LocaleList getLocales ()
Return the LocaleList
of the window.
Returns | |
---|---|
LocaleList | the locales of the window. This value cannot be null . |
getParent
public AccessibilityWindowInfo getParent ()
Gets the parent window.
Returns | |
---|---|
AccessibilityWindowInfo | The parent window, or null if none exists. |
getRegionInScreen
public void getRegionInScreen (Region outRegion)
Gets the touchable region of this window in the screen.
Parameters | |
---|---|
outRegion | Region : The out window region. This value cannot be null . |
getRoot
public AccessibilityNodeInfo getRoot (int prefetchingStrategy)
Gets the root node in the window's hierarchy.
Parameters | |
---|---|
prefetchingStrategy | int : the prefetching strategy. Value is either 0 or a combination of AccessibilityNodeInfo.FLAG_PREFETCH_ANCESTORS , AccessibilityNodeInfo.FLAG_PREFETCH_SIBLINGS , AccessibilityNodeInfo.FLAG_PREFETCH_DESCENDANTS_HYBRID , AccessibilityNodeInfo.FLAG_PREFETCH_DESCENDANTS_DEPTH_FIRST , AccessibilityNodeInfo.FLAG_PREFETCH_DESCENDANTS_BREADTH_FIRST , and AccessibilityNodeInfo.FLAG_PREFETCH_UNINTERRUPTIBLE |
Returns | |
---|---|
AccessibilityNodeInfo | The root node. This value may be null . |
See also:
getRoot
public AccessibilityNodeInfo getRoot ()
Gets the root node in the window's hierarchy.
Returns | |
---|---|
AccessibilityNodeInfo | The root node. |
getTitle
public CharSequence getTitle ()
Gets the title of the window.
This is taken from the Window
's title, or its WindowManager.LayoutParams
if that is unset.
Returns | |
---|---|
CharSequence | The title of the window, or null if none is available. |
getTransitionTimeMillis
public long getTransitionTimeMillis ()
Return the SystemClock.uptimeMillis()
at which the last transition happens. A transition happens when getBoundsInScreen(android.graphics.Rect)
is changed.
Value is a non-negative timestamp in the SystemClock.uptimeMillis()
time base.
Returns | |
---|---|
long | The transition timestamp. Value is a non-negative timestamp in the SystemClock.uptimeMillis() time base. |
getType
public int getType ()
Gets the type of the window.
Returns | |
---|---|
int | The type. |
hashCode
public 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 inequals
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
method, then calling thehashCode
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
method, then calling thehashCode
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.
Returns | |
---|---|
int | a hash code value for this object. |
isAccessibilityFocused
public boolean isAccessibilityFocused ()
Gets if this window has accessibility focus.
Returns | |
---|---|
boolean | Whether has accessibility focus. |
isActive
public 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.
This is defined as the window that most recently fired one of the following events: AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
, AccessibilityEvent.TYPE_VIEW_HOVER_ENTER
, AccessibilityEvent.TYPE_VIEW_HOVER_EXIT
. In other words, the last window shown that also has input focus.
Returns | |
---|---|
boolean | Whether this is the active window. |
isFocused
public boolean isFocused ()
Gets if this window has input focus.
Returns | |
---|---|
boolean | Whether has input focus. |
isInPictureInPictureMode
public boolean isInPictureInPictureMode ()
Check if the window is in picture-in-picture mode.
Returns | |
---|---|
boolean | true if the window is in picture-in-picture mode, false otherwise. |
obtain
public static AccessibilityWindowInfo obtain ()
Returns a cached instance if such is available or a new one is created.
In most situations object pooling is not beneficial. Create a new instance using the constructor AccessibilityWindowInfo()
instead.
Returns | |
---|---|
AccessibilityWindowInfo | An instance. |
obtain
public static 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
.
In most situations object pooling is not beneficial. Create a new instance using the constructor AccessibilityWindowInfo(android.view.accessibility.AccessibilityWindowInfo)
instead.
Parameters | |
---|---|
info | AccessibilityWindowInfo : The other info. |
Returns | |
---|---|
AccessibilityWindowInfo | An instance. |
recycle
public void recycle ()
Return an instance back to be reused.
Note: You must not touch the object after calling this function.
In most situations object pooling is not beneficial, and recycling is not necessary.
Throws | |
---|---|
IllegalStateException | If the info is already recycled. |
toString
public String toString ()
Returns a string representation of the object.
Returns | |
---|---|
String | a string representation of the object. |
writeToParcel
public 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. This value cannot be null . |
flags | int : Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE . Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE , and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES |