Merge \"Revert \"Improve accessibility window title behavior\"\" into nyc-dev
am: fc71309640

Change-Id: I7b0c0636a69e4cc06d525f60d8621879ce45be22
diff --git a/core/java/android/view/accessibility/AccessibilityWindowInfo.java b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
index 52f35de..d0d4507 100644
--- a/core/java/android/view/accessibility/AccessibilityWindowInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
@@ -16,7 +16,6 @@
 
 package android.view.accessibility;
 
-import android.annotation.Nullable;
 import android.graphics.Rect;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -102,9 +101,8 @@
     /**
      * 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() {
         return mTitle;
     }
diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java
index 9ad750d..18408aa 100644
--- a/core/java/com/android/internal/policy/PhoneWindow.java
+++ b/core/java/com/android/internal/policy/PhoneWindow.java
@@ -528,22 +528,16 @@
 
     @Override
     public void setTitle(CharSequence title) {
-        setTitle(title, true);
-    }
-
-    public void setTitle(CharSequence title, boolean updateAccessibilityTitle) {
         if (mTitleView != null) {
             mTitleView.setText(title);
         } else if (mDecorContentParent != null) {
             mDecorContentParent.setWindowTitle(title);
         }
         mTitle = title;
-        if (updateAccessibilityTitle) {
-            WindowManager.LayoutParams params = getAttributes();
-            if (!TextUtils.equals(title, params.accessibilityTitle)) {
-                params.accessibilityTitle = TextUtils.stringOrSpannedString(title);
-                dispatchWindowAttributesChanged(getAttributes());
-            }
+        WindowManager.LayoutParams params = getAttributes();
+        if (!TextUtils.equals(title, params.accessibilityTitle)) {
+            params.accessibilityTitle = TextUtils.stringOrSpannedString(title);
+            dispatchWindowAttributesChanged(getAttributes());
         }
     }
 
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index 5920b2f..e0cfe4e 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -2589,15 +2589,8 @@
             final PhoneWindow win = new PhoneWindow(context);
             win.setIsStartingWindow(true);
 
-            final WindowManager.LayoutParams params = win.getAttributes();
             final Resources r = context.getResources();
-            CharSequence label = r.getText(labelRes);
-            // Only change the accessibility title if the label is localized
-            if (label != null) {
-                win.setTitle(label, true);
-            } else {
-                win.setTitle(nonLocalizedLabel, false);
-            }
+            win.setTitle(r.getText(labelRes, nonLocalizedLabel));
 
             win.setType(
                 WindowManager.LayoutParams.TYPE_APPLICATION_STARTING);
@@ -2631,6 +2624,7 @@
             win.setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                     WindowManager.LayoutParams.MATCH_PARENT);
 
+            final WindowManager.LayoutParams params = win.getAttributes();
             params.token = appToken;
             params.packageName = packageName;
             params.windowAnimations = win.getWindowStyle().getResourceId(
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 8be5dfb..101f56f 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -1203,6 +1203,9 @@
             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;