From d1f5edfc7869b29decf853a0aab4d46edc2dd4c0 Mon Sep 17 00:00:00 2001 From: Darrell Shi Date: Thu, 8 Dec 2022 22:34:37 +0000 Subject: [PATCH] Update screensaver preference summary when on. The summary for screensaver preference is updated to, e.g. "On / Art gallery". Bug: 261907383 Test: 'make -j64 RunSettingsRoboTests \ ROBOTEST_FILTER="com.android.settings.dream.DreamSettingsTest"' Change-Id: I40483f266c42a6e49e513208ba513d469d67f85a Merged-In: I40483f266c42a6e49e513208ba513d469d67f85a --- res/values/strings.xml | 4 ++++ .../android/settings/dream/DreamSettings.java | 7 +++--- .../settings/dream/DreamSettingsTest.java | 23 ++++++++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 1b67b9c4151..62d55fa1337 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3372,6 +3372,10 @@ While docked Never + + + On / %1$s + Off diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java index 580211a7d5b..acc69731d0d 100644 --- a/src/com/android/settings/dream/DreamSettings.java +++ b/src/com/android/settings/dream/DreamSettings.java @@ -138,10 +138,11 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan @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 c1cc6ae043f..4fceb17e372 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 @@ package com.android.settings.dream; 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 @@ public class DreamSettingsTest { @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"); } }