Index SliceType and Official Platform flag
Extend slices_index.db to include SliceType and platform flag. This will be used when we generate a list of all available slices for different authorities & separated intent/action paths. Bug: 62807132 Test: robotests Change-Id: I1cce49d077c02ab79153db9bfdfc894dbab5e16a
This commit is contained in:
@@ -24,6 +24,7 @@ import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.provider.SettingsSlicesContract;
|
||||
import android.util.Pair;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
@@ -188,6 +189,59 @@ public class SliceBuilderUtilsTest {
|
||||
assertThat(summary).isEqualTo(data.getScreenTitle());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPathData_splitsIntentUri() {
|
||||
Uri uri = new Uri.Builder()
|
||||
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
|
||||
.appendPath(SettingsSlicesContract.PATH_SETTING_INTENT)
|
||||
.appendPath(KEY)
|
||||
.build();
|
||||
|
||||
Pair<Boolean, String> pathPair = SliceBuilderUtils.getPathData(uri);
|
||||
|
||||
assertThat(pathPair.first).isFalse();
|
||||
assertThat(pathPair.second).isEqualTo(KEY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPathData_splitsActionUri() {
|
||||
Uri uri = new Uri.Builder()
|
||||
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
|
||||
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
|
||||
.appendPath(KEY)
|
||||
.build();
|
||||
|
||||
Pair<Boolean, String> pathPair = SliceBuilderUtils.getPathData(uri);
|
||||
|
||||
assertThat(pathPair.first).isTrue();
|
||||
assertThat(pathPair.second).isEqualTo(KEY);
|
||||
}
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void getPathData_noKey_returnsNull() {
|
||||
Uri uri = new Uri.Builder()
|
||||
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
|
||||
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
|
||||
.build();
|
||||
|
||||
SliceBuilderUtils.getPathData(uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getPathData_extraArg_returnsNull() {
|
||||
Uri uri = new Uri.Builder()
|
||||
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
|
||||
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
|
||||
.appendPath(KEY)
|
||||
.appendPath(KEY)
|
||||
.build();
|
||||
|
||||
Pair<Boolean, String> pathPair = SliceBuilderUtils.getPathData(uri);
|
||||
|
||||
assertThat(pathPair.first).isTrue();
|
||||
assertThat(pathPair.second).isEqualTo(KEY + "/" + KEY);
|
||||
}
|
||||
|
||||
private SliceData getDummyData() {
|
||||
return getDummyData(PREF_CONTROLLER, SUMMARY);
|
||||
}
|
||||
|
Reference in New Issue
Block a user