Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26453818 authored by Salvador Martinez's avatar Salvador Martinez Committed by Android (Google) Code Review
Browse files

Merge "Remove the Settings search keywords from Slices" into pi-dev

parents 9110d29f ff865c89
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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;
+18 −9
Original line number Diff line number Diff line
@@ -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 keywordString = data.getKeywords();
        if (keywordString != null) {
            final String[] keywordArray = keywordString.split(",");
            keywords.addAll(Arrays.asList(keywordArray));
        }

        final String[] keywords = keywordString.split(",");
        return Arrays.asList(keywords);
        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());
+0 −3
Original line number Diff line number Diff line
@@ -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)
+1 −2
Original line number Diff line number Diff line
@@ -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);
+6 −1
Original line number Diff line number Diff line
@@ -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);
    }
}
 No newline at end of file