diff options
author | Adam Powell <adamp@google.com> | 2012-04-05 17:59:33 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-04-05 17:59:33 -0700 |
commit | dab7850012466a80bc1b10f2f1b8c87e7d050227 (patch) | |
tree | 3bfcde8a1ee82022d15537f30f4e715025cc6474 | |
parent | 43504980021dc5baacd94384a0a0823c12b92b1a (diff) | |
parent | 8ab700cbbab60f7a01a86cbf16496e1f34236dd6 (diff) | |
download | frameworks_base-dab7850012466a80bc1b10f2f1b8c87e7d050227.zip frameworks_base-dab7850012466a80bc1b10f2f1b8c87e7d050227.tar.gz frameworks_base-dab7850012466a80bc1b10f2f1b8c87e7d050227.tar.bz2 |
Merge "Fix a bug in TaskStackBuilder where task stack PendingIntents would not clear tasks properly."
-rw-r--r-- | core/java/android/app/TaskStackBuilder.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/app/TaskStackBuilder.java b/core/java/android/app/TaskStackBuilder.java index ee7c6ad..7fd4747 100644 --- a/core/java/android/app/TaskStackBuilder.java +++ b/core/java/android/app/TaskStackBuilder.java @@ -206,7 +206,15 @@ public class TaskStackBuilder implements Iterable<Intent> { * @return The obtained PendingIntent */ public PendingIntent getPendingIntent(int requestCode, int flags) { + if (mIntents.isEmpty()) { + throw new IllegalStateException( + "No intents added to TaskStackBuilder; cannot getPendingIntent"); + } + Intent[] intents = mIntents.toArray(new Intent[mIntents.size()]); + intents[0].addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | + Intent.FLAG_ACTIVITY_CLEAR_TASK | + Intent.FLAG_ACTIVITY_TASK_ON_HOME); return PendingIntent.getActivities(mSourceContext, requestCode, intents, flags); } } |