diff --git a/res/values/strings.xml b/res/values/strings.xml index bba72c54a92..864a81f501a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -690,6 +690,8 @@ Set My Location, screen unlock, credential storage lock Passwords + + Disabled by administrator diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index ee958394446..838fcf3bd3f 100644 --- a/src/com/android/settings/SecuritySettings.java +++ b/src/com/android/settings/SecuritySettings.java @@ -214,13 +214,17 @@ public class SecuritySettings extends SettingsPreferenceFragment mOwnerInfoPref = findPreference(KEY_OWNER_INFO_SETTINGS); if (mOwnerInfoPref != null) { - mOwnerInfoPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - OwnerInfoSettings.show(SecuritySettings.this); - return true; - } - }); + mOwnerInfoPref.setEnabled(!mLockPatternUtils.isDeviceOwnerInfoEnabled()); + + if (mOwnerInfoPref.isEnabled()) { + mOwnerInfoPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + OwnerInfoSettings.show(SecuritySettings.this); + return true; + } + }); + } } if (mIsAdmin) { @@ -630,9 +634,13 @@ public class SecuritySettings extends SettingsPreferenceFragment public void updateOwnerInfo() { if (mOwnerInfoPref != null) { - mOwnerInfoPref.setSummary(mLockPatternUtils.isOwnerInfoEnabled(MY_USER_ID) - ? mLockPatternUtils.getOwnerInfo(MY_USER_ID) - : getString(R.string.owner_info_settings_summary)); + if (mLockPatternUtils.isDeviceOwnerInfoEnabled()) { + mOwnerInfoPref.setSummary(R.string.disabled_by_administrator_summary); + } else { + mOwnerInfoPref.setSummary(mLockPatternUtils.isOwnerInfoEnabled(MY_USER_ID) + ? mLockPatternUtils.getOwnerInfo(MY_USER_ID) + : getString(R.string.owner_info_settings_summary)); + } } }