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>
<!-- 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] -->
<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. -->

View File

@@ -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.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);
}
}

View File

@@ -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.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");
}
}