From b4f868deca15bfaecc742bd484311309dfe1dab7 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Thu, 16 Mar 2017 14:36:47 -0700 Subject: [PATCH] Sets accessibility title for autofill dataset picker. Bug: 34219631 Test: CtsAutoFillServiceTestCases (with new tests) pass Change-Id: I9bda820a41ef82e008f2a1ffd32c286b91841c10 --- core/res/res/values/strings.xml | 21 +++++++++++-------- core/res/res/values/symbols.xml | 1 + .../server/autofill/ui/AutoFillUI.java | 10 +++++++-- .../android/server/autofill/ui/FillUi.java | 18 ++++++++++++++++ 4 files changed, 39 insertions(+), 11 deletions(-) diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 1ed069b2ea029..d1c14e9760039 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -4567,22 +4567,25 @@ Switch to clock mode for the time input. - + + Autofill options + + Save to %1$s? - + Save %1$s to %2$s? - + Save - + No thanks - + password - + address - + credit card diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 07cecbc12467f..ab978e10b7890 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2848,6 +2848,7 @@ + diff --git a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java index c7e59a39aeeff..4f3446d36ed2a 100644 --- a/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java +++ b/services/autofill/java/com/android/server/autofill/ui/AutoFillUI.java @@ -247,11 +247,17 @@ public final class AutoFillUI { } public void dump(PrintWriter pw) { - pw.println("AufoFill UI"); + pw.println("Autofill UI"); final String prefix = " "; - pw.print(prefix); pw.print("showsFillUi: "); pw.println(mFillUi != null); + final String prefix2 = " "; pw.print(prefix); pw.print("showsSaveUi: "); pw.println(mSaveUi != null); pw.print(prefix); pw.print("save timeout: "); pw.println(mSaveTimeoutMs); + if (mFillUi != null) { + pw.print(prefix); pw.println("showsFillUi: true"); + mFillUi.dump(pw, prefix2); + } else { + pw.print(prefix); pw.println("showsFillUi: false"); + } } @android.annotation.UiThread diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java index a7d9fe96d0daf..e420da2ea8390 100644 --- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java @@ -39,6 +39,7 @@ import android.widget.ListView; import com.android.internal.R; import libcore.util.Objects; +import java.io.PrintWriter; import java.util.ArrayList; final class FillUi { @@ -63,6 +64,7 @@ final class FillUi { private final @Nullable ArrayAdapter mAdapter; private @Nullable String mFilterText; + private final String mAccessibilityTitle; private int mContentWidth; private int mContentHeight; @@ -76,6 +78,8 @@ final class FillUi { mAnchorBounds.set(anchorBounds); mCallback = callback; + mAccessibilityTitle = context.getString(R.string.autofill_picker_accessibility_title); + if (response.getAuthentication() != null) { mListView = null; mAdapter = null; @@ -319,6 +323,7 @@ final class FillUi { public void show(int desiredWidth, int desiredHeight, Rect anchorBounds) { final WindowManager.LayoutParams params = new WindowManager.LayoutParams(); + params.setTitle("FillUi"); params.token = mActivityToken; params.type = WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG; @@ -327,6 +332,7 @@ final class FillUi { | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN; + params.accessibilityTitle = mAccessibilityTitle; mWm.getDefaultDisplay().getRealSize(mTempPoint); final int screenWidth = mTempPoint.x; @@ -377,4 +383,16 @@ final class FillUi { } } } + + public void dump(PrintWriter pw, String prefix) { + pw.print(prefix); pw.print("mAnchorBounds: "); pw.println(mAnchorBounds); + pw.print(prefix); pw.print("mCallback: "); pw.println(mCallback != null); + pw.print(prefix); pw.print("mListView: "); pw.println(mListView); + pw.print(prefix); pw.print("mAdapter: "); pw.println(mAdapter != null); + pw.print(prefix); pw.print("mFilterText: "); pw.println(mFilterText); + pw.print(prefix); pw.print("mAccessibilityTitle: "); pw.println(mAccessibilityTitle); + pw.print(prefix); pw.print("mContentWidth: "); pw.println(mContentWidth); + pw.print(prefix); pw.print("mContentHeight: "); pw.println(mContentHeight); + pw.print(prefix); pw.print("mDestroyed: "); pw.println(mDestroyed); + } }