Merge "Wire in device owner information into SecuritySettings"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8614d7a..462387b 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));
+            }
         }
     }