Merge "Set slice summary text to screentitle first" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e7f321c3c0
@@ -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();
|
||||||
|
|
||||||
|
@@ -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)
|
||||||
|
Reference in New Issue
Block a user