diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 5158bdb03ea..be433b7e658 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -279,6 +279,7 @@ public class SliceBuilderUtils { final PendingIntent actionIntent = getSliderAction(context, sliceData); final PendingIntent contentIntent = getContentPendingIntent(context, sliceData); final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource()); + final CharSequence subtitleText = getSubtitleText(context, controller, sliceData); @ColorInt final int color = Utils.getColorAccent(context); final SliceAction primaryAction = new SliceAction(contentIntent, icon, sliceData.getTitle()); @@ -286,12 +287,14 @@ public class SliceBuilderUtils { return new ListBuilder(context, sliceData.getUri(), ListBuilder.INFINITY) .setAccentColor(color) - .addInputRange(builder -> builder + .setHeader(builder -> builder .setTitle(sliceData.getTitle()) + .setSubtitle(subtitleText) + .setPrimaryAction(primaryAction)) + .addInputRange(builder -> builder .setMax(sliderController.getMaxSteps()) .setValue(sliderController.getSliderPosition()) - .setInputAction(actionIntent) - .setPrimaryAction(primaryAction)) + .setInputAction(actionIntent)) .setKeywords(keywords) .build(); } diff --git a/tests/robotests/src/com/android/settings/testutils/SliceTester.java b/tests/robotests/src/com/android/settings/testutils/SliceTester.java index 6653d00c9d8..7dd22aa092a 100644 --- a/tests/robotests/src/com/android/settings/testutils/SliceTester.java +++ b/tests/robotests/src/com/android/settings/testutils/SliceTester.java @@ -150,14 +150,17 @@ public class SliceTester { final int color = colorItem.getInt(); assertThat(color).isEqualTo(Utils.getColorAccent(context)); - final IconCompat expectedToggleIcon = IconCompat.createWithResource(context, + final SliceAction primaryAction = metadata.getPrimaryAction(); + + final IconCompat expectedIcon = IconCompat.createWithResource(context, sliceData.getIconResource()); + assertThat(expectedIcon.toString()).isEqualTo(primaryAction.getIcon().toString()); final long sliceTTL = metadata.getExpiry(); assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY); // Check primary intent - final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction(); + final PendingIntent primaryPendingIntent = primaryAction.getAction(); assertThat(primaryPendingIntent).isEqualTo( SliceBuilderUtils.getContentPendingIntent(context, sliceData));