Merge "Return back-up slices for unavailable settings" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
362ba01789
@@ -0,0 +1,21 @@
|
||||
package com.android.settings.slices;
|
||||
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
|
||||
public class FakeUnavailablePreferenceController extends BasePreferenceController {
|
||||
|
||||
public static final String AVAILABILITY_KEY = "fake_availability_key";
|
||||
|
||||
public FakeUnavailablePreferenceController(Context context) {
|
||||
super(context, "key");
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
return Settings.System.getInt(mContext.getContentResolver(),
|
||||
AVAILABILITY_KEY, 0);
|
||||
}
|
||||
}
|
@@ -17,12 +17,14 @@
|
||||
package com.android.settings.slices;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.provider.Settings;
|
||||
import android.provider.SettingsSlicesContract;
|
||||
import android.util.Pair;
|
||||
|
||||
@@ -132,7 +134,7 @@ public class SliceBuilderUtilsTest {
|
||||
@Test
|
||||
public void testGetPreferenceController_buildsMatchingController() {
|
||||
BasePreferenceController controller =
|
||||
SliceBuilderUtils.getPreferenceController(mContext, getDummyData());
|
||||
SliceBuilderUtils.getPreferenceController(mContext, getDummyData());
|
||||
|
||||
assertThat(controller).isInstanceOf(FakeToggleController.class);
|
||||
}
|
||||
@@ -140,7 +142,7 @@ public class SliceBuilderUtilsTest {
|
||||
@Test
|
||||
public void testGetPreferenceController_contextOnly_buildsMatchingController() {
|
||||
BasePreferenceController controller =
|
||||
SliceBuilderUtils.getPreferenceController(mContext, getDummyData(PREF_CONTROLLER2));
|
||||
SliceBuilderUtils.getPreferenceController(mContext, getDummyData(PREF_CONTROLLER2));
|
||||
|
||||
assertThat(controller).isInstanceOf(FakeContextOnlyPreferenceController.class);
|
||||
}
|
||||
@@ -251,6 +253,54 @@ public class SliceBuilderUtilsTest {
|
||||
assertThat(pathPair.second).isEqualTo(KEY + "/" + KEY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnsupportedSlice_validTitleSummary() {
|
||||
SliceData data = getDummyData(FakeUnavailablePreferenceController.class.getName());
|
||||
Settings.System.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.DISABLED_UNSUPPORTED);
|
||||
|
||||
Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisabledForUserSlice_validTitleSummary() {
|
||||
SliceData data = getDummyData(FakeUnavailablePreferenceController.class.getName());
|
||||
Settings.System.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.DISABLED_FOR_USER);
|
||||
|
||||
Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDisabledDependententSettingSlice_validTitleSummary() {
|
||||
SliceData data = getDummyData(FakeUnavailablePreferenceController.class.getName());
|
||||
Settings.System.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.DISABLED_DEPENDENT_SETTING);
|
||||
|
||||
Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnavailableUnknownSlice_validTitleSummary() {
|
||||
SliceData data = getDummyData(FakeUnavailablePreferenceController.class.getName());
|
||||
Settings.System.putInt(mContext.getContentResolver(),
|
||||
FakeUnavailablePreferenceController.AVAILABILITY_KEY,
|
||||
BasePreferenceController.UNAVAILABLE_UNKNOWN);
|
||||
|
||||
Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
}
|
||||
|
||||
private SliceData getDummyData() {
|
||||
return getDummyData(PREF_CONTROLLER, SUMMARY);
|
||||
}
|
||||
|
Reference in New Issue
Block a user