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

Commit caf745ea authored by Matthew Fritze's avatar Matthew Fritze Committed by android-build-merger
Browse files

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

am: e7f321c3

Change-Id: Ib351491d18ef9fb057fffebf7c1bc2b90c3a917b
parents afb17b6e e7f321c3
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)