Merge "Convert xml based API allowDynamicSummaryInSlice to java"
This commit is contained in:
committed by
Android (Google) Code Review
commit
1382660313
@@ -40,4 +40,9 @@ public class FakePreferenceController extends BasePreferenceController {
|
||||
public boolean isSliceable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean useDynamicSliceSummary() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -69,7 +69,6 @@ public class SliceBuilderUtilsTest {
|
||||
private final Class SLIDER_CONTROLLER = FakeSliderController.class;
|
||||
private final Class COPYABLE_CONTROLLER = FakeCopyableController.class;
|
||||
private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
|
||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = false;
|
||||
|
||||
private final String INTENT_PATH = SettingsSlicesContract.PATH_SETTING_INTENT + "/" + KEY;
|
||||
private final String ACTION_PATH = SettingsSlicesContract.PATH_SETTING_ACTION + "/" + KEY;
|
||||
@@ -206,7 +205,7 @@ public class SliceBuilderUtilsTest {
|
||||
|
||||
@Test
|
||||
public void getDynamicSummary_allowDynamicSummary_returnsControllerSummary() {
|
||||
final SliceData data = getDummyData(true /*isDynamicSummaryAllowed*/);
|
||||
final SliceData data = getDummyData();
|
||||
final FakePreferenceController controller = spy(
|
||||
new FakePreferenceController(mContext, KEY));
|
||||
final String controllerSummary = "new_Summary";
|
||||
@@ -219,27 +218,17 @@ public class SliceBuilderUtilsTest {
|
||||
|
||||
@Test
|
||||
public void getDynamicSummary_allowDynamicSummary_nullSummary_returnsNull() {
|
||||
final SliceData data = getDummyData(true /*isDynamicSummaryAllowed*/);
|
||||
final SliceData data = getDummyData();
|
||||
final FakePreferenceController controller = spy(
|
||||
new FakePreferenceController(mContext, KEY));
|
||||
final String controllerSummary = null;
|
||||
doReturn(controllerSummary).when(controller).getSummary();
|
||||
|
||||
doReturn(null).when(controller).getSummary();
|
||||
|
||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||
|
||||
assertThat(summary).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
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.getScreenTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getDynamicSummary_noScreenTitle_returnsPrefControllerSummary() {
|
||||
final SliceData data = getDummyData("", "");
|
||||
@@ -272,17 +261,7 @@ public class SliceBuilderUtilsTest {
|
||||
final FakePreferenceController controller = new FakePreferenceController(mContext, KEY);
|
||||
final CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||
|
||||
assertThat(summary).isEqualTo("");
|
||||
}
|
||||
|
||||
@Test
|
||||
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);
|
||||
|
||||
assertThat(summary).isEqualTo("");
|
||||
assertThat(summary).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -295,7 +274,7 @@ public class SliceBuilderUtilsTest {
|
||||
|
||||
CharSequence summary = SliceBuilderUtils.getSubtitleText(mContext, controller, data);
|
||||
|
||||
assertThat(summary).isEqualTo("");
|
||||
assertThat(summary).isEqualTo(summaryPlaceholder);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -449,7 +428,7 @@ public class SliceBuilderUtilsTest {
|
||||
R.drawable.ic_settings_accent).toIcon().getResId();
|
||||
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
||||
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
||||
IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
||||
null /* unavailableSliceSubtitle */);
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||
@@ -523,7 +502,7 @@ public class SliceBuilderUtilsTest {
|
||||
final String subtitleOfUnavailableSlice = "subtitleOfUnavailableSlice";
|
||||
final SliceData data = getDummyData(FakeUnavailablePreferenceController.class,
|
||||
SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE, 0 /* icon */,
|
||||
IS_DYNAMIC_SUMMARY_ALLOWED, subtitleOfUnavailableSlice);
|
||||
subtitleOfUnavailableSlice);
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||
@@ -551,32 +530,26 @@ public class SliceBuilderUtilsTest {
|
||||
|
||||
private SliceData getDummyData() {
|
||||
return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
|
||||
ICON, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
||||
}
|
||||
|
||||
private SliceData getDummyData(boolean isDynamicSummaryAllowed) {
|
||||
return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
|
||||
ICON, isDynamicSummaryAllowed, null /* unavailableSliceSubtitle */);
|
||||
ICON, null /* unavailableSliceSubtitle */);
|
||||
}
|
||||
|
||||
private SliceData getDummyData(Class prefController, int sliceType, int icon) {
|
||||
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE,
|
||||
icon, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
||||
icon, null /* unavailableSliceSubtitle */);
|
||||
}
|
||||
|
||||
private SliceData getDummyData(String summary, String screenTitle) {
|
||||
return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle,
|
||||
ICON, IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
||||
ICON, null /* unavailableSliceSubtitle */);
|
||||
}
|
||||
|
||||
private SliceData getDummyData(Class prefController, int sliceType) {
|
||||
return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE, ICON,
|
||||
IS_DYNAMIC_SUMMARY_ALLOWED, null /* unavailableSliceSubtitle */);
|
||||
null /* unavailableSliceSubtitle */);
|
||||
}
|
||||
|
||||
private SliceData getDummyData(Class prefController, String summary, int sliceType,
|
||||
String screenTitle, int icon, boolean isDynamicSummaryAllowed,
|
||||
String unavailableSliceSubtitle) {
|
||||
String screenTitle, int icon, String unavailableSliceSubtitle) {
|
||||
return new SliceData.Builder()
|
||||
.setKey(KEY)
|
||||
.setTitle(TITLE)
|
||||
@@ -588,7 +561,6 @@ public class SliceBuilderUtilsTest {
|
||||
.setUri(URI)
|
||||
.setPreferenceControllerClassName(prefController.getName())
|
||||
.setSliceType(sliceType)
|
||||
.setDynamicSummaryAllowed(isDynamicSummaryAllowed)
|
||||
.setUnavailableSliceSubtitle(unavailableSliceSubtitle)
|
||||
.build();
|
||||
}
|
||||
|
@@ -124,7 +124,6 @@ public class SliceDataConverterTest {
|
||||
assertThat(fakeSlice.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||
assertThat(fakeSlice.getSliceType()).isEqualTo(SliceData.SliceType.SLIDER);
|
||||
assertThat(fakeSlice.isPlatformDefined()).isTrue(); // from XML
|
||||
assertThat(fakeSlice.isDynamicSummaryAllowed()).isTrue(); // from XML
|
||||
assertThat(fakeSlice.getUnavailableSliceSubtitle()).isEqualTo(
|
||||
"subtitleOfUnavailableSlice"); // from XML
|
||||
}
|
||||
|
@@ -38,7 +38,6 @@ public class SliceDataTest {
|
||||
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
||||
private final int SLICE_TYPE = SliceData.SliceType.SWITCH;
|
||||
private final boolean IS_PLATFORM_DEFINED = true;
|
||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = true;
|
||||
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
||||
|
||||
@Test
|
||||
@@ -55,7 +54,6 @@ public class SliceDataTest {
|
||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
||||
.setSliceType(SLICE_TYPE)
|
||||
.setPlatformDefined(IS_PLATFORM_DEFINED)
|
||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED)
|
||||
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
||||
|
||||
SliceData data = builder.build();
|
||||
@@ -71,7 +69,6 @@ public class SliceDataTest {
|
||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
||||
assertThat(data.getSliceType()).isEqualTo(SLICE_TYPE);
|
||||
assertThat(data.isPlatformDefined()).isEqualTo(IS_PLATFORM_DEFINED);
|
||||
assertThat(data.isDynamicSummaryAllowed()).isEqualTo(IS_DYNAMIC_SUMMARY_ALLOWED);
|
||||
assertThat(data.getUnavailableSliceSubtitle()).isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
||||
}
|
||||
|
||||
@@ -220,31 +217,6 @@ public class SliceDataTest {
|
||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBuilder_noDynamicSummaryAllowed_buildsMatchingObject() {
|
||||
SliceData.Builder builder = new SliceData.Builder()
|
||||
.setKey(KEY)
|
||||
.setTitle(TITLE)
|
||||
.setSummary(SUMMARY)
|
||||
.setScreenTitle(SCREEN_TITLE)
|
||||
.setIcon(ICON)
|
||||
.setFragmentName(FRAGMENT_NAME)
|
||||
.setUri(URI)
|
||||
.setPreferenceControllerClassName(PREF_CONTROLLER);
|
||||
|
||||
SliceData data = builder.build();
|
||||
|
||||
assertThat(data.getKey()).isEqualTo(KEY);
|
||||
assertThat(data.getTitle()).isEqualTo(TITLE);
|
||||
assertThat(data.getSummary()).isEqualTo(SUMMARY);
|
||||
assertThat(data.getScreenTitle()).isEqualTo(SCREEN_TITLE);
|
||||
assertThat(data.getIconResource()).isEqualTo(ICON);
|
||||
assertThat(data.getFragmentClassName()).isEqualTo(FRAGMENT_NAME);
|
||||
assertThat(data.getUri()).isEqualTo(URI);
|
||||
assertThat(data.getPreferenceController()).isEqualTo(PREF_CONTROLLER);
|
||||
assertThat(data.isDynamicSummaryAllowed()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEquality_identicalObjects() {
|
||||
SliceData.Builder builder = new SliceData.Builder()
|
||||
@@ -255,8 +227,7 @@ public class SliceDataTest {
|
||||
.setIcon(ICON)
|
||||
.setFragmentName(FRAGMENT_NAME)
|
||||
.setUri(URI)
|
||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED);
|
||||
.setPreferenceControllerClassName(PREF_CONTROLLER);
|
||||
|
||||
SliceData dataOne = builder.build();
|
||||
SliceData dataTwo = builder.build();
|
||||
|
@@ -108,14 +108,13 @@ public class SlicesDatabaseAccessorTest {
|
||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
||||
assertThat(data.getUri()).isNull();
|
||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||
assertThat(data.isDynamicSummaryAllowed()).isFalse(); /* default value */
|
||||
assertThat(data.getUnavailableSliceSubtitle()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSliceDataFromKey_allowDynamicSummary_validSliceReturned() {
|
||||
String key = "key";
|
||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
||||
insertSpecialCase(key, true /* isPlatformSlice */,
|
||||
null /* customizedUnavailableSliceSubtitle */);
|
||||
|
||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||
@@ -129,27 +128,6 @@ public class SlicesDatabaseAccessorTest {
|
||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
||||
assertThat(data.getUri()).isNull();
|
||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||
assertThat(data.isDynamicSummaryAllowed()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSliceDataFromKey_doNotAllowDynamicSummary_validSliceReturned() {
|
||||
String key = "key";
|
||||
insertSpecialCase(key, true /* isPlatformSlice */, false /* isDynamicSummaryAllowed */,
|
||||
null /* customizedUnavailableSliceSubtitle */);
|
||||
|
||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||
|
||||
assertThat(data.getKey()).isEqualTo(key);
|
||||
assertThat(data.getTitle()).isEqualTo(FAKE_TITLE);
|
||||
assertThat(data.getSummary()).isEqualTo(FAKE_SUMMARY);
|
||||
assertThat(data.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
|
||||
assertThat(data.getKeywords()).isEqualTo(FAKE_KEYWORDS);
|
||||
assertThat(data.getIconResource()).isEqualTo(FAKE_ICON);
|
||||
assertThat(data.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_NAME);
|
||||
assertThat(data.getUri()).isNull();
|
||||
assertThat(data.getPreferenceController()).isEqualTo(FAKE_CONTROLLER_NAME);
|
||||
assertThat(data.isDynamicSummaryAllowed()).isFalse();
|
||||
}
|
||||
|
||||
@Test(expected = IllegalStateException.class)
|
||||
@@ -249,7 +227,7 @@ public class SlicesDatabaseAccessorTest {
|
||||
@Test
|
||||
public void testGetSliceDataFromKey_defaultUnavailableSlice_validSliceReturned() {
|
||||
String key = "key";
|
||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
||||
insertSpecialCase(key, true /* isPlatformSlice */,
|
||||
null /* customizedUnavailableSliceSubtitle */);
|
||||
|
||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||
@@ -270,8 +248,7 @@ public class SlicesDatabaseAccessorTest {
|
||||
public void testGetSliceDataFromKey_customizeSubtitleOfUnavailableSlice_validSliceReturned() {
|
||||
String key = "key";
|
||||
String subtitle = "subtitle";
|
||||
insertSpecialCase(key, true /* isPlatformSlice */, true /* isDynamicSummaryAllowed */,
|
||||
subtitle);
|
||||
insertSpecialCase(key, true /* isPlatformSlice */, subtitle);
|
||||
|
||||
SliceData data = mAccessor.getSliceDataFromKey(key);
|
||||
|
||||
@@ -292,12 +269,11 @@ public class SlicesDatabaseAccessorTest {
|
||||
}
|
||||
|
||||
private void insertSpecialCase(String key, boolean isPlatformSlice) {
|
||||
insertSpecialCase(key, isPlatformSlice, false /* isDynamicSummaryAllowed */,
|
||||
null /*customizedUnavailableSliceSubtitle*/);
|
||||
insertSpecialCase(key, isPlatformSlice, null /*customizedUnavailableSliceSubtitle*/);
|
||||
}
|
||||
|
||||
private void insertSpecialCase(String key, boolean isPlatformSlice,
|
||||
boolean isDynamicSummaryAllowed, String customizedUnavailableSliceSubtitle) {
|
||||
String customizedUnavailableSliceSubtitle) {
|
||||
ContentValues values = new ContentValues();
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
|
||||
@@ -308,8 +284,6 @@ public class SlicesDatabaseAccessorTest {
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
||||
isDynamicSummaryAllowed);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
|
||||
values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||
customizedUnavailableSliceSubtitle);
|
||||
|
@@ -74,7 +74,6 @@ public class SlicesDatabaseHelperTest {
|
||||
IndexColumns.CONTROLLER,
|
||||
IndexColumns.PLATFORM_SLICE,
|
||||
IndexColumns.SLICE_TYPE,
|
||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE,
|
||||
IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
|
||||
};
|
||||
|
||||
|
@@ -53,7 +53,6 @@ public class SlicesIndexerTest {
|
||||
private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
|
||||
private final String PREF_CONTROLLER = "com.android.settings.slices.tester";
|
||||
private final boolean PLATFORM_DEFINED = true;
|
||||
private final boolean IS_DYNAMIC_SUMMARY_ALLOWED = true;
|
||||
private final int SLICE_TYPE = SliceData.SliceType.SLIDER;
|
||||
private final String UNAVAILABLE_SLICE_SUBTITLE = "subtitleOfUnavailableSlice";
|
||||
|
||||
@@ -142,10 +141,6 @@ public class SlicesIndexerTest {
|
||||
.isEqualTo(1 /* true */);
|
||||
assertThat(cursor.getInt(cursor.getColumnIndex(IndexColumns.SLICE_TYPE)))
|
||||
.isEqualTo(SLICE_TYPE);
|
||||
assertThat(cursor.getInt(
|
||||
cursor.getColumnIndex(
|
||||
IndexColumns.ALLOW_DYNAMIC_SUMMARY_IN_SLICE)))
|
||||
.isEqualTo(1 /* true */);
|
||||
assertThat(cursor.getString(
|
||||
cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE)))
|
||||
.isEqualTo(UNAVAILABLE_SLICE_SUBTITLE);
|
||||
@@ -183,7 +178,6 @@ public class SlicesIndexerTest {
|
||||
.setPreferenceControllerClassName(PREF_CONTROLLER)
|
||||
.setPlatformDefined(PLATFORM_DEFINED)
|
||||
.setSliceType(SLICE_TYPE)
|
||||
.setDynamicSummaryAllowed(IS_DYNAMIC_SUMMARY_ALLOWED)
|
||||
.setUnavailableSliceSubtitle(UNAVAILABLE_SLICE_SUBTITLE);
|
||||
|
||||
for (int i = 0; i < KEYS.length; i++) {
|
||||
|
Reference in New Issue
Block a user