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
This commit is contained in:
Fan Zhang
2018-12-04 13:21:24 -08:00
parent 282a0d9222
commit 66d4f77d2e
2 changed files with 5 additions and 6 deletions

View File

@@ -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);
}

View File

@@ -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