Update logic to build slider slice

Return null when slider getMax() <= getMin(), instead of force
build it to make it crash

Fixes: 132657278
Test: RunSettingsRoboTests
Change-Id: I9f3c078ae07522aa8f1cebdee3f73df2d014d6bb
This commit is contained in:
Lei Yu
2019-05-22 13:55:24 -07:00
parent 76cf0dbddd
commit 2837d010ad
3 changed files with 45 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.testutils.FakeCopyableController;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.FakeInvalidSliderController;
import com.android.settings.testutils.FakeSliderController;
import com.android.settings.testutils.FakeToggleController;
import com.android.settings.testutils.FakeUnavailablePreferenceController;
@@ -67,6 +68,7 @@ public class SliceBuilderUtilsTest {
private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
private final Class TOGGLE_CONTROLLER = FakeToggleController.class;
private final Class SLIDER_CONTROLLER = FakeSliderController.class;
private final Class INVALID_SLIDER_CONTROLLER = FakeInvalidSliderController.class;
private final Class COPYABLE_CONTROLLER = FakeCopyableController.class;
private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
@@ -470,6 +472,14 @@ public class SliceBuilderUtilsTest {
assertThat(actualIconResource).isEqualTo(expectedIconResource);
}
@Test
public void buildSliderSlice_invalidSlider_returnNull() {
final SliceData data = getDummyData(INVALID_SLIDER_CONTROLLER, SliceData.SliceType.SLIDER,
0x0 /* icon */);
assertThat(SliceBuilderUtils.buildSlice(mContext, data)).isNull();
}
@Test
public void getSafeIcon_replacesEmptyIconWithSettingsIcon() {
final int settingsIcon = R.drawable.ic_settings_accent;