Merge "Fix error message shown when SIM PIN enable/disable fails"
This commit is contained in:
@@ -2718,6 +2718,10 @@
|
|||||||
<string name="sim_change_succeeded">SIM PIN changed successfully</string>
|
<string name="sim_change_succeeded">SIM PIN changed successfully</string>
|
||||||
<!-- SIM card lock settings screen, toast after not entering correct SIM PIN [CHAR LIMIT=40] -->
|
<!-- SIM card lock settings screen, toast after not entering correct SIM PIN [CHAR LIMIT=40] -->
|
||||||
<string name="sim_lock_failed">Can\u2019t change SIM card lock state.\nPossibly incorrect PIN.</string>
|
<string name="sim_lock_failed">Can\u2019t change SIM card lock state.\nPossibly incorrect PIN.</string>
|
||||||
|
<!-- SIM card lock settings screen, toast after disabling PIN failed from modem -->
|
||||||
|
<string name="sim_pin_disable_failed">Can\'t disable PIN.</string>
|
||||||
|
<!-- SIM card lock settings screen, toast after enabling PIN failed from modem -->
|
||||||
|
<string name="sim_pin_enable_failed">Can\'t enable PIN.</string>
|
||||||
<!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
|
<!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
|
||||||
<string name="sim_enter_ok">OK</string>
|
<string name="sim_enter_ok">OK</string>
|
||||||
<!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
|
<!-- SIM card lock settings screen, SIM PIN dialog button labels: [CHAR LIMIT=40] -->
|
||||||
|
@@ -46,6 +46,7 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
|
import com.android.internal.telephony.CommandException;
|
||||||
import com.android.internal.telephony.Phone;
|
import com.android.internal.telephony.Phone;
|
||||||
import com.android.internal.telephony.PhoneFactory;
|
import com.android.internal.telephony.PhoneFactory;
|
||||||
import com.android.internal.telephony.TelephonyIntents;
|
import com.android.internal.telephony.TelephonyIntents;
|
||||||
@@ -123,7 +124,7 @@ public class IccLockSettings extends SettingsPreferenceFragment
|
|||||||
AsyncResult ar = (AsyncResult) msg.obj;
|
AsyncResult ar = (AsyncResult) msg.obj;
|
||||||
switch (msg.what) {
|
switch (msg.what) {
|
||||||
case MSG_ENABLE_ICC_PIN_COMPLETE:
|
case MSG_ENABLE_ICC_PIN_COMPLETE:
|
||||||
iccLockChanged(ar.exception == null, msg.arg1);
|
iccLockChanged(ar.exception == null, msg.arg1, ar.exception);
|
||||||
break;
|
break;
|
||||||
case MSG_CHANGE_ICC_PIN_COMPLETE:
|
case MSG_CHANGE_ICC_PIN_COMPLETE:
|
||||||
iccPinChanged(ar.exception == null, msg.arg1);
|
iccPinChanged(ar.exception == null, msg.arg1);
|
||||||
@@ -453,12 +454,25 @@ public class IccLockSettings extends SettingsPreferenceFragment
|
|||||||
mPinToggle.setEnabled(false);
|
mPinToggle.setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void iccLockChanged(boolean success, int attemptsRemaining) {
|
private void iccLockChanged(boolean success, int attemptsRemaining, Throwable exception) {
|
||||||
if (success) {
|
if (success) {
|
||||||
mPinToggle.setChecked(mToState);
|
mPinToggle.setChecked(mToState);
|
||||||
} else {
|
} else {
|
||||||
|
if (exception instanceof CommandException) {
|
||||||
|
CommandException.Error err = ((CommandException)(exception)).getCommandError();
|
||||||
|
if (err == CommandException.Error.PASSWORD_INCORRECT) {
|
||||||
Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining),
|
Toast.makeText(getContext(), getPinPasswordErrorMessage(attemptsRemaining),
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
|
} else {
|
||||||
|
if (mToState) {
|
||||||
|
Toast.makeText(getContext(), mRes.getString
|
||||||
|
(R.string.sim_pin_enable_failed), Toast.LENGTH_LONG).show();
|
||||||
|
} else {
|
||||||
|
Toast.makeText(getContext(), mRes.getString
|
||||||
|
(R.string.sim_pin_disable_failed), Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
mPinToggle.setEnabled(true);
|
mPinToggle.setEnabled(true);
|
||||||
resetDialogState();
|
resetDialogState();
|
||||||
|
Reference in New Issue
Block a user