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

am: e7f321c3c0

Change-Id: Ib351491d18ef9fb057fffebf7c1bc2b90c3a917b
This commit is contained in:
Matthew Fritze
2018-05-16 16:08:00 -07:00
committed by android-build-merger
2 changed files with 37 additions and 29 deletions

View File

@@ -190,7 +190,12 @@ public class SliceBuilderUtils {
*/ */
public static CharSequence getSubtitleText(Context context, public static CharSequence getSubtitleText(Context context,
AbstractPreferenceController controller, SliceData sliceData) { AbstractPreferenceController controller, SliceData sliceData) {
CharSequence summaryText; CharSequence summaryText = sliceData.getScreenTitle();
if (isValidSummary(context, summaryText) && !TextUtils.equals(summaryText,
sliceData.getTitle())) {
return summaryText;
}
if (controller != null) { if (controller != null) {
summaryText = controller.getSummary(); summaryText = controller.getSummary();

View File

@@ -204,18 +204,18 @@ public class SliceBuilderUtilsTest {
} }
@Test @Test
public void testDynamicSummary_returnsSliceSummary() { public void getDynamicSummary_returnsScreenTitle() {
final SliceData data = getDummyData(); final SliceData data = getDummyData();
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY); final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
assertThat(summary).isEqualTo(data.getSummary()); assertThat(summary).isEqualTo(data.getScreenTitle());
} }
@Test @Test
public void testDynamicSummary_returnsFragmentSummary() { public void getDynamicSummary_noScreenTitle_returnsPrefControllerSummary() {
final SliceData data = getDummyData(null); final SliceData data = getDummyData("", "");
final FakePreferenceController controller = spy( final FakePreferenceController controller = spy(
new FakePreferenceController(mContext, KEY)); new FakePreferenceController(mContext, KEY));
final String controllerSummary = "new_Summary"; final String controllerSummary = "new_Summary";
@@ -227,8 +227,21 @@ public class SliceBuilderUtilsTest {
} }
@Test @Test
public void testDynamicSummary_returnsSliceEmptyString() { public void getDynamicSummary_screenTitleMatchesTitle_returnsPrefControllerSummary() {
final SliceData data = getDummyData(null); 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 FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
@@ -236,8 +249,9 @@ public class SliceBuilderUtilsTest {
} }
@Test @Test
public void testDynamicSummary_placeHolderString_returnsEmptyString() { public void
final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder)); getDynamicSummary_emptyScreenTitle_placeHolderControllerSummary_returnsEmptyString() {
final SliceData data = getDummyData(mContext.getString(R.string.summary_placeholder), null);
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY); final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data); final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
@@ -245,9 +259,9 @@ public class SliceBuilderUtilsTest {
} }
@Test @Test
public void testDynamicSummary_sliceDataAndFragmentPlaceholder_returnsSliceEmptyString() { public void getDynamicSummary_screenTitleAndControllerPlaceholder_returnsSliceEmptyString() {
final String summaryPlaceholder = mContext.getString(R.string.summary_placeholder); final String summaryPlaceholder = mContext.getString(R.string.summary_placeholder);
final SliceData data = getDummyData(summaryPlaceholder); final SliceData data = getDummyData(summaryPlaceholder, summaryPlaceholder);
final FakePreferenceController controller = spy( final FakePreferenceController controller = spy(
new FakePreferenceController(mContext, KEY)); new FakePreferenceController(mContext, KEY));
doReturn(summaryPlaceholder).when(controller).getSummary(); doReturn(summaryPlaceholder).when(controller).getSummary();
@@ -257,18 +271,6 @@ public class SliceBuilderUtilsTest {
assertThat(summary).isEqualTo(""); 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 @Test
public void getPathData_splitsIntentUri() { public void getPathData_splitsIntentUri() {
final Uri uri = new Uri.Builder() final Uri uri = new Uri.Builder()
@@ -417,23 +419,24 @@ public class SliceBuilderUtilsTest {
} }
private SliceData getDummyData() { 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) { private SliceData getDummyData(String summary, String screenTitle) {
return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH); return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle);
} }
private SliceData getDummyData(Class prefController, int sliceType) { 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() return new SliceData.Builder()
.setKey(KEY) .setKey(KEY)
.setTitle(TITLE) .setTitle(TITLE)
.setSummary(summary) .setSummary(summary)
.setScreenTitle(SCREEN_TITLE) .setScreenTitle(screenTitle)
.setKeywords(KEYWORDS) .setKeywords(KEYWORDS)
.setIcon(ICON) .setIcon(ICON)
.setFragmentName(FRAGMENT_NAME) .setFragmentName(FRAGMENT_NAME)