diff options
| author | Phil Weaver <pweaver@google.com> | 2016-03-22 17:53:50 -0700 |
|---|---|---|
| committer | Phil Weaver <pweaver@google.com> | 2016-03-29 08:41:09 -0700 |
| commit | 396d549113bc633f719acc643c7dfc5f2a8fae4e (patch) | |
| tree | ea23508b49e083bad92a90a1f8e02388773cdfc6 /core/java/android/view/WindowInfo.java | |
| parent | ada2c872fce06eeb532bdd26b20e081cd135afb0 (diff) | |
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
Diffstat (limited to 'core/java/android/view/WindowInfo.java')
| -rw-r--r-- | core/java/android/view/WindowInfo.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/view/WindowInfo.java b/core/java/android/view/WindowInfo.java index b72107447541..737e46071313 100644 --- a/core/java/android/view/WindowInfo.java +++ b/core/java/android/view/WindowInfo.java @@ -44,6 +44,8 @@ public class WindowInfo implements Parcelable { public boolean focused; public final Rect boundsInScreen = new Rect(); public List<IBinder> childTokens; + public CharSequence title; + public int accessibilityIdOfAnchor = View.NO_ID; private WindowInfo() { /* do nothing - hide constructor */ @@ -65,6 +67,8 @@ public class WindowInfo implements Parcelable { window.parentToken = other.parentToken; window.focused = other.focused; window.boundsInScreen.set(other.boundsInScreen); + window.title = other.title; + window.accessibilityIdOfAnchor = other.accessibilityIdOfAnchor; if (other.childTokens != null && !other.childTokens.isEmpty()) { if (window.childTokens == null) { @@ -95,6 +99,8 @@ public class WindowInfo implements Parcelable { parcel.writeStrongBinder(parentToken); parcel.writeInt(focused ? 1 : 0); boundsInScreen.writeToParcel(parcel, flags); + parcel.writeCharSequence(title); + parcel.writeInt(accessibilityIdOfAnchor); if (childTokens != null && !childTokens.isEmpty()) { parcel.writeInt(1); @@ -108,13 +114,15 @@ public class WindowInfo implements Parcelable { public String toString() { StringBuilder builder = new StringBuilder(); builder.append("WindowInfo["); - builder.append("type=").append(type); + builder.append("title=").append(title); + builder.append(", type=").append(type); builder.append(", layer=").append(layer); builder.append(", token=").append(token); builder.append(", bounds=").append(boundsInScreen); builder.append(", parent=").append(parentToken); builder.append(", focused=").append(focused); builder.append(", children=").append(childTokens); + builder.append(", accessibility anchor=").append(accessibilityIdOfAnchor); builder.append(']'); return builder.toString(); } @@ -126,6 +134,8 @@ public class WindowInfo implements Parcelable { parentToken = parcel.readStrongBinder(); focused = (parcel.readInt() == 1); boundsInScreen.readFromParcel(parcel); + title = parcel.readCharSequence(); + accessibilityIdOfAnchor = parcel.readInt(); final boolean hasChildren = (parcel.readInt() == 1); if (hasChildren) { |
