Update text for Users & accounts page.

- add back the summary loader for UserSettings
- remove "configure" preference category
- add summary for Auto sync data and update the title

Change-Id: Ia00397f775f86d0e160a54783a8518847fce8de8
Bug: 36540644
Test: builds
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 50ac95f..f4c49cc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7542,8 +7542,11 @@
     <!-- Summary of memory screen [CHAR LIMIT=NONE] -->
     <string name="memory_summary">Avg <xliff:g id="used_memory" example="1.7GB">%1$s</xliff:g> of <xliff:g id="total_memory" example="2GB">%2$s</xliff:g> memory used</string>
 
-    <!-- Summary of user screen [CHAR LIMIT=NONE] -->
-    <string name="user_summary">Current user: <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
+    <!-- Summary of Users & accounts setting screen [CHAR LIMIT=NONE] -->
+    <string name="users_and_accounts_summary">Current user: <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
+
+    <!-- Summary of User settings [CHAR LIMIT=NONE] -->
+    <string name="users_summary">Signed in as <xliff:g id="user_name" example="Jason">%1$s</xliff:g></string>
 
     <!-- Summary of payment screen [CHAR LIMIT=NONE] -->
     <string name="payment_summary"><xliff:g id="app_name" example="Payment App">%1$s</xliff:g> is default</string>
@@ -8198,11 +8201,13 @@
     <string name="configure_section_header">Configure</string>
 
     <!-- Switch label to enable auto sync account [CHAR LIMIT=60] -->
-    <string name="auto_sync_account_title">Auto sync account data</string>
+    <string name="auto_sync_account_title">Automatically sync data</string>
     <!-- Switch label to enable auto sync personal account [CHAR LIMIT=60] -->
-    <string name="auto_sync_personal_account_title">Auto sync personal account data</string>
+    <string name="auto_sync_personal_account_title">Automatically sync personal data</string>
     <!-- Switch label to enable auto sync work account [CHAR LIMIT=60] -->
-    <string name="auto_sync_work_account_title">Auto sync work account data</string>
+    <string name="auto_sync_work_account_title">Automatically sync work data</string>
+    <!-- Switch summary to enable auto sync account [CHAR LIMIT=NONE] -->
+    <string name="auto_sync_account_summary">Let apps refresh data automatically</string>
     <!-- Preference label to sync account [CHAR LIMIT=60] -->
     <string name="account_sync_title">Account sync</string>
 
diff --git a/res/xml/user_and_accounts_settings.xml b/res/xml/user_and_accounts_settings.xml
index 6280980..63a5b10 100644
--- a/res/xml/user_and_accounts_settings.xml
+++ b/res/xml/user_and_accounts_settings.xml
@@ -26,25 +26,23 @@
         android:order="100"
         settings:allowDividerAbove="true"/>
 
-    <PreferenceCategory
-        android:key="account_configuration_header"
-        android:title="@string/configure_section_header"
-        android:order="101">
-    </PreferenceCategory>
-
     <SwitchPreference
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
-        android:order="102"/>
+        android:summary="@string/auto_sync_account_summary"
+        android:order="102"
+        settings:allowDividerAbove="true"/>
 
     <SwitchPreference
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
+        android:summary="@string/auto_sync_account_summary"
         android:order="103"/>
 
     <SwitchPreference
         android:key="auto_sync_personal_account_data"
         android:title="@string/account_settings_menu_auto_sync_personal"
+        android:summary="@string/auto_sync_account_summary"
         android:order="104"/>
 
     <com.android.settingslib.RestrictedSwitchPreference
diff --git a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
index 1b0282f..a5a92ee 100644
--- a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
@@ -100,8 +100,8 @@
             if (listening) {
                 UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
                         UserHandle.myUserId());
-                mSummaryLoader.setSummary(this, mContext.getString(R.string.user_summary,
-                        info.name));
+                mSummaryLoader.setSummary(this,
+                    mContext.getString(R.string.users_and_accounts_summary, info.name));
             }
         }
     }
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index c3a058a..8026e27 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -61,6 +61,7 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
+import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settings.search.SearchIndexableRaw;
@@ -1007,6 +1008,36 @@
         mMePreference.setTitle(label);
     }
 
+    private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+        private final Context mContext;
+        private final SummaryLoader mSummaryLoader;
+
+        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+            mContext = context;
+            mSummaryLoader = summaryLoader;
+        }
+
+        @Override
+        public void setListening(boolean listening) {
+            if (listening) {
+                UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
+                    UserHandle.myUserId());
+                mSummaryLoader.setSummary(this, mContext.getString(R.string.users_summary,
+                    info.name));
+            }
+        }
+    }
+
+    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY =
+        new SummaryLoader.SummaryProviderFactory() {
+            @Override
+            public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+                    SummaryLoader summaryLoader) {
+                return new SummaryProvider(activity, summaryLoader);
+            }
+        };
+
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
                 @Override
diff --git a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
index 39ffcf8..d4a7a9d 100644
--- a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
@@ -101,7 +101,7 @@
                 .createSummaryProvider(activity, loader);
         provider.setListening(true);
 
-        verify(activity).getString(R.string.user_summary,
+        verify(activity).getString(R.string.users_and_accounts_summary,
                 userInfo.name);
     }