The text on toast should be changed when remains 1 time for SIM lock input

This cl was cherry-picked from aosp/585306

The behavior of getQuantityString() is different according to language, it gets
both "other" and "one" string if English is system language. But it always gets
"other" string if non-English, then the "other" string of wrong_pin_code is
shown even if remains 1 time of SIM lock input.

In order to change the string in any language, we add new string for
remains 1 time.

Test: Rebuild rom
Fix: 71783850
Change-Id: If4b53bbbc6b51582bc0837abf4497d9a75ebbaad
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8a642ac..cd738c3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3017,6 +3017,10 @@
         <item quantity="one">Incorrect SIM PIN code, you have <xliff:g id="number">%d</xliff:g> remaining attempt before you must contact your carrier to unlock your device.</item>
         <item quantity="other">Incorrect SIM PIN code, you have <xliff:g id="number">%d</xliff:g> remaining attempts.</item>
     </plurals>
+
+    <!-- This is instruction text to inform the user that they have entered the wrong SIM PIN while trying to unlock the keyguard.
+         The variable will be replaced with a number. [CHAR LIMIT=NONE] -->
+    <string name="wrong_pin_code_one">Incorrect SIM PIN code, you have 1 remaining attempt before you must contact your carrier to unlock your device.</string>
     <!-- Instructions telling the user that the operation to unlock the keyguard with SIM PIN failed. Displayed in one line in a large font.  [CHAR LIMIT=40] -->
     <string name="pin_failed">SIM PIN operation failed!</string>
 
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 4340039..8c48e65 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -639,7 +639,9 @@
 
         if (attemptsRemaining == 0) {
             displayMessage = mRes.getString(R.string.wrong_pin_code_pukked);
-        } else if (attemptsRemaining > 0) {
+        } else if (attemptsRemaining == 1) {
+            displayMessage = mRes.getString(R.string.wrong_pin_code_one, attemptsRemaining);
+        } else if (attemptsRemaining > 1) {
             displayMessage = mRes
                     .getQuantityString(R.plurals.wrong_pin_code, attemptsRemaining,
                             attemptsRemaining);