Inline slider with header
Add a header to the slider slices to allow for a second line of text. This is important to add more context to slices outside of settings. Bug: 80157462 Test: robotests Change-Id: Ida90c9377afb19de320dfce54175f51eee088cfe
This commit is contained in:
@@ -283,18 +283,21 @@ public class SliceBuilderUtils {
|
|||||||
final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
|
final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
|
||||||
final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
|
final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
|
||||||
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
|
@ColorInt final int color = Utils.getColorAccentDefaultColor(context);
|
||||||
|
final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
|
||||||
final SliceAction primaryAction = new SliceAction(contentIntent, icon,
|
final SliceAction primaryAction = new SliceAction(contentIntent, icon,
|
||||||
sliceData.getTitle());
|
sliceData.getTitle());
|
||||||
final List<String> keywords = buildSliceKeywords(sliceData);
|
final List<String> keywords = buildSliceKeywords(sliceData);
|
||||||
|
|
||||||
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
|
return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY)
|
||||||
.setAccentColor(color)
|
.setAccentColor(color)
|
||||||
.addInputRange(builder -> builder
|
.setHeader(builder -> builder
|
||||||
.setTitle(sliceData.getTitle())
|
.setTitle(sliceData.getTitle())
|
||||||
|
.setSubtitle(subtitleText)
|
||||||
|
.setPrimaryAction(primaryAction))
|
||||||
|
.addInputRange(builder -> builder
|
||||||
.setMax(sliderController.getMaxSteps())
|
.setMax(sliderController.getMaxSteps())
|
||||||
.setValue(sliderController.getSliderPosition())
|
.setValue(sliderController.getSliderPosition())
|
||||||
.setInputAction(actionIntent)
|
.setInputAction(actionIntent))
|
||||||
.setPrimaryAction(primaryAction))
|
|
||||||
.setKeywords(keywords)
|
.setKeywords(keywords)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
@@ -150,14 +150,17 @@ public class SliceTester {
|
|||||||
final int color = colorItem.getInt();
|
final int color = colorItem.getInt();
|
||||||
assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
|
assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
|
||||||
|
|
||||||
final IconCompat expectedToggleIcon = IconCompat.createWithResource(context,
|
final SliceAction primaryAction = metadata.getPrimaryAction();
|
||||||
|
|
||||||
|
final IconCompat expectedIcon = IconCompat.createWithResource(context,
|
||||||
sliceData.getIconResource());
|
sliceData.getIconResource());
|
||||||
|
assertThat(expectedIcon.toString()).isEqualTo(primaryAction.getIcon().toString());
|
||||||
|
|
||||||
final long sliceTTL = metadata.getExpiry();
|
final long sliceTTL = metadata.getExpiry();
|
||||||
assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
|
assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
|
||||||
|
|
||||||
// Check primary intent
|
// Check primary intent
|
||||||
final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
|
final PendingIntent primaryPendingIntent = primaryAction.getAction();
|
||||||
assertThat(primaryPendingIntent).isEqualTo(
|
assertThat(primaryPendingIntent).isEqualTo(
|
||||||
SliceBuilderUtils.getContentPendingIntent(context, sliceData));
|
SliceBuilderUtils.getContentPendingIntent(context, sliceData));
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user