Loading core/java/android/view/WindowManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -1701,6 +1701,14 @@ public interface WindowManager extends ViewManager { */ public int accessibilityIdOfAnchor = -1; /** * The window title isn't kept in sync with what is displayed in the title bar, so we * separately track the currently shown title to provide to accessibility. * * @hide */ public CharSequence accessibilityTitle; public LayoutParams() { super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); type = TYPE_APPLICATION; Loading Loading @@ -1749,6 +1757,7 @@ public interface WindowManager extends ViewManager { title = ""; mTitle = TextUtils.stringOrSpannedString(title); accessibilityTitle = mTitle; } public final CharSequence getTitle() { Loading Loading @@ -1808,6 +1817,7 @@ public interface WindowManager extends ViewManager { out.writeInt(hasManualSurfaceInsets ? 1 : 0); out.writeInt(needsMenuKey); out.writeInt(accessibilityIdOfAnchor); TextUtils.writeToParcel(accessibilityTitle, out, parcelableFlags); } public static final Parcelable.Creator<LayoutParams> CREATOR Loading Loading @@ -1859,6 +1869,7 @@ public interface WindowManager extends ViewManager { hasManualSurfaceInsets = in.readInt() != 0; needsMenuKey = in.readInt(); accessibilityIdOfAnchor = in.readInt(); accessibilityTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); } @SuppressWarnings({"PointlessBitwiseExpression"}) Loading Loading @@ -1900,6 +1911,8 @@ public interface WindowManager extends ViewManager { /** {@hide} */ public static final int ACCESSIBILITY_ANCHOR_CHANGED = 1 << 24; /** {@hide} */ public static final int ACCESSIBILITY_TITLE_CHANGED = 1 << 25; /** {@hide} */ public static final int EVERYTHING_CHANGED = 0xffffffff; // internal buffer to backup/restore parameters under compatibility mode. Loading Loading @@ -2065,6 +2078,13 @@ public interface WindowManager extends ViewManager { changes |= ACCESSIBILITY_ANCHOR_CHANGED; } if (!Objects.equals(accessibilityTitle, o.accessibilityTitle) && o.accessibilityTitle != null) { // NOTE: accessibilityTitle only copied if the originator set one. accessibilityTitle = o.accessibilityTitle; changes |= ACCESSIBILITY_TITLE_CHANGED; } return changes; } Loading core/java/com/android/internal/policy/PhoneWindow.java +2 −2 Original line number Diff line number Diff line Loading @@ -516,8 +516,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } mTitle = title; WindowManager.LayoutParams params = getAttributes(); if (!TextUtils.equals(title, params.getTitle())) { params.setTitle(title); if (!TextUtils.equals(title, params.accessibilityTitle)) { params.accessibilityTitle = TextUtils.stringOrSpannedString(title); dispatchWindowAttributesChanged(getAttributes()); } } Loading services/core/java/com/android/server/wm/AccessibilityController.java +4 −1 Original line number Diff line number Diff line Loading @@ -1214,7 +1214,10 @@ final class AccessibilityController { window.type = windowState.mAttrs.type; window.layer = windowState.mLayer; window.token = windowState.mClient.asBinder(); window.title = windowState.mAttrs.accessibilityTitle; if (window.title == null) { window.title = windowState.mAttrs.getTitle(); } window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor; WindowState attachedWindow = windowState.mAttachedWindow; Loading Loading
core/java/android/view/WindowManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -1701,6 +1701,14 @@ public interface WindowManager extends ViewManager { */ public int accessibilityIdOfAnchor = -1; /** * The window title isn't kept in sync with what is displayed in the title bar, so we * separately track the currently shown title to provide to accessibility. * * @hide */ public CharSequence accessibilityTitle; public LayoutParams() { super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); type = TYPE_APPLICATION; Loading Loading @@ -1749,6 +1757,7 @@ public interface WindowManager extends ViewManager { title = ""; mTitle = TextUtils.stringOrSpannedString(title); accessibilityTitle = mTitle; } public final CharSequence getTitle() { Loading Loading @@ -1808,6 +1817,7 @@ public interface WindowManager extends ViewManager { out.writeInt(hasManualSurfaceInsets ? 1 : 0); out.writeInt(needsMenuKey); out.writeInt(accessibilityIdOfAnchor); TextUtils.writeToParcel(accessibilityTitle, out, parcelableFlags); } public static final Parcelable.Creator<LayoutParams> CREATOR Loading Loading @@ -1859,6 +1869,7 @@ public interface WindowManager extends ViewManager { hasManualSurfaceInsets = in.readInt() != 0; needsMenuKey = in.readInt(); accessibilityIdOfAnchor = in.readInt(); accessibilityTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); } @SuppressWarnings({"PointlessBitwiseExpression"}) Loading Loading @@ -1900,6 +1911,8 @@ public interface WindowManager extends ViewManager { /** {@hide} */ public static final int ACCESSIBILITY_ANCHOR_CHANGED = 1 << 24; /** {@hide} */ public static final int ACCESSIBILITY_TITLE_CHANGED = 1 << 25; /** {@hide} */ public static final int EVERYTHING_CHANGED = 0xffffffff; // internal buffer to backup/restore parameters under compatibility mode. Loading Loading @@ -2065,6 +2078,13 @@ public interface WindowManager extends ViewManager { changes |= ACCESSIBILITY_ANCHOR_CHANGED; } if (!Objects.equals(accessibilityTitle, o.accessibilityTitle) && o.accessibilityTitle != null) { // NOTE: accessibilityTitle only copied if the originator set one. accessibilityTitle = o.accessibilityTitle; changes |= ACCESSIBILITY_TITLE_CHANGED; } return changes; } Loading
core/java/com/android/internal/policy/PhoneWindow.java +2 −2 Original line number Diff line number Diff line Loading @@ -516,8 +516,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } mTitle = title; WindowManager.LayoutParams params = getAttributes(); if (!TextUtils.equals(title, params.getTitle())) { params.setTitle(title); if (!TextUtils.equals(title, params.accessibilityTitle)) { params.accessibilityTitle = TextUtils.stringOrSpannedString(title); dispatchWindowAttributesChanged(getAttributes()); } } Loading
services/core/java/com/android/server/wm/AccessibilityController.java +4 −1 Original line number Diff line number Diff line Loading @@ -1214,7 +1214,10 @@ final class AccessibilityController { window.type = windowState.mAttrs.type; window.layer = windowState.mLayer; window.token = windowState.mClient.asBinder(); window.title = windowState.mAttrs.accessibilityTitle; if (window.title == null) { window.title = windowState.mAttrs.getTitle(); } window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor; WindowState attachedWindow = windowState.mAttachedWindow; Loading