import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
/**
return new ListBuilder(context, BLUETOOTH_URI, ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(title)
.addEndItem(toggleSliceAction)
.setPrimaryAction(primarySliceAction))
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
IconCompat.createWithResource(context, R.drawable.ic_signal_flashlight);
return new ListBuilder(context, FLASHLIGHT_URI, ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(context.getText(R.string.power_flashlight))
.setTitleItem(icon, ICON_IMAGE)
.setPrimaryAction(
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
/**
return new ListBuilder(context, LOCATION_URI, ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(title)
.setTitleItem(icon, ICON_IMAGE)
.setPrimaryAction(primarySliceAction))
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
/**
return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
.setAccentColor(Utils.getColorAccentDefaultColor(mContext))
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(getEnhanced4glteModeTitle(subId))
.addEndItem(
new SliceAction(
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
public class ZenModeSliceBuilder {
return new ListBuilder(context, ZEN_MODE_URI, ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(title)
.addEndItem(toggleSliceAction)
.setPrimaryAction(primarySliceAction))
import android.os.Bundle;
import android.provider.SettingsSlicesContract;
import android.text.TextUtils;
+import android.util.ArraySet;
import android.util.Log;
import android.util.Pair;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.InputRangeBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
(TogglePreferenceController) controller;
final SliceAction sliceAction = getToggleAction(context, sliceData,
toggleController.isChecked());
- final List<String> keywords = buildSliceKeywords(sliceData);
+ final Set<String> keywords = buildSliceKeywords(sliceData);
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(rowBuilder -> rowBuilder
+ .addRow(new RowBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(
final IconCompat icon = getSafeIcon(context, sliceData);
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
- final List<String> keywords = buildSliceKeywords(sliceData);
+ final Set<String> keywords = buildSliceKeywords(sliceData);
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(rowBuilder -> rowBuilder
+ .addRow(new RowBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
final SliceAction primaryAction = new SliceAction(contentIntent, icon,
sliceData.getTitle());
- final List<String> keywords = buildSliceKeywords(sliceData);
+ final Set<String> keywords = buildSliceKeywords(sliceData);
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
- .addInputRange(builder -> builder
+ .addInputRange(new InputRangeBuilder()
.setTitle(sliceData.getTitle())
.setSubtitle(subtitleText)
.setPrimaryAction(primaryAction)
|| TextUtils.equals(summary, doublePlaceHolder));
}
- private static List<String> buildSliceKeywords(SliceData data) {
- final List<String> keywords = new ArrayList<>();
+ private static Set<String> buildSliceKeywords(SliceData data) {
+ final Set<String> keywords = new ArraySet<>();
keywords.add(data.getTitle());
private static Slice buildUnavailableSlice(Context context, SliceData data) {
final String title = data.getTitle();
- final List<String> keywords = buildSliceKeywords(data);
+ final Set<String> keywords = buildSliceKeywords(data);
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
final CharSequence summary = context.getText(R.string.disabled_dependent_setting_summary);
final IconCompat icon = IconCompat.createWithResource(context, data.getIconResource());
return new ListBuilder(context, data.getUri(), ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(builder -> builder
+ .addRow(new RowBuilder()
.setTitle(title)
- .setTitleItem(icon)
+ .setTitleItem(icon, ListBuilder.SMALL_IMAGE)
.setSubtitle(summary)
.setPrimaryAction(primaryAction))
.setKeywords(keywords)
import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.ListBuilder.RowBuilder;
import androidx.slice.builders.SliceAction;
/**
return new ListBuilder(context, WIFI_URI, ListBuilder.INFINITY)
.setAccentColor(color)
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(title)
.setSubtitle(summary)
.addEndItem(toggleSliceAction)
return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
.setAccentColor(Utils.getColorAccentDefaultColor(mContext))
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(mContext.getText(R.string.wifi_calling_settings_title))
.addEndItem(
new SliceAction(
// Top row shows information on current preference state
ListBuilder listBuilder = new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
.setAccentColor(Utils.getColorAccentDefaultColor(mContext));
- listBuilder.setHeader(new ListBuilder.HeaderBuilder(listBuilder)
+ listBuilder.setHeader(new ListBuilder.HeaderBuilder()
.setTitle(mContext.getText(R.string.wifi_calling_mode_title))
.setSubtitle(getWifiCallingPreferenceSummary(currentWfcPref))
.setPrimaryAction(new SliceAction(
int preferenceTitleResId, String action, boolean checked) {
final IconCompat icon =
IconCompat.createWithResource(mContext, R.drawable.radio_button_check);
- return new RowBuilder(listBuilder)
+ return new RowBuilder()
.setTitle(mContext.getText(preferenceTitleResId))
.setTitleItem(new SliceAction(getBroadcastIntent(action),
icon, mContext.getText(preferenceTitleResId), checked));
final IconCompat icon = IconCompat.createWithResource(mContext, R.drawable.wifi_signal);
return new ListBuilder(mContext, sliceUri, ListBuilder.INFINITY)
.setAccentColor(Utils.getColorAccentDefaultColor(mContext))
- .addRow(b -> b
+ .addRow(new RowBuilder()
.setTitle(title)
.setSubtitle(subtitle)
.setPrimaryAction(new SliceAction(
import java.util.Set;
import androidx.slice.Slice;
+import androidx.slice.SliceProvider;
+import androidx.slice.widget.SliceLiveData;
+import com.android.settings.R;
/**
* TODO Investigate using ShadowContentResolver.registerProviderInternal(String, ContentProvider)
private static final String SUMMARY = "summary";
private static final String SCREEN_TITLE = "screen title";
private static final String FRAGMENT_NAME = "fragment name";
- private static final int ICON = 1234; // I declare a thumb war
+ private static final int ICON = R.drawable.ic_settings;
private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
private static final String PREF_CONTROLLER = FakeToggleController.class.getName();
mManager = mock(SliceManager.class);
when(mContext.getSystemService(SliceManager.class)).thenReturn(mManager);
when(mManager.getPinnedSlices()).thenReturn(Collections.emptyList());
+
+ SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
}
@After
values.put(SlicesDatabaseHelper.IndexColumns.TITLE, TITLE);
values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, "s");
values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, "s");
- values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, 1234);
+ values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, R.drawable.ic_settings);
values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, "test");
values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, PREF_CONTROLLER);
values.put(SlicesDatabaseHelper.IndexColumns.PLATFORM_SLICE, isPlatformSlice);
private final String SCREEN_TITLE = "screen title";
private final String KEYWORDS = "a, b, c";
private final String FRAGMENT_NAME = "fragment name";
- private final int ICON = 1234; // I declare a thumb war
+ private final int ICON = R.drawable.ic_settings;
private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
private final Class TOGGLE_CONTROLLER = FakeToggleController.class;
private final Class SLIDER_CONTROLLER = FakeSliderController.class;