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

Commit 250e26af 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.

Fixes: 80157462
Test: robotests
Merged-In: Ida90c9377afb19de320dfce54175f51eee088cfe
Change-Id: I1a1be345e84cbd9f300440e6431d4b331d051dac
parent 28dc3917
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -282,6 +282,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());
@@ -289,12 +290,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();
    }
+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.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));