Uniquely identify Slice intents

PendingIntents were being cached because they had the same
targets and would not differentiate on extras - thus all Slice
intents would go to the same destination as the first intent fired.

Adding the data stops the system from caching the intents.

Change-Id: Ifccab72ed482e22750422c5c36aa6d205c20ae3d
Fixes: 77650727
Test: robotests
This commit is contained in:
Matthew Fritze
2018-04-10 12:35:09 -07:00
parent a9fea25929
commit 59e2d1fff9
3 changed files with 34 additions and 14 deletions

View File

@@ -64,7 +64,7 @@ public class SliceTester {
final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
assertThat(primaryPendingIntent).isEqualTo(
SliceBuilderUtils.getContentIntent(context, sliceData));
SliceBuilderUtils.getContentPendingIntent(context, sliceData));
final List<SliceItem> sliceItems = slice.getItems();
assertTitle(sliceItems, sliceData.getTitle());
@@ -97,7 +97,7 @@ public class SliceTester {
// Check primary intent
final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
assertThat(primaryPendingIntent).isEqualTo(
SliceBuilderUtils.getContentIntent(context, sliceData));
SliceBuilderUtils.getContentPendingIntent(context, sliceData));
final List<SliceItem> sliceItems = slice.getItems();
assertTitle(sliceItems, sliceData.getTitle());
@@ -147,7 +147,7 @@ public class SliceTester {
case DISABLED_FOR_USER:
case DISABLED_DEPENDENT_SETTING:
assertThat(primaryPendingIntent).isEqualTo(
SliceBuilderUtils.getContentIntent(context, sliceData));
SliceBuilderUtils.getContentPendingIntent(context, sliceData));
break;
}