diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 3e062c8d08f..c54d138e942 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -253,11 +253,7 @@ public class SliceBuilderUtils { @VisibleForTesting static CharSequence getSubtitleText(Context context, AbstractPreferenceController controller, SliceData sliceData) { - CharSequence summaryText = sliceData.getSummary(); - if (isValidSummary(context, summaryText)) { - return summaryText; - } - + CharSequence summaryText; if (controller != null) { summaryText = controller.getSummary(); @@ -266,7 +262,12 @@ public class SliceBuilderUtils { } } - return sliceData.getScreenTitle(); + summaryText = sliceData.getSummary(); + if (isValidSummary(context, summaryText)) { + return summaryText; + } + + return ""; } private static boolean isValidSummary(Context context, CharSequence summary) { diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java index df6be443114..1f3f40ffb04 100644 --- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java @@ -188,26 +188,25 @@ public class SliceBuilderUtilsTest { } @Test - public void testDynamicSummary_returnsSliceScreenTitle() { + public void testDynamicSummary_returnsSliceEmptyString() { final SliceData data = getDummyData((String) null); final FakePreferenceController controller = new FakePreferenceController(mContext, KEY); - final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); - assertThat(summary).isEqualTo(data.getScreenTitle()); + assertThat(summary).isEqualTo(""); } @Test - public void testDynamicSummary_placeHolderString_returnsScreenTitle() { + public void testDynamicSummary_placeHolderString_returnsEmptyString() { final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder)); final FakePreferenceController controller = new FakePreferenceController(mContext, KEY); final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); - assertThat(summary).isEqualTo(data.getScreenTitle()); + assertThat(summary).isEqualTo(""); } @Test - public void testDynamicSummary_sliceDataAndFragmentPlaceholder_returnsSliceScreenTitle() { + public void testDynamicSummary_sliceDataAndFragmentPlaceholder_returnsSliceEmptyString() { final String summaryPlaceholder = mContext.getString(R.string.summary_placeholder); final SliceData data = getDummyData(summaryPlaceholder); final FakePreferenceController controller = spy( @@ -216,7 +215,19 @@ public class SliceBuilderUtilsTest { CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); - assertThat(summary).isEqualTo(data.getScreenTitle()); + 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