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

Commit 647be5fc authored by Matthew Fritze's avatar Matthew Fritze
Browse files

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
parent c4a3393b
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -283,18 +283,21 @@ public class SliceBuilderUtils {
        final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
        final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
        @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
        final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
        final SliceAction primaryAction = new SliceAction(contentIntent, icon,
                sliceData.getTitle());
        final List<String> keywords = buildSliceKeywords(sliceData);

        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();
    }
+5 −2
Original line number Diff line number Diff line
@@ -150,14 +150,17 @@ public class SliceTester {
        final int color = colorItem.getInt();
        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());
        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));