Add Wifi Slice
Add a custom Wifi Slice to the Settings Slice Provider. It needs a custom Slice because of the complicated listener logic in the MasterSwitchPreferenceController, which makes it hard to work-in synchronous set/get logic. The one-off Slice requires extra changes, including: - Including it in getDescendants - Handling changes to wifi by the framework This is the first change that uses SettingsLib's broadcast relay, which allows settings to (un)register IntentFilters to a Uri, allowing Settings Slices affected by the framework (quicksettings, connectivity related, volume, etc) to be updated without action on the Slice. Fixes: 70622039 Fixes: 67997332 Test: robotests Change-Id: Ia76738dd6baacd5522d52df2c61ebad86a600282 Merged-In: Ibfe4736beecb833e3f6bb871b2eb5228a5fd3a34
This commit is contained in:
@@ -35,6 +35,7 @@ import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.SliceItem;
|
||||
@@ -211,7 +212,7 @@ public class SliceTester {
|
||||
assertKeywords(metadata, sliceData);
|
||||
}
|
||||
|
||||
private static void assertTitle(List<SliceItem> sliceItems, String title) {
|
||||
public static void assertTitle(List<SliceItem> sliceItems, String title) {
|
||||
boolean hasTitle = false;
|
||||
for (SliceItem item : sliceItems) {
|
||||
List<SliceItem> titleItems = SliceQuery.findAll(item, FORMAT_TEXT, HINT_TITLE,
|
||||
@@ -230,8 +231,9 @@ public class SliceTester {
|
||||
|
||||
private static void assertKeywords(SliceMetadata metadata, SliceData data) {
|
||||
final List<String> keywords = metadata.getSliceKeywords();
|
||||
final Set<String> expectedKeywords = new HashSet<>(
|
||||
Arrays.asList(data.getKeywords().split(",")));
|
||||
final Set<String> expectedKeywords = Arrays.stream(data.getKeywords().split(","))
|
||||
.map(s -> s = s.trim())
|
||||
.collect(Collectors.toSet());
|
||||
expectedKeywords.add(data.getTitle());
|
||||
expectedKeywords.add(data.getScreenTitle().toString());
|
||||
assertThat(keywords).containsExactlyElementsIn(expectedKeywords);
|
||||
|
Reference in New Issue
Block a user