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

Commit e7f321c3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Set slice summary text to screentitle first" into pi-dev

parents e3319d04 f9c13fc3
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -190,7 +190,12 @@ public class SliceBuilderUtils {
     */
    public static CharSequence getSubtitleText(Context context,
            AbstractPreferenceController controller, SliceData sliceData) {
        CharSequence summaryText;
        CharSequence summaryText = sliceData.getScreenTitle();
        if (isValidSummary(context, summaryText) && !TextUtils.equals(summaryText,
                sliceData.getTitle())) {
            return summaryText;
        }

        if (controller != null) {
            summaryText = controller.getSummary();

+31 −28
Original line number Diff line number Diff line
@@ -204,18 +204,18 @@ public class SliceBuilderUtilsTest {
    }

    @Test
    public void testDynamicSummary_returnsSliceSummary() {
    public void getDynamicSummary_returnsScreenTitle() {
        final SliceData data = getDummyData();
        final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);

        final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);

        assertThat(summary).isEqualTo(data.getSummary());
        assertThat(summary).isEqualTo(data.getScreenTitle());
    }

    @Test
    public void testDynamicSummary_returnsFragmentSummary() {
        final SliceData data = getDummyData(null);
    public void getDynamicSummary_noScreenTitle_returnsPrefControllerSummary() {
        final SliceData data = getDummyData("", "");
        final FakePreferenceController controller = spy(
                new FakePreferenceController(mContext, KEY));
        final String controllerSummary = "new_Summary";
@@ -227,8 +227,21 @@ public class SliceBuilderUtilsTest {
    }

    @Test
    public void testDynamicSummary_returnsSliceEmptyString() {
        final SliceData data = getDummyData(null);
    public void getDynamicSummary_screenTitleMatchesTitle_returnsPrefControllerSummary() {
        final SliceData data = getDummyData("", TITLE);
        final FakePreferenceController controller = spy(
                new FakePreferenceController(mContext, KEY));
        final String controllerSummary = "new_Summary";
        doReturn(controllerSummary).when(controller).getSummary();

        final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);

        assertThat(summary).isEqualTo(controllerSummary);
    }

    @Test
    public void getDynamicSummary_emptyScreenTitle_emptyControllerSummary_returnsEmptyString() {
        final SliceData data = getDummyData(null, null);
        final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
        final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);

@@ -236,8 +249,9 @@ public class SliceBuilderUtilsTest {
    }

    @Test
    public void testDynamicSummary_placeHolderString_returnsEmptyString() {
        final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder));
    public void
    getDynamicSummary_emptyScreenTitle_placeHolderControllerSummary_returnsEmptyString() {
        final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder), null);
        final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
        final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);

@@ -245,9 +259,9 @@ public class SliceBuilderUtilsTest {
    }

    @Test
    public void testDynamicSummary_sliceDataAndFragmentPlaceholder_returnsSliceEmptyString() {
    public void getDynamicSummary_screenTitleAndControllerPlaceholder_returnsSliceEmptyString() {
        final String summaryPlaceholder = mContext.getString(R.string.summary_placeholder);
        final SliceData data = getDummyData(summaryPlaceholder);
        final SliceData data = getDummyData(summaryPlaceholder, summaryPlaceholder);
        final FakePreferenceController controller = spy(
                new FakePreferenceController(mContext, KEY));
        doReturn(summaryPlaceholder).when(controller).getSummary();
@@ -257,18 +271,6 @@ public class SliceBuilderUtilsTest {
        assertThat(summary).isEqualTo("");
    }

    @Test
    public void summaryText_bothDynamicAndStaticSummary_dynamicSummaryReturned() {
        SliceData data = getDummyData("bad_summary");
        FakePreferenceController controller = spy(new FakePreferenceController(mContext, KEY));
        String controllerSummary = "new_Summary";
        doReturn(controllerSummary).when(controller).getSummary();

        CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);

        assertThat(summary).isEqualTo(controllerSummary);
    }

    @Test
    public void getPathData_splitsIntentUri() {
        final Uri uri = new Uri.Builder()
@@ -417,23 +419,24 @@ public class SliceBuilderUtilsTest {
    }

    private SliceData getDummyData() {
        return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH);
        return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE);
    }

    private SliceData getDummyData(String summary) {
        return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH);
    private SliceData getDummyData(String summary, String screenTitle) {
        return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle);
    }

    private SliceData getDummyData(Class prefController, int sliceType) {
        return getDummyData(prefController, SUMMARY, sliceType);
        return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE);
    }

    private SliceData getDummyData(Class prefController, String summary, int sliceType) {
    private SliceData getDummyData(Class prefController, String summary, int sliceType,
            String screenTitle) {
        return new SliceData.Builder()
                .setKey(KEY)
                .setTitle(TITLE)
                .setSummary(summary)
                .setScreenTitle(SCREEN_TITLE)
                .setScreenTitle(screenTitle)
                .setKeywords(KEYWORDS)
                .setIcon(ICON)
                .setFragmentName(FRAGMENT_NAME)