From 66d4f77d2e56d8fa62789dc26c6f0768a84beece Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 4 Dec 2018 13:21:24 -0800 Subject: [PATCH] Set slice uri as data in PendingIntent. Presenter needs to disambigue multiple slice action PendingIntents, just setting extra is not enough. Bug: 117445451 Test: manual Change-Id: I26e10bc064585e241def72e6b5194c117a9ebc16 --- src/com/android/settings/slices/SliceBuilderUtils.java | 9 +++++---- .../src/com/android/settings/testutils/SliceTester.java | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 9201d03f192..c16a8ba2c1f 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -168,10 +168,11 @@ public class SliceBuilderUtils { * @return {@link PendingIntent} for a non-primary {@link SliceAction}. */ public static PendingIntent getActionIntent(Context context, String action, SliceData data) { - final Intent intent = new Intent(action); - intent.setClass(context, SliceBroadcastReceiver.class); - intent.putExtra(EXTRA_SLICE_KEY, data.getKey()); - intent.putExtra(EXTRA_SLICE_PLATFORM_DEFINED, data.isPlatformDefined()); + final Intent intent = new Intent(action) + .setData(data.getUri()) + .setClass(context, SliceBroadcastReceiver.class) + .putExtra(EXTRA_SLICE_KEY, data.getKey()) + .putExtra(EXTRA_SLICE_PLATFORM_DEFINED, data.isPlatformDefined()); return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, PendingIntent.FLAG_CANCEL_CURRENT); } diff --git a/tests/robotests/src/com/android/settings/testutils/SliceTester.java b/tests/robotests/src/com/android/settings/testutils/SliceTester.java index be4199da2d5..26eeb7196e1 100644 --- a/tests/robotests/src/com/android/settings/testutils/SliceTester.java +++ b/tests/robotests/src/com/android/settings/testutils/SliceTester.java @@ -110,8 +110,6 @@ public class SliceTester { final SliceAction mainToggleAction = toggles.get(0); - final IconCompat expectedToggleIcon = IconCompat.createWithResource(context, - sliceData.getIconResource()); assertThat(mainToggleAction.getIcon()).isNull(); // Check intent in Toggle Action