Merge "Remove the Settings search keywords from Slices" into pi-dev am: 26453818b9
am: 7e34ffdb6a
Change-Id: Ib4abbf9c4b4db45ab99846b7377ecaea4c0e9745
This commit is contained in:
@@ -42,7 +42,6 @@ import com.android.settingslib.utils.ThreadUtils;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.WeakHashMap;
|
||||
|
@@ -238,7 +238,7 @@ public class SliceBuilderUtils {
|
||||
(TogglePreferenceController) controller;
|
||||
final SliceAction sliceAction = getToggleAction(context, sliceData,
|
||||
toggleController.isChecked());
|
||||
final List<String> keywords = buildSliceKeywords(sliceData.getKeywords());
|
||||
final List<String> keywords = buildSliceKeywords(sliceData);
|
||||
|
||||
return new ListBuilder(context, sliceData.getUri(), SLICE_TTL_MILLIS)
|
||||
.addRow(rowBuilder -> rowBuilder
|
||||
@@ -256,7 +256,7 @@ public class SliceBuilderUtils {
|
||||
final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
|
||||
final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
|
||||
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
|
||||
final List<String> keywords = buildSliceKeywords(sliceData.getKeywords());
|
||||
final List<String> keywords = buildSliceKeywords(sliceData);
|
||||
|
||||
return new ListBuilder(context, sliceData.getUri(), SLICE_TTL_MILLIS)
|
||||
.addRow(rowBuilder -> rowBuilder
|
||||
@@ -276,7 +276,7 @@ public class SliceBuilderUtils {
|
||||
final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
|
||||
final SliceAction primaryAction = new SliceAction(contentIntent, icon,
|
||||
sliceData.getTitle());
|
||||
final List<String> keywords = buildSliceKeywords(sliceData.getKeywords());
|
||||
final List<String> keywords = buildSliceKeywords(sliceData);
|
||||
|
||||
return new ListBuilder(context, sliceData.getUri(), SLICE_TTL_MILLIS)
|
||||
.addInputRange(builder -> builder
|
||||
@@ -324,19 +324,28 @@ public class SliceBuilderUtils {
|
||||
|| TextUtils.equals(summary, doublePlaceHolder));
|
||||
}
|
||||
|
||||
private static List<String> buildSliceKeywords(String keywordString) {
|
||||
if (keywordString == null) {
|
||||
return new ArrayList<>();
|
||||
private static List<String> buildSliceKeywords(SliceData data) {
|
||||
final List<String> keywords = new ArrayList<>();
|
||||
|
||||
keywords.add(data.getTitle());
|
||||
|
||||
if (!TextUtils.equals(data.getTitle(), data.getScreenTitle())) {
|
||||
keywords.add(data.getScreenTitle().toString());
|
||||
}
|
||||
|
||||
final String[] keywords = keywordString.split(",");
|
||||
return Arrays.asList(keywords);
|
||||
final String keywordString = data.getKeywords();
|
||||
if (keywordString != null) {
|
||||
final String[] keywordArray = keywordString.split(",");
|
||||
keywords.addAll(Arrays.asList(keywordArray));
|
||||
}
|
||||
|
||||
return keywords;
|
||||
}
|
||||
|
||||
private static Slice buildUnavailableSlice(Context context, SliceData data,
|
||||
BasePreferenceController controller) {
|
||||
final String title = data.getTitle();
|
||||
final List<String> keywords = buildSliceKeywords(data.getKeywords());
|
||||
final List<String> keywords = buildSliceKeywords(data);
|
||||
final String summary;
|
||||
final SliceAction primaryAction;
|
||||
final IconCompat icon = IconCompat.createWithResource(context, data.getIconResource());
|
||||
|
@@ -185,7 +185,6 @@ class SliceDataConverter {
|
||||
| MetadataFlag.FLAG_NEED_PREF_TITLE
|
||||
| MetadataFlag.FLAG_NEED_PREF_ICON
|
||||
| MetadataFlag.FLAG_NEED_PREF_SUMMARY
|
||||
| MetadataFlag.FLAG_NEED_KEYWORDS
|
||||
| MetadataFlag.FLAG_NEED_PLATFORM_SLICE_FLAG);
|
||||
|
||||
for (Bundle bundle : metadata) {
|
||||
@@ -198,7 +197,6 @@ class SliceDataConverter {
|
||||
final String key = bundle.getString(METADATA_KEY);
|
||||
final String title = bundle.getString(METADATA_TITLE);
|
||||
final String summary = bundle.getString(METADATA_SUMMARY);
|
||||
final String keywords = bundle.getString(METADATA_KEYWORDS);
|
||||
final int iconResId = bundle.getInt(METADATA_ICON);
|
||||
final int sliceType = SliceBuilderUtils.getSliceType(mContext, controllerClassName,
|
||||
key);
|
||||
@@ -210,7 +208,6 @@ class SliceDataConverter {
|
||||
.setSummary(summary)
|
||||
.setIcon(iconResId)
|
||||
.setScreenTitle(screenTitle)
|
||||
.setKeywords(keywords)
|
||||
.setPreferenceControllerClassName(controllerClassName)
|
||||
.setFragmentName(fragmentName)
|
||||
.setSliceType(sliceType)
|
||||
|
@@ -56,7 +56,6 @@ public class SliceDataConverterTest {
|
||||
private static final String FAKE_TITLE = "title";
|
||||
private static final String FAKE_SUMMARY = "summary";
|
||||
private static final String FAKE_SCREEN_TITLE = "screen_title";
|
||||
private static final String FAKE_KEYWORDS = "a, b, c";
|
||||
private static final String FAKE_FRAGMENT_CLASSNAME = FakeIndexProvider.class.getName();
|
||||
private static final String FAKE_CONTROLLER_NAME = FakePreferenceController.class.getName();
|
||||
private static final String ACCESSIBILITY_FRAGMENT = AccessibilitySettings.class.getName();
|
||||
@@ -118,7 +117,7 @@ public class SliceDataConverterTest {
|
||||
assertThat(fakeSlice.getTitle()).isEqualTo(FAKE_TITLE);
|
||||
assertThat(fakeSlice.getSummary()).isEqualTo(FAKE_SUMMARY);
|
||||
assertThat(fakeSlice.getScreenTitle()).isEqualTo(FAKE_SCREEN_TITLE);
|
||||
assertThat(fakeSlice.getKeywords()).isEqualTo(FAKE_KEYWORDS);
|
||||
assertThat(fakeSlice.getKeywords()).isNull();
|
||||
assertThat(fakeSlice.getIconResource()).isNotNull();
|
||||
assertThat(fakeSlice.getUri()).isNull();
|
||||
assertThat(fakeSlice.getFragmentClassName()).isEqualTo(FAKE_FRAGMENT_CLASSNAME);
|
||||
|
@@ -30,7 +30,9 @@ import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.SliceItem;
|
||||
@@ -188,7 +190,10 @@ public class SliceTester {
|
||||
|
||||
private static void assertKeywords(SliceMetadata metadata, SliceData data) {
|
||||
final List<String> keywords = metadata.getSliceKeywords();
|
||||
final List<String> expectedKeywords = Arrays.asList(data.getKeywords().split(","));
|
||||
final Set<String> expectedKeywords = new HashSet<>(
|
||||
Arrays.asList(data.getKeywords().split(",")));
|
||||
expectedKeywords.add(data.getTitle());
|
||||
expectedKeywords.add(data.getScreenTitle().toString());
|
||||
assertThat(keywords).containsExactlyElementsIn(expectedKeywords);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user