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:
@@ -39,7 +39,6 @@ import android.util.Pair;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
@@ -47,6 +46,7 @@ import com.android.settings.core.SliderPreferenceController;
|
||||
import com.android.settings.core.TogglePreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.DatabaseIndexingUtils;
|
||||
import com.android.settingslib.SliceBroadcastRelay;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import android.support.v4.graphics.drawable.IconCompat;
|
||||
@@ -54,6 +54,7 @@ import android.support.v4.graphics.drawable.IconCompat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.builders.ListBuilder;
|
||||
@@ -345,7 +346,10 @@ public class SliceBuilderUtils {
|
||||
final String keywordString = data.getKeywords();
|
||||
if (keywordString != null) {
|
||||
final String[] keywordArray = keywordString.split(",");
|
||||
keywords.addAll(Arrays.asList(keywordArray));
|
||||
final List<String> strippedKeywords = Arrays.stream(keywordArray)
|
||||
.map(s -> s = s.trim())
|
||||
.collect(Collectors.toList());
|
||||
keywords.addAll(strippedKeywords);
|
||||
}
|
||||
|
||||
return keywords;
|
||||
|
Reference in New Issue
Block a user