Update layout and strings for DO Disclosures

This CL updates the DO Disclosures page (aka "Enterprise Privacy")
to incorporate UI layout and string changes proposed since
implementation began. There are no logic changes.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I6ae972e77bd90eb9c61d6a516046a6eb09981ad3
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b3db932..ef419e2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1506,19 +1506,13 @@
         </activity>
 
         <activity android:name="Settings$EnterprisePrivacySettingsActivity"
-            android:label="@string/enterprise_privacy_settings_title"
-            android:icon="@drawable/ic_settings_about"
-            android:taskAffinity="com.android.settings"
-            android:parentActivityName="Settings">
+                android:label="@string/enterprise_privacy_settings_title"
+                android:taskAffinity="com.android.settings"
+                android:parentActivityName="Settings$SecuritySettingsActivity">
             <intent-filter>
                 <action android:name="android.settings.ENTERPRISE_PRIVACY_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="-1">
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.category"
-                android:value="com.android.settings.category.ia.system" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.enterprise.EnterprisePrivacySettings" />
         </activity>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7716a4e..fd027bb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8114,64 +8114,58 @@
 
     <!-- Enterprise Privacy --> <skip />
 
-    <!-- Title of setting on main settings screen. This will take the user to a screen with information about his/her privacy on a managed device. Shown on enterprise-managed devices only. -->
-    <string name="enterprise_privacy_settings">Privacy</string>
+    <!-- Title of setting on security settings screen. This will take the user to a screen with information about admin powers and their impact on the user's privacy on a managed device. Shown on enterprise-managed devices only. -->
+    <string name="enterprise_privacy_settings">Device management</string>
+    <!-- Summary for Enterprise Privacy settings, explaining what the user can expect to find under it [CHAR LIMIT=NONE]-->
+    <string name="enterprise_privacy_settings_summary">View all settings applied by your admin</string>
     <!-- Enterprise Privacy settings activity title -->
-    <string name="enterprise_privacy_settings_title">Privacy</string>
-    <!-- Enterprise Privacy settings activity header, summarizing the powers that the admin has. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_header">To provide access to your work data, your organization may change settings and install software on your device, which could cause some of your personal content to be visible to your admin. Contact your organization\'s admin for more details.</string>
-    <!-- Title for the 'What types of information can your organization see?' preference category. [CHAR LIMIT=60] -->
-    <string name="enterprise_privacy_exposure_category">What types of information can your organization see?</string>
-    <!-- Title for the 'What changes affect what your organization can see?' preference category. [CHAR LIMIT=60] -->
-    <string name="enterprise_privacy_exposure_changes_category">What changes affect what your organization can see?</string>
-    <!-- Title for the 'What actions may impact your access to this device?' preference category. [CHAR LIMIT=60] -->
-    <string name="enterprise_privacy_device_access_category">What actions may impact your access to this device?</string>
+    <string name="enterprise_privacy_settings_title">Device management</string>
+    <!-- Enterprise Privacy settings activity footer, summarizing the powers that the admin has. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_footer">To provide access to your work data, your organization may change settings and install software on your device. \n\nFor more details, contact your organization\'s admin.</string>
+    <!-- Title for the 'Types of information your organization can see' preference category. [CHAR LIMIT=60] -->
+    <string name="enterprise_privacy_exposure_category">Types of information your organization can see</string>
+    <!-- Title for the 'Changes made by your organization’s admin' preference category. [CHAR LIMIT=60] -->
+    <string name="enterprise_privacy_exposure_changes_category">Changes made by your organization\'s admin</string>
+    <!-- Title for the 'Your access to this device' preference category. [CHAR LIMIT=60] -->
+    <string name="enterprise_privacy_device_access_category">Your access to this device</string>
     <!-- Label explaining that the admin can see data associated with his/her work account. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_enterprise_data">Data associated with your work account, such as email and calendar</string>
-    <!-- Label explaining that the admin can see all apps installed on the device. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_number_installed_packages_default">List of all apps on your device</string>
-    <!-- Label explaining that the admin can see all apps installed on the device. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_installed_packages">
-        <item quantity="one">List of all <xliff:g id="count">%d</xliff:g> app on your device</item>
-        <item quantity="other">List of all <xliff:g id="count">%d</xliff:g> apps on your device</item>
+    <!-- Label explaining that the admin can see apps installed on the device. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_installed_packages">List of apps on your device</string>
+    <!-- Summary indicating the number of apps that a label (e.g. installed apps or apps granted a particular permission) refers to. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_packages">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> app</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps</item>
+    </plurals>
+    <!-- Summary indicating the number of apps that a label (e.g. installed apps or apps granted a particular permission) refers to. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_packages_actionable">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> app. Tap to view.</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps. Tap to view.</item>
     </plurals>
     <!-- Label explaining that the admin can see app usage statistics. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_usage_stats">Usage (time spent and amount of data used) of each app on your device</string>
+    <string name="enterprise_privacy_usage_stats">Time and data spent in each app on your device</string>
     <!-- Label explaining that the admin can retrieve network logs on the device. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_network_logs">Traffic logs on your device</string>
+    <string name="enterprise_privacy_network_logs">Network traffic logs on your device</string>
     <!-- Label explaining that the admin can request bug reports on the device. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_bug_reports">Your most recent bug report</string>
+    <string name="enterprise_privacy_bug_reports">Most recent bug report</string>
     <!-- Label explaining that the admin can retrieve security on from the device. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_security_logs">Your most recent security log</string>
-    <!-- Label indicating that the date at which the admin last took a particular action was "never" (i.e. the admin never took the action so far). -->
-    <string name="enterprise_privacy_never">Never</string>
-    <!-- Label indicating how many apps were installed on the device by the admin. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_enterprise_installed_packages">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> app installed by your admin</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps installed by your admin</item>
-    </plurals>
-    <!-- Label indicating how many apps were granted permission to access the device's location by the admin. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_location_access_packages">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> app allowed access to your location by your admin</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps allowed access to your location by your admin</item>
-    </plurals>
-    <!-- Label indicating how many apps were granted permission to access the microphone by the admin. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_microphone_access_packages">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> app allowed access to your microphone by your admin</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps allowed access to your microphone by your admin</item>
-    </plurals>
-    <!-- Label indicating how many apps were granted permission to access the camera by the admin. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_camera_access_packages">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> app allowed access to your camera by your admin</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> apps allowed access to your camera by your admin</item>
-    </plurals>
-    <!-- Label indicating how many apps were set as default defaults for common actions (e.g. open browser, send e-mail) by the admin. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_number_enterprise_set_default_apps">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> default app set by your admin</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> default apps set by your admin</item>
-    </plurals>
+    <string name="enterprise_privacy_security_logs">Most recent security log</string>
+    <!-- Label indicating that the the admin never took a given action so far (e.g. did not retrieve security logs or request bug reports). -->
+    <string name="enterprise_privacy_none">None</string>
+    <!-- Label indicating that the admin installed one or more apps on the device. -->
+    <string name="enterprise_privacy_enterprise_installed_packages">Apps installed</string>
+    <!-- Label indicating that the admin granted one or more apps access to the device's location. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_location_access">Apps allowed to access your location</string>
+    <!-- Label indicating that the admin granted one or more apps access to the microphone. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_microphone_access">Apps allowed to access your microphone</string>
+    <!-- Label indicating that the admin granted one or more apps access to the camera. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_camera_access">Apps allowed to access your camera</string>
+    <!-- Label indicating that the admin set one or more apps as defaults for common actions (e.g. open browser, send e-mail). [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_enterprise_set_default_apps">Default apps set</string>
     <!-- Label explaining that the current input method was set by the admin. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_input_method">Default keyboard set to <xliff:g id="app_label" example="Example Keyboard">%s</xliff:g> by your admin</string>
+    <string name="enterprise_privacy_input_method">Default keyboard</string>
+    <!-- Summary indicating the input method set by the admin. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_input_method_name">Set to <xliff:g id="app_label" example="Example Keyboard">%s</xliff:g></string>
     <!-- Label explaining that an always-on VPN was set by the admin for the entire device. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_always_on_vpn_device">Always-on VPN turned on</string>
     <!-- Label explaining that an always-on VPN was set by the admin in the personal profile. [CHAR LIMIT=NONE] -->
@@ -8182,35 +8176,44 @@
     <string name="enterprise_privacy_global_http_proxy">Global HTTP proxy set</string>
     <!-- Label explaining that the admin installed trusted CA certificates for the current user. [CHAR LIMIT=NONE] -->
     <plurals name="enterprise_privacy_ca_certs_user">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> trusted CA certificate installed</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> trusted CA certificates installed</item>
+        <item quantity="one">Trusted CA Certificate installed</item>
+        <item quantity="other">Trusted CA Certificates installed</item>
     </plurals>
     <!-- Label explaining that the admin installed trusted CA certificates for the personal profile. [CHAR LIMIT=NONE] -->
     <plurals name="enterprise_privacy_ca_certs_personal">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> trusted CA certificate installed in the personal profile</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> trusted CA certificates installed in the personal profile</item>
+        <item quantity="one">Trusted CA Certificate installed in the personal profile</item>
+        <item quantity="other">Trusted CA Certificates installed in the personal profile</item>
+    </plurals>
+    <!-- Summary indicating the number of trusted CA certificates installed by the admin. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_ca_certs">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> certificate</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> certificates</item>
+    </plurals>
+    <!-- Summary indicating the number of trusted CA certificates installed by the admin. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_ca_certs_actionable">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> certificate. Tap to view.</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> certificates. Tap to view.</item>
     </plurals>
     <!-- Label explaining that the admin installed trusted CA certificates for the work profile. [CHAR LIMIT=NONE] -->
     <plurals name="enterprise_privacy_ca_certs_work">
-        <item quantity="one"><xliff:g id="count">%d</xliff:g> trusted CA certificate installed in the work profile</item>
-        <item quantity="other"><xliff:g id="count">%d</xliff:g> trusted CA certificates installed in the work profile</item>
+        <item quantity="one">Trusted CA Certificate installed in the work profile</item>
+        <item quantity="other">Trusted CA Certificates installed in the work profile</item>
     </plurals>
     <!-- Label explaining that the admin can lock the device and change the user's password. [CHAR LIMIT=NONE] -->
-    <string name="enterprise_privacy_lock_device">Admin can lock device and reset password</string>
+    <string name="enterprise_privacy_lock_device">Admin can lock the device and reset password</string>
     <!-- Label explaining that the admin can wipe the device remotely. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_wipe_device">Admin can delete all device data</string>
-    <!-- Label explaining that the admin configured the device to wipe itself when the password is mistyped this many times. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_failed_password_wipe_device">
-        <item quantity="one">Admin set maximum password attempts to <xliff:g id="count">%d</xliff:g> before deleting all device data</item>
-        <item quantity="other">Admin set maximum password attempts to <xliff:g id="count">%d</xliff:g> before deleting all device data</item>
-    </plurals>
-    <!-- Label explaining that the admin configured the work profile to wipe itself when the password is mistyped this many times. [CHAR LIMIT=NONE] -->
-    <plurals name="enterprise_privacy_failed_password_wipe_work">
-        <item quantity="one">Admin set maximum password attempts to <xliff:g id="count">%d</xliff:g> before deleting work profile data</item>
-        <item quantity="other">Admin set maximum password attempts to <xliff:g id="count">%d</xliff:g> before deleting work profile data</item>
+    <!-- Label explaining that the admin configured the device to wipe itself when the password is mistyped too many times. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_failed_password_wipe_device">Failed password attempts before deleting all device data</string>
+    <!-- Label explaining that the admin configured the work profile to wipe itself when the password is mistyped too many times. [CHAR LIMIT=NONE] -->
+    <string name="enterprise_privacy_failed_password_wipe_work">Failed password attempts before deleting work profile data</string>
+    <!-- Summary indicating the number of mistyped passwords after which the device or work profile wipes itself. [CHAR LIMIT=NONE] -->
+    <plurals name="enterprise_privacy_number_failed_password_wipe">
+        <item quantity="one"><xliff:g id="count">%d</xliff:g> attempt</item>
+        <item quantity="other"><xliff:g id="count">%d</xliff:g> attempts</item>
     </plurals>
     <!-- Message indicating that the device is enterprise-managed by a Device Owner [CHAR LIMIT=NONE] -->
-    <string name="do_disclosure_generic">This device is managed.</string>
+    <string name="do_disclosure_generic">This device is managed by your organization.</string>
     <!-- Message indicating that the device is enterprise-managed by a Device Owner [CHAR LIMIT=NONE] -->
     <string name="do_disclosure_with_name">This device is managed by <xliff:g id="organization_name" example="Foo, Inc.">%s</xliff:g>.</string>
     <!-- Message indicating that the device is enterprise-managed: Space that separates the main text and the "learn more" link that follows it. [CHAR LIMIT=NONE] -->
diff --git a/res/xml/enterprise_privacy_settings.xml b/res/xml/enterprise_privacy_settings.xml
index 436c227..f08b9f2 100644
--- a/res/xml/enterprise_privacy_settings.xml
+++ b/res/xml/enterprise_privacy_settings.xml
@@ -19,91 +19,75 @@
         android:key="enterprise_privacy_settings"
         android:title="@string/enterprise_privacy_settings_title">
 
-    <!-- Header -->
-    <Preference android:key="enterprise_privacy_header"
-            android:summary="@string/enterprise_privacy_header"
-            android:selectable="false"/>
-
     <PreferenceCategory android:title="@string/enterprise_privacy_exposure_category">
         <com.android.settings.DividerPreference
                 android:key="enterprise_data"
                 android:layout_height="wrap_content"
                 android:title="@string/enterprise_privacy_enterprise_data"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
-                android:key="number_installed_packages"
-                android:title="@string/enterprise_privacy_number_installed_packages_default"
-                settings:allowDividerBelow="true"
+                android:key="installed_packages"
+                android:title="@string/enterprise_privacy_installed_packages"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="usage_stats"
                 android:title="@string/enterprise_privacy_usage_stats"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="network_logs"
                 android:title="@string/enterprise_privacy_network_logs"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="bug_reports"
                 android:title="@string/enterprise_privacy_bug_reports"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="security_logs"
                 android:title="@string/enterprise_privacy_security_logs"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
     </PreferenceCategory>
 
     <PreferenceCategory android:title="@string/enterprise_privacy_exposure_changes_category">
         <com.android.settings.DividerPreference
                 android:key="number_enterprise_installed_packages"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_enterprise_installed_packages"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_location_access_packages"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_location_access"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_microphone_access_packages"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_microphone_access"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_camera_access_packages"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_camera_access"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="number_enterprise_set_default_apps"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_enterprise_set_default_apps"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="always_on_vpn_primary_user"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="always_on_vpn_managed_profile"
                 android:title="@string/enterprise_privacy_always_on_vpn_work"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="input_method"
-                settings:allowDividerBelow="true"
+                android:title="@string/enterprise_privacy_input_method"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="global_http_proxy"
                 android:title="@string/enterprise_privacy_global_http_proxy"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="ca_certs_current_user"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="ca_certs_managed_profile"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
     </PreferenceCategory>
 
@@ -111,20 +95,20 @@
         <com.android.settings.DividerPreference
                 android:key="lock_device"
                 android:title="@string/enterprise_privacy_lock_device"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="wipe_device"
                 android:title="@string/enterprise_privacy_wipe_device"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="failed_password_wipe_primary_user"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="failed_password_wipe_managed_profile"
-                settings:allowDividerBelow="true"
                 settings:multiLine="true"/>
     </PreferenceCategory>
+
+    <com.android.settings.widget.FooterPreference
+            android:title="@string/enterprise_privacy_footer"
+            android:selectable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml
index 04272df..155f21a 100644
--- a/res/xml/security_settings_misc.xml
+++ b/res/xml/security_settings_misc.xml
@@ -43,6 +43,12 @@
                 android:persistent="false"
                 android:fragment="com.android.settings.DeviceAdminSettings"/>
 
+        <Preference android:key="enterprise_privacy"
+                android:title="@string/enterprise_privacy_settings"
+                android:summary="@string/enterprise_privacy_settings_summary"
+                android:persistent="false"
+                android:fragment="com.android.settings.enterprise.EnterprisePrivacySettings"/>
+
     </PreferenceCategory>
 
     <Preference android:key="sim_lock_settings"
diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
index 6b72573..f6bd4c1 100644
--- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
@@ -40,7 +40,7 @@
     public void updateState(Preference preference) {
         final Date timestamp = getAdminActionTimestamp();
         preference.setSummary(timestamp == null ?
-                mContext.getString(R.string.enterprise_privacy_never) :
+                mContext.getString(R.string.enterprise_privacy_none) :
                 DateUtils.formatDateTime(mContext, timestamp.getTime(),
                         DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE));
     }
diff --git a/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceController.java b/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceController.java
index a2137ff..35648c8 100644
--- a/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceController.java
+++ b/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceController.java
@@ -17,8 +17,6 @@
 import android.Manifest;
 import android.content.Context;
 
-import com.android.settings.R;
-
 public class AdminGrantedCameraPermissionPreferenceController extends
         AdminGrantedPermissionsPreferenceControllerBase {
 
@@ -26,8 +24,7 @@
             = "enterprise_privacy_number_camera_access_packages";
 
     public AdminGrantedCameraPermissionPreferenceController(Context context) {
-        super(context, new String[] {Manifest.permission.CAMERA},
-                R.plurals.enterprise_privacy_number_camera_access_packages);
+        super(context, new String[] {Manifest.permission.CAMERA});
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceController.java b/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceController.java
index 0453b53..f570558 100644
--- a/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceController.java
+++ b/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceController.java
@@ -17,8 +17,6 @@
 import android.Manifest;
 import android.content.Context;
 
-import com.android.settings.R;
-
 public class AdminGrantedLocationPermissionsPreferenceController extends
         AdminGrantedPermissionsPreferenceControllerBase {
 
@@ -27,8 +25,7 @@
 
     public AdminGrantedLocationPermissionsPreferenceController(Context context) {
         super(context, new String[] {Manifest.permission.ACCESS_COARSE_LOCATION,
-                Manifest.permission.ACCESS_FINE_LOCATION},
-                R.plurals.enterprise_privacy_number_location_access_packages);
+                Manifest.permission.ACCESS_FINE_LOCATION});
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceController.java b/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceController.java
index 3adde92..842235d 100644
--- a/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceController.java
+++ b/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceController.java
@@ -17,8 +17,6 @@
 import android.Manifest;
 import android.content.Context;
 
-import com.android.settings.R;
-
 public class AdminGrantedMicrophonePermissionPreferenceController extends
         AdminGrantedPermissionsPreferenceControllerBase {
 
@@ -26,8 +24,7 @@
             = "enterprise_privacy_number_microphone_access_packages";
 
     public AdminGrantedMicrophonePermissionPreferenceController(Context context) {
-        super(context, new String[] {Manifest.permission.RECORD_AUDIO},
-                R.plurals.enterprise_privacy_number_microphone_access_packages);
+        super(context, new String[] {Manifest.permission.RECORD_AUDIO});
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
index 2ca5451..2b972a5 100644
--- a/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
@@ -18,6 +18,7 @@
 import android.content.res.Resources;
 import android.support.v7.preference.Preference;
 
+import com.android.settings.R;
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.core.PreferenceController;
 import com.android.settings.overlay.FeatureFactory;
@@ -25,14 +26,11 @@
 public abstract class AdminGrantedPermissionsPreferenceControllerBase extends PreferenceController {
 
     private final String[] mPermissions;
-    private final int mStringResourceId;
     private final ApplicationFeatureProvider mFeatureProvider;
 
-    public AdminGrantedPermissionsPreferenceControllerBase(Context context, String[] permissions,
-            int stringResourceId) {
+    public AdminGrantedPermissionsPreferenceControllerBase(Context context, String[] permissions) {
         super(context);
         mPermissions = permissions;
-        mStringResourceId = stringResourceId;
         mFeatureProvider = FeatureFactory.getFactory(context)
                 .getApplicationFeatureProvider(context);
     }
@@ -45,8 +43,8 @@
                         preference.setVisible(false);
                     } else {
                         preference.setVisible(true);
-                        preference.setTitle(mContext.getResources().getQuantityString(
-                                mStringResourceId, num, num));
+                        preference.setSummary(mContext.getResources().getQuantityString(
+                                R.plurals.enterprise_privacy_number_packages, num, num));
                     }
                 });
     }
diff --git a/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceController.java b/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceController.java
index 94b944a..c8ea551 100644
--- a/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceController.java
@@ -41,8 +41,10 @@
             return;
         }
         preference.setTitle(mContext.getResources().getQuantityString(
-                mFeatureProvider.isInCompMode() ? R.plurals.enterprise_privacy_ca_certs_personal
-                        : R.plurals.enterprise_privacy_ca_certs_user, certs, certs));
+                mFeatureProvider.isInCompMode() ? R.plurals.enterprise_privacy_ca_certs_personal :
+                        R.plurals.enterprise_privacy_ca_certs_user, certs));
+        preference.setSummary(mContext.getResources().getQuantityString(
+                R.plurals.enterprise_privacy_number_ca_certs, certs, certs));
         preference.setVisible(true);
     }
 
diff --git a/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceController.java
index 8de5e60..33224ae 100644
--- a/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceController.java
+++ b/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceController.java
@@ -41,7 +41,9 @@
             return;
         }
         preference.setTitle(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_ca_certs_work, certs, certs));
+                R.plurals.enterprise_privacy_ca_certs_work, certs));
+        preference.setSummary(mContext.getResources().getQuantityString(
+                R.plurals.enterprise_privacy_number_ca_certs, certs, certs));
         preference.setVisible(true);
     }
 
diff --git a/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
index 1fbb04a..9b4be3a 100644
--- a/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
@@ -44,9 +44,8 @@
                         preference.setVisible(false);
                     } else {
                         preference.setVisible(true);
-                        preference.setTitle(mContext.getResources().getQuantityString(
-                                R.plurals.enterprise_privacy_number_enterprise_installed_packages,
-                                num, num));
+                        preference.setSummary(mContext.getResources().getQuantityString(
+                                R.plurals.enterprise_privacy_number_packages, num, num));
                     }
                 });
     }
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
index 23627cd..08a72e3 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
@@ -68,9 +68,8 @@
             preference.setVisible(false);
         } else {
             preference.setVisible(true);
-            preference.setTitle(mContext.getResources().getQuantityString(
-                    R.plurals.enterprise_privacy_number_enterprise_set_default_apps,
-                    num, num));
+            preference.setSummary(mContext.getResources().getQuantityString(
+                    R.plurals.enterprise_privacy_number_packages, num, num));
         }
     }
 
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceController.java
index 2eac0a9..5a0e7c8 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceController.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceController.java
@@ -15,8 +15,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
-
 public class FailedPasswordWipeManagedProfilePreferenceController
         extends FailedPasswordWipePreferenceControllerBase {
 
@@ -24,7 +22,7 @@
             = "failed_password_wipe_managed_profile";
 
     public FailedPasswordWipeManagedProfilePreferenceController(Context context) {
-        super(context, R.plurals.enterprise_privacy_failed_password_wipe_work);
+        super(context);
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
index 7cdd8da..ee4aecf 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
@@ -18,17 +18,16 @@
 import android.content.res.Resources;
 import android.support.v7.preference.Preference;
 
+import com.android.settings.R;
 import com.android.settings.core.PreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
 public abstract class FailedPasswordWipePreferenceControllerBase extends PreferenceController {
 
-    private final int mStringResourceId;
     protected final EnterprisePrivacyFeatureProvider mFeatureProvider;
 
-    public FailedPasswordWipePreferenceControllerBase(Context context, int stringResourceId) {
+    public FailedPasswordWipePreferenceControllerBase(Context context) {
         super(context);
-        mStringResourceId = stringResourceId;
         mFeatureProvider = FeatureFactory.getFactory(context)
                 .getEnterprisePrivacyFeatureProvider(context);
     }
@@ -42,8 +41,9 @@
             preference.setVisible(false);
         } else {
             preference.setVisible(true);
-            preference.setTitle(mContext.getResources().getQuantityString(
-                    mStringResourceId, failedPasswordsBeforeWipe, failedPasswordsBeforeWipe));
+            preference.setSummary(mContext.getResources().getQuantityString(
+                    R.plurals.enterprise_privacy_number_failed_password_wipe,
+                    failedPasswordsBeforeWipe, failedPasswordsBeforeWipe));
         }
     }
 
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java b/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java
index 91bdf9b..44c6383 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java
@@ -15,8 +15,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
-
 public class FailedPasswordWipePrimaryUserPreferenceController
         extends FailedPasswordWipePreferenceControllerBase {
 
@@ -24,7 +22,7 @@
             = "failed_password_wipe_primary_user";
 
     public FailedPasswordWipePrimaryUserPreferenceController(Context context) {
-        super(context, R.plurals.enterprise_privacy_failed_password_wipe_device);
+        super(context);
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/ImePreferenceController.java b/src/com/android/settings/enterprise/ImePreferenceController.java
index 18dfac7..3c0cc26 100644
--- a/src/com/android/settings/enterprise/ImePreferenceController.java
+++ b/src/com/android/settings/enterprise/ImePreferenceController.java
@@ -40,8 +40,8 @@
             preference.setVisible(false);
             return;
         }
-        preference.setTitle(mContext.getResources().getString(
-            R.string.enterprise_privacy_input_method, ownerSetIme));
+        preference.setSummary(mContext.getResources().getString(
+            R.string.enterprise_privacy_input_method_name, ownerSetIme));
         preference.setVisible(true);
     }
 
diff --git a/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java b/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
index 91ac4c2..4252429 100644
--- a/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
+++ b/src/com/android/settings/enterprise/InstalledPackagesPreferenceController.java
@@ -24,7 +24,7 @@
 
 public class InstalledPackagesPreferenceController extends PreferenceController {
 
-    private static final String KEY_NUMBER_INSTALLED_PACKAGES = "number_installed_packages";
+    private static final String KEY_INSTALLED_PACKAGES = "installed_packages";
     private final ApplicationFeatureProvider mFeatureProvider;
 
     public InstalledPackagesPreferenceController(Context context) {
@@ -38,8 +38,12 @@
         mFeatureProvider.calculateNumberOfInstalledApps(
                 ApplicationFeatureProvider.IGNORE_INSTALL_REASON,
                 (num) -> {
-                    preference.setTitle(mContext.getResources().getQuantityString(
-                            R.plurals.enterprise_privacy_number_installed_packages, num, num));
+                    if (num == 0) {
+                        preference.setSummary("");
+                    } else {
+                        preference.setSummary(mContext.getResources().getQuantityString(
+                                R.plurals.enterprise_privacy_number_packages, num, num));
+                    }
                 });
     }
 
@@ -50,6 +54,6 @@
 
     @Override
     public String getPreferenceKey() {
-        return KEY_NUMBER_INSTALLED_PACKAGES;
+        return KEY_INSTALLED_PACKAGES;
     }
 }
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminActionPreferenceControllerTestBase.java b/tests/robotests/src/com/android/settings/enterprise/AdminActionPreferenceControllerTestBase.java
index 59043ed..e9b9d86 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminActionPreferenceControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminActionPreferenceControllerTestBase.java
@@ -59,12 +59,12 @@
     @Test
     public void testUpdateState() {
         final Preference preference = new Preference(mContext, null, 0, 0);
-        when(mContext.getString(R.string.enterprise_privacy_never)).thenReturn("Never");
+        when(mContext.getString(R.string.enterprise_privacy_none)).thenReturn("None");
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, "24");
 
         setDate(null);
         mController.updateState(preference);
-        assertThat(preference.getSummary()).isEqualTo("Never");
+        assertThat(preference.getSummary()).isEqualTo("None");
 
         final Date date = new GregorianCalendar(2011 /* year */, 10 /* month */, 9 /* dayOfMonth */,
                 8 /* hourOfDay */, 7 /* minute */, 6 /* second */).getTime();
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceControllerTest.java
index de24885..6efccfc 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedCameraPermissionPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import android.Manifest;
 
-import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import org.junit.runner.RunWith;
@@ -34,8 +33,7 @@
 
     public AdminGrantedCameraPermissionPreferenceControllerTest() {
         super("enterprise_privacy_number_camera_access_packages",
-                new String[] {Manifest.permission.CAMERA},
-                R.plurals.enterprise_privacy_number_camera_access_packages);
+                new String[] {Manifest.permission.CAMERA});
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceControllerTest.java
index 1c6f91d..a23ad8b 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedLocationPermissionsPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import android.Manifest;
 
-import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import org.junit.runner.RunWith;
@@ -35,8 +34,7 @@
     public AdminGrantedLocationPermissionsPreferenceControllerTest() {
         super("enterprise_privacy_number_location_access_packages",
                 new String[] {Manifest.permission.ACCESS_COARSE_LOCATION,
-                        Manifest.permission.ACCESS_FINE_LOCATION},
-                R.plurals.enterprise_privacy_number_location_access_packages);
+                        Manifest.permission.ACCESS_FINE_LOCATION});
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceControllerTest.java
index bcaf63f..39a715f 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedMicrophonePermissionPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import android.Manifest;
 
-import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import org.junit.runner.RunWith;
@@ -34,8 +33,7 @@
 
     public AdminGrantedMicrophonePermissionPreferenceControllerTest() {
         super("enterprise_privacy_number_microphone_access_packages",
-                new String[] {Manifest.permission.RECORD_AUDIO},
-                R.plurals.enterprise_privacy_number_microphone_access_packages);
+                new String[] {Manifest.permission.RECORD_AUDIO});
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBaseTest.java
index 2bebbf0..1f52b0e 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBaseTest.java
@@ -30,7 +30,7 @@
         AdminGrantedPermissionsPreferenceControllerTestBase {
 
     public AdminGrantedPermissionsPreferenceControllerBaseTest() {
-        super(null, new String[] {"some.permission"}, 123 /* resourceStringId */);
+        super(null, new String[] {"some.permission"});
     }
 
     @Override
@@ -43,8 +43,7 @@
             AdminGrantedPermissionsPreferenceControllerBase {
 
         AdminGrantedPermissionsPreferenceControllerBaseTestable() {
-            super(AdminGrantedPermissionsPreferenceControllerBaseTest.this.mContext, mPermissions,
-                    mStringResourceId);
+            super(AdminGrantedPermissionsPreferenceControllerBaseTest.this.mContext, mPermissions);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerTestBase.java b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerTestBase.java
index 68ded37..821fb34 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerTestBase.java
@@ -20,6 +20,7 @@
 import android.content.res.Resources;
 import android.support.v7.preference.Preference;
 
+import com.android.settings.R;
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.testutils.FakeFeatureFactory;
 
@@ -44,7 +45,6 @@
 
     protected final String mKey;
     protected final String[] mPermissions;
-    protected final int mStringResourceId;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     protected Context mContext;
@@ -52,11 +52,9 @@
 
     protected AdminGrantedPermissionsPreferenceControllerBase mController;
 
-    public AdminGrantedPermissionsPreferenceControllerTestBase(String key, String[] permissions,
-            int stringResourceId) {
+    public AdminGrantedPermissionsPreferenceControllerTestBase(String key, String[] permissions) {
         mKey = key;
         mPermissions = permissions;
-        mStringResourceId = stringResourceId;
     }
 
     @Before
@@ -83,10 +81,10 @@
         preference.setVisible(false);
 
         setNumberOfPackagesWithAdminGrantedPermissions(20);
-        when(mContext.getResources().getQuantityString(mStringResourceId, 20, 20))
-                .thenReturn("20 packages");
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_packages,
+                20, 20)).thenReturn("20 packages");
         mController.updateState(preference);
-        assertThat(preference.getTitle()).isEqualTo("20 packages");
+        assertThat(preference.getSummary()).isEqualTo("20 packages");
         assertThat(preference.isVisible()).isTrue();
 
         setNumberOfPackagesWithAdminGrantedPermissions(0);
diff --git a/tests/robotests/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceControllerTest.java
index 364b538..3cd63bb 100644
--- a/tests/robotests/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/CaCertsCurrentUserPreferenceControllerTest.java
@@ -43,8 +43,12 @@
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public final class CaCertsCurrentUserPreferenceControllerTest {
 
-    private final String INSTALLED_CERTS_USER = "10 certs installed";
-    private final String INSTALLED_CERTS_PERSONAL = "10 certs installed in personal profile";
+    private final String INSTALLED_CERTS_USER_1 = "cert installed";
+    private final String INSTALLED_CERTS_USER_10 = "certs installed";
+    private final String INSTALLED_CERTS_PERSONAL_1 = "cert installed in personal profile";
+    private final String INSTALLED_CERTS_PERSONAL_10 = "certs installed in personal profile";
+    private final String NUMBER_INSTALLED_CERTS_1 = "1 cert";
+    private final String NUMBER_INSTALLED_CERTS_10 = "10 certs";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
@@ -58,12 +62,21 @@
         FakeFeatureFactory.setupForTest(mContext);
         mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
         mController = new CaCertsCurrentUserPreferenceController(mContext);
+
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_ca_certs_user,
+                1)).thenReturn(INSTALLED_CERTS_USER_1);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_ca_certs_user,
+                10)).thenReturn(INSTALLED_CERTS_USER_10);
         when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_ca_certs_user, 10, 10))
-                        .thenReturn(INSTALLED_CERTS_USER);
+                R.plurals.enterprise_privacy_ca_certs_personal, 1))
+                .thenReturn(INSTALLED_CERTS_PERSONAL_1);
         when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_ca_certs_personal, 10, 10))
-                        .thenReturn(INSTALLED_CERTS_PERSONAL);
+                R.plurals.enterprise_privacy_ca_certs_personal, 10))
+                .thenReturn(INSTALLED_CERTS_PERSONAL_10);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_ca_certs,
+                1, 1)).thenReturn(NUMBER_INSTALLED_CERTS_1);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_ca_certs,
+                10, 10)).thenReturn(NUMBER_INSTALLED_CERTS_10);
     }
 
     @Test
@@ -79,10 +92,19 @@
         assertThat(preference.isVisible()).isFalse();
 
         when(mFeatureFactory.enterprisePrivacyFeatureProvider
+                .getNumberOfOwnerInstalledCaCertsInCurrentUser()).thenReturn(1);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_USER_1);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_1);
+
+        preference.setVisible(false);
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider
                 .getNumberOfOwnerInstalledCaCertsInCurrentUser()).thenReturn(10);
         mController.updateState(preference);
         assertThat(preference.isVisible()).isTrue();
-        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_USER);
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_USER_10);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_10);
 
         when(mFeatureFactory.enterprisePrivacyFeatureProvider.isInCompMode()).thenReturn(true);
 
@@ -92,10 +114,19 @@
         assertThat(preference.isVisible()).isFalse();
 
         when(mFeatureFactory.enterprisePrivacyFeatureProvider
+                .getNumberOfOwnerInstalledCaCertsInCurrentUser()).thenReturn(1);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_PERSONAL_1);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_1);
+
+        preference.setVisible(false);
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider
                 .getNumberOfOwnerInstalledCaCertsInCurrentUser()).thenReturn(10);
         mController.updateState(preference);
         assertThat(preference.isVisible()).isTrue();
-        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_PERSONAL);
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_PERSONAL_10);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_10);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceControllerTest.java
index ff741e1..c66128b 100644
--- a/tests/robotests/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/CaCertsManagedProfilePreferenceControllerTest.java
@@ -43,7 +43,10 @@
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
 public final class CaCertsManagedProfilePreferenceControllerTest {
 
-    private final String INSTALLED_CERTS = "10 certs installed";
+    private final String INSTALLED_CERTS_1 = "cert installed";
+    private final String INSTALLED_CERTS_10 = "certs installed";
+    private final String NUMBER_INSTALLED_CERTS_1 = "1 cert";
+    private final String NUMBER_INSTALLED_CERTS_10 = "10 certs";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
@@ -57,8 +60,15 @@
         FakeFeatureFactory.setupForTest(mContext);
         mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
         mController = new CaCertsManagedProfilePreferenceController(mContext);
-        when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_ca_certs_work, 10, 10)).thenReturn(INSTALLED_CERTS);
+
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_ca_certs_work,
+                1)).thenReturn(INSTALLED_CERTS_1);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_ca_certs_work,
+                10)).thenReturn(INSTALLED_CERTS_10);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_ca_certs,
+                1, 1)).thenReturn(NUMBER_INSTALLED_CERTS_1);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_ca_certs,
+                10, 10)).thenReturn(NUMBER_INSTALLED_CERTS_10);
     }
 
     @Test
@@ -72,10 +82,19 @@
         assertThat(preference.isVisible()).isFalse();
 
         when(mFeatureFactory.enterprisePrivacyFeatureProvider
+                .getNumberOfOwnerInstalledCaCertsInManagedProfile()).thenReturn(1);
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_1);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_1);
+
+        preference.setVisible(false);
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider
                 .getNumberOfOwnerInstalledCaCertsInManagedProfile()).thenReturn(10);
         mController.updateState(preference);
         assertThat(preference.isVisible()).isTrue();
-        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS);
+        assertThat(preference.getTitle()).isEqualTo(INSTALLED_CERTS_10);
+        assertThat(preference.getSummary()).isEqualTo(NUMBER_INSTALLED_CERTS_10);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java
index b55b512..46c29b2 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceControllerTest.java
@@ -86,11 +86,10 @@
         assertThat(preference.isVisible()).isFalse();
 
         setNumberOfEnterpriseInstalledPackages(20);
-        when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_number_enterprise_installed_packages, 20, 20))
-                .thenReturn("20 packages");
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_packages,
+                20, 20)).thenReturn("20 packages");
         mController.updateState(preference);
-        assertThat(preference.getTitle()).isEqualTo("20 packages");
+        assertThat(preference.getSummary()).isEqualTo("20 packages");
         assertThat(preference.isVisible()).isTrue();
     }
 
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceControllerTest.java
index 84520a5..093ce20 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceControllerTest.java
@@ -118,11 +118,10 @@
                 ContactsContract.Contacts.CONTENT_TYPE)}, 32);
         setEnterpriseSetDefaultApps(new Intent[] {new Intent(Intent.ACTION_DIAL),
                 new Intent(Intent.ACTION_CALL)}, 64);
-        when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_number_enterprise_set_default_apps, 127, 127))
-                .thenReturn("127 apps");
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_packages,
+                127, 127)).thenReturn("127 apps");
         mController.updateState(preference);
-        assertThat(preference.getTitle()).isEqualTo("127 apps");
+        assertThat(preference.getSummary()).isEqualTo("127 apps");
         assertThat(preference.isVisible()).isTrue();
     }
 
diff --git a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceControllerTest.java
index 29952a7..c9981f9 100644
--- a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeManagedProfilePreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 
@@ -38,8 +37,7 @@
     private int mMaximumFailedPasswordsBeforeWipe = 0;
 
     public FailedPasswordWipeManagedProfilePreferenceControllerTest() {
-        super("failed_password_wipe_managed_profile",
-                R.plurals.enterprise_privacy_failed_password_wipe_work);
+        super("failed_password_wipe_managed_profile");
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBaseTest.java
index 97d0d6d..1c7b448 100644
--- a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBaseTest.java
@@ -33,7 +33,7 @@
     private int mMaximumFailedPasswordsBeforeWipe = 0;
 
     public FailedPasswordWipePreferenceControllerBaseTest() {
-        super(null, 123 /* stringResourceId */);
+        super(null);
     }
 
     @Override
@@ -50,7 +50,7 @@
     private class FailedPasswordWipePreferenceControllerBaseTestable extends
             FailedPasswordWipePreferenceControllerBase {
         FailedPasswordWipePreferenceControllerBaseTestable() {
-            super(FailedPasswordWipePreferenceControllerBaseTest.this.mContext, mStringResourceId);
+            super(FailedPasswordWipePreferenceControllerBaseTest.this.mContext);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerTestBase.java b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerTestBase.java
index 5a74fa5..aa189e2 100644
--- a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerTestBase.java
@@ -20,6 +20,7 @@
 import android.content.res.Resources;
 import android.support.v7.preference.Preference;
 
+import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -37,7 +38,6 @@
 public abstract class FailedPasswordWipePreferenceControllerTestBase {
 
     protected final String mKey;
-    protected final int mStringResourceId;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     protected Context mContext;
@@ -45,9 +45,8 @@
 
     protected FailedPasswordWipePreferenceControllerBase mController;
 
-    public FailedPasswordWipePreferenceControllerTestBase(String key, int stringResourceId) {
+    public FailedPasswordWipePreferenceControllerTestBase(String key) {
         mKey = key;
-        mStringResourceId = stringResourceId;
     }
 
     @Before
@@ -65,11 +64,11 @@
         preference.setVisible(false);
 
         setMaximumFailedPasswordsBeforeWipe(10);
-        when(mContext.getResources().getQuantityString(mStringResourceId, 10, 10))
+        when(mContext.getResources().getQuantityString(
+                R.plurals.enterprise_privacy_number_failed_password_wipe, 10, 10))
                 .thenReturn("10 attempts");
         mController.updateState(preference);
-        assertThat(preference.getTitle()).isEqualTo("10 attempts");
-        assertThat(preference.isVisible()).isTrue();
+        assertThat(preference.getSummary()).isEqualTo("10 attempts");
 
         setMaximumFailedPasswordsBeforeWipe(0);
         mController.updateState(preference);
diff --git a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java
index ea6d977..65c9828 100644
--- a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 
@@ -38,8 +37,7 @@
     private int mMaximumFailedPasswordsBeforeWipe = 0;
 
     public FailedPasswordWipePrimaryUserPreferenceControllerTest() {
-        super("failed_password_wipe_primary_user",
-                R.plurals.enterprise_privacy_failed_password_wipe_device);
+        super("failed_password_wipe_primary_user");
     }
 
     @Override
diff --git a/tests/robotests/src/com/android/settings/enterprise/ImePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/ImePreferenceControllerTest.java
index 232a872..547746c 100644
--- a/tests/robotests/src/com/android/settings/enterprise/ImePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/ImePreferenceControllerTest.java
@@ -44,7 +44,7 @@
 public final class ImePreferenceControllerTest {
 
     private final String DEFAULT_IME_LABEL = "Test IME";
-    private final String DEFAULT_IME_TEXT = "IME set to Test IME";
+    private final String DEFAULT_IME_TEXT = "Set to Test IME";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
@@ -58,7 +58,7 @@
         FakeFeatureFactory.setupForTest(mContext);
         mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
         mController = new ImePreferenceController(mContext);
-        when(mContext.getResources().getString(R.string.enterprise_privacy_input_method,
+        when(mContext.getResources().getString(R.string.enterprise_privacy_input_method_name,
                 DEFAULT_IME_LABEL)).thenReturn(DEFAULT_IME_TEXT);
     }
 
@@ -76,7 +76,7 @@
             .thenReturn(DEFAULT_IME_LABEL);
         mController.updateState(preference);
         assertThat(preference.isVisible()).isTrue();
-        assertThat(preference.getTitle()).isEqualTo(DEFAULT_IME_TEXT);
+        assertThat(preference.getSummary()).isEqualTo(DEFAULT_IME_TEXT);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
index bf2c4ca..60ceed6 100644
--- a/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/InstalledPackagesPreferenceControllerTest.java
@@ -64,22 +64,30 @@
         mController = new InstalledPackagesPreferenceController(mContext);
     }
 
-    @Test
-    public void testUpdateState() {
-        final Preference preference = new Preference(mContext, null, 0, 0);
+    private void setNumberOfInstalledPackages(int number) {
         doAnswer(new Answer() {
             public Object answer(InvocationOnMock invocation) {
                 ((ApplicationFeatureProvider.NumberOfAppsCallback)
-                        invocation.getArguments()[1]).onNumberOfAppsResult(20);
+                        invocation.getArguments()[1]).onNumberOfAppsResult(number);
                 return null;
             }}).when(mFeatureFactory.applicationFeatureProvider)
                     .calculateNumberOfInstalledApps(
                             eq(ApplicationFeatureProvider.IGNORE_INSTALL_REASON), anyObject());
-        when(mContext.getResources().getQuantityString(
-                R.plurals.enterprise_privacy_number_installed_packages, 20, 20))
-                .thenReturn("20 packages");
+    }
+
+    @Test
+    public void testUpdateState() {
+        final Preference preference = new Preference(mContext, null, 0, 0);
+
+        setNumberOfInstalledPackages(0);
         mController.updateState(preference);
-        assertThat(preference.getTitle()).isEqualTo("20 packages");
+        assertThat(preference.getSummary()).isEqualTo("");
+
+        setNumberOfInstalledPackages(20);
+        when(mContext.getResources().getQuantityString(R.plurals.enterprise_privacy_number_packages,
+                20, 20)).thenReturn("20 packages");
+        mController.updateState(preference);
+        assertThat(preference.getSummary()).isEqualTo("20 packages");
     }
 
     @Test
@@ -95,6 +103,6 @@
 
     @Test
     public void testGetPreferenceKey() {
-        assertThat(mController.getPreferenceKey()).isEqualTo("number_installed_packages");
+        assertThat(mController.getPreferenceKey()).isEqualTo("installed_packages");
     }
 }