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:
Matthew Fritze
2018-03-02 10:24:42 -08:00
parent b0f251597c
commit 79c6395295
11 changed files with 167 additions and 29 deletions

View File

@@ -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);
}