Merge "Remove the Settings search keywords from Slices" into pi-dev am: 26453818b9

am: 7e34ffdb6a

Change-Id: Ib4abbf9c4b4db45ab99846b7377ecaea4c0e9745
This commit is contained in:
Salvador Martinez
2018-05-09 13:45:05 -07:00
committed by android-build-merger
5 changed files with 25 additions and 16 deletions

View File

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

View File

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

View File

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

View File

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

View File

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