The text on toast should be changed when remains 1 time for SIM lock input
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
Merged-In: If4b53bbbc6b51582bc0837abf4497d9a75ebbaad
Change-Id: I1c069333b19399b727e10ed4a6c9483cc1bc44a6
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3b15902..1a6e009 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2955,6 +2955,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 a5ce5c9..4bd86b5 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -674,7 +674,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);