diff options
Diffstat (limited to 'src/com/android/settings/SecuritySettings.java')
-rw-r--r-- | src/com/android/settings/SecuritySettings.java | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index e124fa2..b01dc74 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -40,6 +40,7 @@ import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceGroup; import android.preference.PreferenceScreen; import android.provider.Settings; +import android.provider.Settings.SettingNotFoundException; import android.security.KeyStore; import android.telephony.TelephonyManager; import android.util.Log; @@ -93,6 +94,8 @@ public class SecuritySettings extends SettingsPreferenceFragment private static final String LOCKSCREEN_QUICK_UNLOCK_CONTROL = "quick_unlock_control"; private static final String KEY_VIBRATE_PREF = "lockscreen_vibrate"; private static final String KEY_SMS_SECURITY_CHECK_PREF = "sms_security_check_limit"; + private static final String KEY_PRIVACY_GUARD_DEFAULT = "privacy_guard_default"; + private static final String KEY_APP_SECURITY_CATEGORY = "app_security"; DevicePolicyManager mDPM; @@ -125,6 +128,7 @@ public class SecuritySettings extends SettingsPreferenceFragment private CheckBoxPreference mHomeUnlock; private CheckBoxPreference mQuickUnlockScreen; private ListPreference mSmsSecurityCheck; + private CheckBoxPreference mPrivacyGuardDefault; @Override public void onCreate(Bundle savedInstanceState) { @@ -393,13 +397,26 @@ public class SecuritySettings extends SettingsPreferenceFragment } } - boolean isTelephony = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); - if (isTelephony) { - addPreferencesFromResource(R.xml.security_settings_app_cyanogenmod); + // App security settings + addPreferencesFromResource(R.xml.security_settings_app_cyanogenmod); + mSmsSecurityCheck = (ListPreference) root.findPreference(KEY_SMS_SECURITY_CHECK_PREF); + if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { mSmsSecurityCheck = (ListPreference) root.findPreference(KEY_SMS_SECURITY_CHECK_PREF); mSmsSecurityCheck.setOnPreferenceChangeListener(this); int smsSecurityCheck = Integer.valueOf(mSmsSecurityCheck.getValue()); updateSmsSecuritySummary(smsSecurityCheck); + } else { + PreferenceGroup appCategory = (PreferenceGroup) + root.findPreference(KEY_APP_SECURITY_CATEGORY); + appCategory.removePreference(mSmsSecurityCheck); + } + + mPrivacyGuardDefault = (CheckBoxPreference) findPreference(KEY_PRIVACY_GUARD_DEFAULT); + try { + mPrivacyGuardDefault.setChecked(Settings.Secure.getInt(getContentResolver(), + Settings.Secure.PRIVACY_GUARD_DEFAULT) == 1); + } catch (SettingNotFoundException e) { + mPrivacyGuardDefault.setChecked(false); } } @@ -691,6 +708,9 @@ public class SecuritySettings extends SettingsPreferenceFragment } else if (KEY_TOGGLE_VERIFY_APPLICATIONS.equals(key)) { Settings.Global.putInt(getContentResolver(), Settings.Global.PACKAGE_VERIFIER_ENABLE, mToggleVerifyApps.isChecked() ? 1 : 0); + } else if (KEY_PRIVACY_GUARD_DEFAULT.equals(key)) { + Settings.Secure.putInt(getContentResolver(), Settings.Secure.PRIVACY_GUARD_DEFAULT, + mPrivacyGuardDefault.isChecked() ? 1 : 0); } else { // If we didn't handle it, let preferences handle it. return super.onPreferenceTreeClick(preferenceScreen, preference); |