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
This commit is contained in:
Darrell Shi
2022-12-08 22:34:37 +00:00
parent 9d0a16aab3
commit adb864a784
3 changed files with 25 additions and 11 deletions

View File

@@ -2274,6 +2274,12 @@
<string name="screensaver_settings_summary_dock">While docked</string> <string name="screensaver_settings_summary_dock">While docked</string>
<!-- Display settings screen, summary fragment for screen saver options, activated never [CHAR LIMIT=35] --> <!-- Display settings screen, summary fragment for screen saver options, activated never [CHAR LIMIT=35] -->
<string name="screensaver_settings_summary_never">Never</string> <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] --> <!-- Dream settings screen, action label, when to dream [CHAR LIMIT=20] -->
<string name="screensaver_settings_when_to_dream">When to start</string> <string name="screensaver_settings_when_to_dream">When to start</string>
<!-- [CHAR LIMIT=40] Display settings screen, setting option name to change whether the device wakes up when a lift gesture is detected. --> <!-- [CHAR LIMIT=40] Display settings screen, setting option name to change whether the device wakes up when a lift gesture is detected. -->

View File

@@ -138,10 +138,11 @@ public class DreamSettings extends DashboardFragment implements OnMainSwitchChan
@VisibleForTesting @VisibleForTesting
static CharSequence getSummaryTextFromBackend(DreamBackend backend, Context context) { static CharSequence getSummaryTextFromBackend(DreamBackend backend, Context context) {
if (!backend.isEnabled()) { if (backend.isEnabled()) {
return context.getString(R.string.off); return context.getString(R.string.screensaver_settings_summary_on,
backend.getActiveDreamName());
} else { } else {
return backend.getActiveDreamName(); return context.getString(R.string.screensaver_settings_summary_off);
} }
} }

View File

@@ -18,6 +18,8 @@ package com.android.settings.dream;
import static com.google.common.truth.Truth.assertThat; 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.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@@ -104,23 +106,28 @@ public class DreamSettingsTest {
@Test @Test
public void summaryText_whenDreamsAreOff() { public void summaryText_whenDreamsAreOff() {
DreamBackend mockBackend = mock(DreamBackend.class); final String fakeSummaryOff = "test dream off";
Context mockContext = mock(Context.class); final DreamBackend mockBackend = mock(DreamBackend.class);
final Context mockContext = mock(Context.class);
when(mockBackend.isEnabled()).thenReturn(false); when(mockBackend.isEnabled()).thenReturn(false);
when(mockContext.getString(R.string.screensaver_settings_summary_off)).thenReturn(
fakeSummaryOff);
assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext)) assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext)).isEqualTo(
.isEqualTo(mockContext.getString(R.string.off)); fakeSummaryOff);
} }
@Test @Test
public void summaryTest_WhenDreamsAreOn() { public void summaryTest_WhenDreamsAreOn() {
final String fakeName = "test_name"; final String fakeName = "test_name";
DreamBackend mockBackend = mock(DreamBackend.class); final DreamBackend mockBackend = mock(DreamBackend.class);
Context mockContext = mock(Context.class); final Context mockContext = mock(Context.class);
when(mockBackend.isEnabled()).thenReturn(true); when(mockBackend.isEnabled()).thenReturn(true);
when(mockBackend.getActiveDreamName()).thenReturn(fakeName); 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)) assertThat(DreamSettings.getSummaryTextFromBackend(mockBackend, mockContext)).isEqualTo(
.isEqualTo(fakeName); fakeName + " test dream is on");
} }
} }