diff --git a/res/values/strings.xml b/res/values/strings.xml
index a5ba4846ad2..326af18b1e1 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13952,6 +13952,9 @@ Data usage charges may apply.
Password is now set up
+
+ PIN is now set up
+
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 60589535f2d..ade56c979ad 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -25,6 +25,7 @@ import static android.app.admin.DevicePolicyResources.Strings.Settings.REENTER_W
import static android.app.admin.DevicePolicyResources.Strings.Settings.SET_WORK_PROFILE_PASSWORD_HEADER;
import static android.app.admin.DevicePolicyResources.Strings.Settings.SET_WORK_PROFILE_PIN_HEADER;
import static android.app.admin.DevicePolicyResources.UNDEFINED;
+import static android.view.View.ACCESSIBILITY_LIVE_REGION_ASSERTIVE;
import static android.view.View.ACCESSIBILITY_LIVE_REGION_POLITE;
import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE;
@@ -70,6 +71,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
+import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.EditorInfo;
import android.widget.CheckBox;
import android.widget.ImeAwareEditText;
@@ -1126,6 +1128,19 @@ public class ChooseLockPassword extends SettingsActivity {
mPasswordEntry.setText("");
+ final AccessibilityManager accessibilityManager =
+ (AccessibilityManager) getActivity().getSystemService(
+ Context.ACCESSIBILITY_SERVICE);
+
+ if (accessibilityManager.isEnabled()) {
+ if (mPasswordEntry != null) {
+ mPasswordEntry.setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_ASSERTIVE);
+ mPasswordEntry.setStateDescription(
+ mIsAlphaMode ? getString(R.string.accessibility_setup_password_complete)
+ : getString(R.string.accessibility_setup_pin_complete));
+ }
+ }
+
if (!wasSecureBefore) {
Intent intent = getRedactionInterstitialIntent(getActivity());
if (intent != null) {
@@ -1133,11 +1148,6 @@ public class ChooseLockPassword extends SettingsActivity {
}
}
- if (mLayout != null) {
- mLayout.announceForAccessibility(
- getString(R.string.accessibility_setup_password_complete));
- }
-
getActivity().finish();
}
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index a30c38b20b8..6207aa9feec 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -743,10 +743,11 @@ public class ChooseLockPattern extends SettingsActivity {
// header text, footer text, visibility and
// enabled state all known from the stage
if (stage == Stage.ChoiceTooShort) {
- layout.setDescriptionText(
- getResources().getString(
- stage.headerMessage,
- LockPatternUtils.MIN_LOCK_PATTERN_SIZE));
+ final String desc = getResources().getString(
+ stage.headerMessage,
+ LockPatternUtils.MIN_LOCK_PATTERN_SIZE);
+ layout.setDescriptionText(desc);
+ layout.setContentDescription(desc);
} else {
layout.setDescriptionText(stage.headerMessage);
}
@@ -887,11 +888,6 @@ public class ChooseLockPattern extends SettingsActivity {
}
}
- if (mSudContent != null) {
- mSudContent.announceForAccessibility(
- getString(R.string.accessibility_setup_password_complete));
- }
-
getActivity().finish();
}