Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1f5edfc authored by Darrell Shi's avatar Darrell Shi
Browse files

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
parent 47fa8933
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -3372,6 +3372,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] -->
+4 −3
Original line number Diff line number Diff line
@@ -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);
        }
    }

+15 −8
Original line number Diff line number Diff line
@@ -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");
    }
}