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

Commit 1045e0be authored by Jason Monk's avatar Jason Monk Committed by Mady Mellor
Browse files

Follow slice API finalization

Test: build
Change-Id: I28d7c23fa23817d1b974f36b74be5512f12ce59c
parent 2606f697
Loading
Loading
Loading
Loading
+16 −11
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import java.util.Date;
import java.util.Locale;
import java.util.concurrent.TimeUnit;

import androidx.core.graphics.drawable.IconCompat;
import androidx.slice.Slice;
import androidx.slice.SliceProvider;
import androidx.slice.builders.ListBuilder;
@@ -127,8 +128,8 @@ public class KeyguardSliceProvider extends SliceProvider implements

    @Override
    public Slice onBindSlice(Uri sliceUri) {
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri);
        builder.addRow(new RowBuilder(builder, mDateUri).setTitle(mLastText));
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri, ListBuilder.INFINITY);
        builder.addRow(new RowBuilder(mDateUri).setTitle(mLastText));
        addNextAlarm(builder);
        addZenMode(builder);
        addPrimaryAction(builder);
@@ -139,10 +140,12 @@ public class KeyguardSliceProvider extends SliceProvider implements
        // Add simple action because API requires it; Keyguard handles presenting
        // its own slices so this action + icon are actually never used.
        PendingIntent pi = PendingIntent.getActivity(getContext(), 0, new Intent(), 0);
        Icon icon = Icon.createWithResource(getContext(), R.drawable.ic_access_alarms_big);
        SliceAction action = new SliceAction(pi, icon, mLastText);
        IconCompat icon = IconCompat.createWithResource(getContext(),
                R.drawable.ic_access_alarms_big);
        SliceAction action = SliceAction.createDeeplink(pi, icon,
                ListBuilder.ICON_IMAGE, mLastText);

        RowBuilder primaryActionRow = new RowBuilder(builder, Uri.parse(KEYGUARD_ACTION_URI))
        RowBuilder primaryActionRow = new RowBuilder(Uri.parse(KEYGUARD_ACTION_URI))
                .setPrimaryAction(action);
        builder.addRow(primaryActionRow);
    }
@@ -152,10 +155,11 @@ public class KeyguardSliceProvider extends SliceProvider implements
            return;
        }

        Icon alarmIcon = Icon.createWithResource(getContext(), R.drawable.ic_access_alarms_big);
        RowBuilder alarmRowBuilder = new RowBuilder(builder, mAlarmUri)
        IconCompat alarmIcon = IconCompat.createWithResource(getContext(),
                R.drawable.ic_access_alarms_big);
        RowBuilder alarmRowBuilder = new RowBuilder(mAlarmUri)
                .setTitle(mNextAlarm)
                .addEndItem(alarmIcon);
                .addEndItem(alarmIcon, ListBuilder.ICON_IMAGE);
        builder.addRow(alarmRowBuilder);
    }

@@ -167,10 +171,11 @@ public class KeyguardSliceProvider extends SliceProvider implements
        if (!isDndSuppressingNotifications()) {
            return;
        }
        RowBuilder dndBuilder = new RowBuilder(builder, mDndUri)
        RowBuilder dndBuilder = new RowBuilder(mDndUri)
                .setContentDescription(getContext().getResources()
                        .getString(R.string.accessibility_quick_settings_dnd))
                .addEndItem(Icon.createWithResource(getContext(), R.drawable.stat_sys_dnd));
                .addEndItem(IconCompat.createWithResource(getContext(), R.drawable.stat_sys_dnd),
                        ListBuilder.ICON_IMAGE);
        builder.addRow(dndBuilder);
    }

+3 −5
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ public class KeyguardSliceViewTest extends SysuiTestCase {

    @Test
    public void showSlice_notifiesListener() {
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri);
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri, ListBuilder.INFINITY);
        AtomicBoolean notified = new AtomicBoolean();
        mKeyguardSliceView.setContentChangeListener(()-> notified.set(true));
        mKeyguardSliceView.onChanged(builder.build());
@@ -74,13 +74,11 @@ public class KeyguardSliceViewTest extends SysuiTestCase {

    @Test
    public void hasHeader_readsSliceData() {
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri);
        ListBuilder builder = new ListBuilder(getContext(), mSliceUri, ListBuilder.INFINITY);
        mKeyguardSliceView.onChanged(builder.build());
        Assert.assertFalse("View should not have a header", mKeyguardSliceView.hasHeader());

        builder.setHeader((ListBuilder.HeaderBuilder headerBuilder) -> {
            headerBuilder.setTitle("header title!");
        });
        builder.setHeader(new ListBuilder.HeaderBuilder().setTitle("header title!"));
        mKeyguardSliceView.onChanged(builder.build());
        Assert.assertTrue("View should have a header", mKeyguardSliceView.hasHeader());
    }
+2 −1
Original line number Diff line number Diff line
@@ -137,7 +137,8 @@ public class KeyguardSliceProviderTest extends SysuiTestCase {

    @Test
    public void addZenMode_addedToSlice() {
        ListBuilder listBuilder = spy(new ListBuilder(getContext(), mProvider.getUri()));
        ListBuilder listBuilder = spy(new ListBuilder(getContext(), mProvider.getUri(),
            ListBuilder.INFINITY));
        mProvider.addZenMode(listBuilder);
        verify(listBuilder, never()).addRow(any(ListBuilder.RowBuilder.class));