Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +16 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -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()); Loading @@ -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()); } Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java +16 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading
packages/SystemUI/tests/src/com/android/keyguard/KeyguardSliceViewTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -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()); Loading @@ -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()); } Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading