Merge "Revert "Improve accessibility window title behavior"" into nyc-dev

This commit is contained in:
Phil Weaver
2016-06-08 02:19:33 +00:00
committed by Android (Google) Code Review
4 changed files with 10 additions and 21 deletions

View File

@@ -16,7 +16,6 @@
package android.view.accessibility; package android.view.accessibility;
import android.annotation.Nullable;
import android.graphics.Rect; import android.graphics.Rect;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
@@ -102,9 +101,8 @@ public final class AccessibilityWindowInfo implements Parcelable {
/** /**
* Gets the title of the window. * Gets the title of the window.
* *
* @return The title of the window, or {@code null} if none is available. * @return The title.
*/ */
@Nullable
public CharSequence getTitle() { public CharSequence getTitle() {
return mTitle; return mTitle;
} }

View File

@@ -528,22 +528,16 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
@Override @Override
public void setTitle(CharSequence title) { public void setTitle(CharSequence title) {
setTitle(title, true);
}
public void setTitle(CharSequence title, boolean updateAccessibilityTitle) {
if (mTitleView != null) { if (mTitleView != null) {
mTitleView.setText(title); mTitleView.setText(title);
} else if (mDecorContentParent != null) { } else if (mDecorContentParent != null) {
mDecorContentParent.setWindowTitle(title); mDecorContentParent.setWindowTitle(title);
} }
mTitle = title; mTitle = title;
if (updateAccessibilityTitle) { WindowManager.LayoutParams params = getAttributes();
WindowManager.LayoutParams params = getAttributes(); if (!TextUtils.equals(title, params.accessibilityTitle)) {
if (!TextUtils.equals(title, params.accessibilityTitle)) { params.accessibilityTitle = TextUtils.stringOrSpannedString(title);
params.accessibilityTitle = TextUtils.stringOrSpannedString(title); dispatchWindowAttributesChanged(getAttributes());
dispatchWindowAttributesChanged(getAttributes());
}
} }
} }

View File

@@ -2589,15 +2589,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
final PhoneWindow win = new PhoneWindow(context); final PhoneWindow win = new PhoneWindow(context);
win.setIsStartingWindow(true); win.setIsStartingWindow(true);
final WindowManager.LayoutParams params = win.getAttributes();
final Resources r = context.getResources(); final Resources r = context.getResources();
CharSequence label = r.getText(labelRes); win.setTitle(r.getText(labelRes, nonLocalizedLabel));
// Only change the accessibility title if the label is localized
if (label != null) {
win.setTitle(label, true);
} else {
win.setTitle(nonLocalizedLabel, false);
}
win.setType( win.setType(
WindowManager.LayoutParams.TYPE_APPLICATION_STARTING); WindowManager.LayoutParams.TYPE_APPLICATION_STARTING);
@@ -2631,6 +2624,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
win.setLayout(WindowManager.LayoutParams.MATCH_PARENT, win.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT); WindowManager.LayoutParams.MATCH_PARENT);
final WindowManager.LayoutParams params = win.getAttributes();
params.token = appToken; params.token = appToken;
params.packageName = packageName; params.packageName = packageName;
params.windowAnimations = win.getWindowStyle().getResourceId( params.windowAnimations = win.getWindowStyle().getResourceId(

View File

@@ -1203,6 +1203,9 @@ final class AccessibilityController {
window.layer = windowState.mLayer; window.layer = windowState.mLayer;
window.token = windowState.mClient.asBinder(); window.token = windowState.mClient.asBinder();
window.title = windowState.mAttrs.accessibilityTitle; window.title = windowState.mAttrs.accessibilityTitle;
if (window.title == null) {
window.title = windowState.mAttrs.getTitle();
}
window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor; window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor;
WindowState attachedWindow = windowState.mAttachedWindow; WindowState attachedWindow = windowState.mAttachedWindow;