Fixed a SIM Lock UI issue
+ The SIM lock option will now appear if there is any SIM with locking capabilities. + Also, if the first slot does not have a SIM in it, then the SIM lock screen will disable the ability to lock the first slot. Bug: 18473536 Change-Id: Ib4e0ed6e94b00bc07c9febdad433fdb3c55294b8
This commit is contained in:
@@ -298,7 +298,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
|
||||
// Do not display SIM lock for devices without an Icc card
|
||||
TelephonyManager tm = TelephonyManager.getDefault();
|
||||
if (!mIsPrimary || !tm.hasIccCard()) {
|
||||
if (!mIsPrimary || !isSimIccReady()) {
|
||||
root.removePreference(root.findPreference(KEY_SIM_LOCK));
|
||||
} else {
|
||||
// Disable SIM lock if there is no ready SIM card.
|
||||
@@ -370,6 +370,24 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
||||
return root;
|
||||
}
|
||||
|
||||
/* Return true if a there is a Slot that has Icc.
|
||||
*/
|
||||
private boolean isSimIccReady() {
|
||||
TelephonyManager tm = TelephonyManager.getDefault();
|
||||
final List<SubscriptionInfo> subInfoList =
|
||||
mSubscriptionManager.getActiveSubscriptionInfoList();
|
||||
|
||||
if (subInfoList != null) {
|
||||
for (SubscriptionInfo subInfo : subInfoList) {
|
||||
if (tm.hasIccCard(subInfo.getSubscriptionId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Return true if a SIM is ready for locking.
|
||||
* TODO: consider adding to TelephonyManager or SubscritpionManasger.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user