Show countdown of remaining decrypt attempts before wiping device

Bug: 16496992
Change-Id: Ibdd4bbbf9a9eeafee5e0e5ed48464d524628cf12
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index b82c02a..129b201 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -182,7 +182,17 @@
                     cooldown();
                 } else {
                     final TextView status = (TextView) findViewById(R.id.status);
-                    status.setText(R.string.try_again);
+
+                    int remainingAttempts = MAX_FAILED_ATTEMPTS - failedAttempts;
+                    if (remainingAttempts < COOL_DOWN_ATTEMPTS) {
+                        CharSequence warningTemplate = getText(R.string.crypt_keeper_warn_wipe);
+                        CharSequence warning = TextUtils.expandTemplate(warningTemplate,
+                                                                        Integer.toString(remainingAttempts));
+                        status.setText(warning);
+                    } else {
+                        status.setText(R.string.try_again);
+                    }
+
                     if (mLockPatternView != null) {
                         mLockPatternView.setDisplayMode(DisplayMode.Wrong);
                     }