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,
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();

View File

@@ -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)