Don't show SIM lock Setting if carrier config hides it.

Bug: b/19623656
Change-Id: Ic7420fe3579815a8c2c884a78b13112affb00787
This commit is contained in:
Junda Liu
2015-06-17 10:15:34 -07:00
parent 9f2b5a7442
commit 80753bc275

View File

@@ -30,6 +30,7 @@ import android.content.res.Resources;
import android.hardware.fingerprint.Fingerprint; import android.hardware.fingerprint.Fingerprint;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.PersistableBundle;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager; import android.os.UserManager;
import android.preference.ListPreference; import android.preference.ListPreference;
@@ -43,6 +44,7 @@ import android.provider.SearchIndexableResource;
import android.provider.Settings; import android.provider.Settings;
import android.security.KeyStore; import android.security.KeyStore;
import android.service.trust.TrustAgentService; import android.service.trust.TrustAgentService;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
@@ -263,7 +265,11 @@ public class SecuritySettings extends SettingsPreferenceFragment
// Do not display SIM lock for devices without an Icc card // Do not display SIM lock for devices without an Icc card
TelephonyManager tm = TelephonyManager.getDefault(); TelephonyManager tm = TelephonyManager.getDefault();
if (!mIsPrimary || !isSimIccReady()) { CarrierConfigManager cfgMgr = (CarrierConfigManager)
getActivity().getSystemService(Context.CARRIER_CONFIG_SERVICE);
PersistableBundle b = cfgMgr.getConfig();
if (!mIsPrimary || !isSimIccReady() ||
b.getBoolean(CarrierConfigManager.KEY_HIDE_SIM_LOCK_SETTINGS_BOOL)) {
root.removePreference(root.findPreference(KEY_SIM_LOCK)); root.removePreference(root.findPreference(KEY_SIM_LOCK));
} else { } else {
// Disable SIM lock if there is no ready SIM card. // Disable SIM lock if there is no ready SIM card.