OSDN Git Service

Add announceForAccessibility to ConfirmLockPattern
authorXiyuan Xia <xiyuan@google.com>
Mon, 1 Jun 2015 22:05:54 +0000 (15:05 -0700)
committerXiyuan Xia <xiyuan@google.com>
Mon, 1 Jun 2015 22:10:08 +0000 (15:10 -0700)
This makes Talkback in ConfirmLockPattern works similarly as
in ConfirmLockPassword to read out error messages.

Bug:20282779
Change-Id: Ied05c284e959539cfbff965f33edd51c3bdfc9f9

src/com/android/settings/ConfirmLockPattern.java

index a7d0e4e..f53e7df 100644 (file)
@@ -208,7 +208,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                     mLockPatternView.clearPattern();
                     break;
                 case NeedToUnlockWrong:
-                    mErrorTextView.setText(R.string.lockpattern_need_to_unlock_wrong);
+                    showError(R.string.lockpattern_need_to_unlock_wrong);
 
                     mLockPatternView.setDisplayMode(LockPatternView.DisplayMode.Wrong);
                     mLockPatternView.setEnabled(true);
@@ -372,7 +372,6 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
             }
         };
 
-
         private void handleAttemptLockout(long elapsedRealtimeDeadline) {
             updateStage(Stage.LockedOut);
             long elapsedRealtime = SystemClock.elapsedRealtime();
@@ -383,7 +382,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                 @Override
                 public void onTick(long millisUntilFinished) {
                     final int secondsCountdown = (int) (millisUntilFinished / 1000);
-                    mErrorTextView.setText(getString(
+                    showError(getString(
                             R.string.lockpattern_too_many_failed_confirmation_attempts,
                             secondsCountdown));
                 }
@@ -395,5 +394,14 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
                 }
             }.start();
         }
+
+        private void showError(CharSequence msg) {
+            mErrorTextView.setText(msg);
+            mErrorTextView.announceForAccessibility(mErrorTextView.getText());
+        }
+
+        private void showError(int msgid) {
+            showError(getText(msgid));
+        }
     }
 }