Wire in device owner information into SecuritySettings
If the device owner information has been provisioned by device
policy client via the DevicePolicyManager then make the current
user info preference read only and add a summary to specify that
the preference has been disabled by the administrator.
Bug: 22547309
Change-Id: I14952abd2e022607b82ce4361cfa514549243045
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bba72c5..864a81f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -690,6 +690,8 @@
<string name="cdma_security_settings_summary">Set My Location, screen unlock, credential storage lock</string>
<!-- In the security screen, the header title for settings related to Passwords-->
<string name="security_passwords_title">Passwords</string>
+ <!-- Summary for settings preference disabled by administrator [CHAR LIMIT=50] -->
+ <string name="disabled_by_administrator_summary">Disabled by administrator</string>
<!-- Fingerprint enrollment and settings --><skip />
<!-- Title shown for menu item that launches fingerprint settings or enrollment [CHAR LIMIT=22] -->
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index ee95839..838fcf3 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -214,13 +214,17 @@
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 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));
+ }
}
}