Merge "Update screensaver preference summary when on." into tm-qpr-dev am: 7bae5625a6

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20683706

Change-Id: Ie01d33707536f511f144d82fc13b2d02f2825941
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ef778e7..33223d6 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3378,6 +3378,10 @@
     <string name="screensaver_settings_summary_dock">While docked</string>
     <!-- Display settings screen, summary fragment for screen saver options, activated never [CHAR LIMIT=35] -->
     <string name="screensaver_settings_summary_never">Never</string>
+    <!-- Display settings screen, summary for screen saver options, screen saver is turned on [CHAR LIMIT=50] -->
+    <string name="screensaver_settings_summary_on">
+        On / <xliff:g id="screen_saver" example="Art gallery">%1$s</xliff:g>
+    </string>
     <!-- Display settings screen, summary for screen saver options, screen saver is turned off [CHAR LIMIT=20] -->
     <string name="screensaver_settings_summary_off">Off</string>
     <!-- Dream settings screen, action label, when to dream [CHAR LIMIT=20] -->
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 580211a..acc6973 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -138,10 +138,11 @@
 
     @VisibleForTesting
     static CharSequence getSummaryTextFromBackend(DreamBackend backend, Context context) {
-        if (!backend.isEnabled()) {
-            return context.getString(R.string.screensaver_settings_summary_off);
+        if (backend.isEnabled()) {
+            return context.getString(R.string.screensaver_settings_summary_on,
+                    backend.getActiveDreamName());
         } else {
-            return backend.getActiveDreamName();
+            return context.getString(R.string.screensaver_settings_summary_off);
         }
     }
 
diff --git a/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java b/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
index c1cc6ae..4fceb17 100644
--- a/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/dream/DreamSettingsTest.java
@@ -18,6 +18,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -104,23 +106,28 @@
 
     @Test
     public void summaryText_whenDreamsAreOff() {
-        DreamBackend mockBackend = mock(DreamBackend.class);
-        Context mockContext = mock(Context.class);
+        final String fakeSummaryOff = "test dream off";
+        final DreamBackend mockBackend = mock(DreamBackend.class);
+        final Context mockContext = mock(Context.class);
         when(mockBackend.isEnabled()).thenReturn(false);
+        when(mockContext.getString(R.string.screensaver_settings_summary_off)).thenReturn(
+                fakeSummaryOff);
 
-        assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext))
-                .isEqualTo(mockContext.getString(R.string.screensaver_settings_summary_off));
+        assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext)).isEqualTo(
+                fakeSummaryOff);
     }
 
     @Test
     public void summaryTest_WhenDreamsAreOn() {
         final String fakeName = "test_name";
-        DreamBackend mockBackend = mock(DreamBackend.class);
-        Context mockContext = mock(Context.class);
+        final DreamBackend mockBackend = mock(DreamBackend.class);
+        final Context mockContext = mock(Context.class);
         when(mockBackend.isEnabled()).thenReturn(true);
         when(mockBackend.getActiveDreamName()).thenReturn(fakeName);
+        when(mockContext.getString(eq(R.string.screensaver_settings_summary_on), anyString()))
+                .thenAnswer(i -> i.getArgument(1) + " test dream is on");
 
-        assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext))
-                .isEqualTo(fakeName);
+        assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext)).isEqualTo(
+                fakeName + " test dream is on");
     }
 }