diff options
Diffstat (limited to 'src/com/android/settings/SecuritySettings.java')
-rwxr-xr-x | src/com/android/settings/SecuritySettings.java | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index 66af22b..fd785d3 100755 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -52,6 +52,7 @@ import android.text.TextUtils; import android.util.Log; import com.android.internal.logging.MetricsLogger; +import com.android.internal.telephony.util.BlacklistUtils; import com.android.internal.widget.LockPatternUtils; import com.android.settings.TrustAgentUtils.TrustAgentComponentInfo; import com.android.settings.fingerprint.FingerprintEnrollIntroduction; @@ -60,6 +61,7 @@ import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Index; import com.android.settings.search.Indexable; import com.android.settings.search.SearchIndexableRaw; +import com.android.settings.R; import java.util.ArrayList; import java.util.List; @@ -119,6 +121,11 @@ public class SecuritySettings extends SettingsPreferenceFragment private static final int MY_USER_ID = UserHandle.myUserId(); + // CyanogenMod Additions + private static final String KEY_APP_SECURITY_CATEGORY = "app_security"; + private static final String KEY_BLACKLIST = "blacklist"; + + private PackageManager mPM; private DevicePolicyManager mDPM; private SubscriptionManager mSubscriptionManager; @@ -142,6 +149,7 @@ public class SecuritySettings extends SettingsPreferenceFragment private boolean mIsPrimary; private Intent mTrustAgentClickIntent; + private Preference mOwnerInfoPref; @Override @@ -149,6 +157,9 @@ public class SecuritySettings extends SettingsPreferenceFragment return MetricsLogger.SECURITY; } + // CyanogenMod Additions + private PreferenceScreen mBlacklist; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -169,6 +180,7 @@ public class SecuritySettings extends SettingsPreferenceFragment private static int getResIdForLockUnlockScreen(Context context, LockPatternUtils lockPatternUtils) { + // Add options for lock/unlock screen int resid = 0; if (!lockPatternUtils.isSecure(MY_USER_ID)) { if (lockPatternUtils.isLockScreenDisabled(MY_USER_ID)) { @@ -208,6 +220,8 @@ public class SecuritySettings extends SettingsPreferenceFragment } addPreferencesFromResource(R.xml.security_settings); root = getPreferenceScreen(); + // Add package manager to check if features are available + PackageManager pm = getActivity().getPackageManager(); // Add package manager to check if features are available PackageManager pm = getPackageManager(); @@ -347,6 +361,18 @@ public class SecuritySettings extends SettingsPreferenceFragment } } + // App security settings + addPreferencesFromResource(R.xml.security_settings_app_cyanogenmod); + mBlacklist = (PreferenceScreen) root.findPreference(KEY_BLACKLIST); + + // Determine options based on device telephony support + if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { + // No telephony, remove dependent options + PreferenceGroup appCategory = (PreferenceGroup) + root.findPreference(KEY_APP_SECURITY_CATEGORY); + appCategory.removePreference(mBlacklist); + } + // The above preferences come and go based on security state, so we need to update // the index. This call is expected to be fairly cheap, but we may want to do something // smarter in the future. @@ -648,6 +674,7 @@ public class SecuritySettings extends SettingsPreferenceFragment } updateOwnerInfo(); + updateBlacklistSummary(); } public void updateOwnerInfo() { @@ -901,4 +928,13 @@ public class SecuritySettings extends SettingsPreferenceFragment } } + private void updateBlacklistSummary() { + if (mBlacklist != null) { + if (BlacklistUtils.isBlacklistEnabled(getActivity())) { + mBlacklist.setSummary(R.string.blacklist_summary); + } else { + mBlacklist.setSummary(R.string.blacklist_summary_disabled); + } + } + } } |