summaryrefslogtreecommitdiff
path: root/core/java/android/app/TaskStackBuilder.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2012-04-05 17:54:10 -0700
committerAdam Powell <adamp@google.com>2012-04-05 17:54:10 -0700
commit8ab700cbbab60f7a01a86cbf16496e1f34236dd6 (patch)
tree265d8a0dbb1b68a677433e81626f24db1d33531d /core/java/android/app/TaskStackBuilder.java
parent818e7e9c83ade56574a605e54125b4fdb1b91aaf (diff)
Fix a bug in TaskStackBuilder where task stack PendingIntents would
not clear tasks properly. Change-Id: I5a7918fa5e400c160409a45d3e00b32f6f4809aa
Diffstat (limited to 'core/java/android/app/TaskStackBuilder.java')
-rw-r--r--core/java/android/app/TaskStackBuilder.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/app/TaskStackBuilder.java b/core/java/android/app/TaskStackBuilder.java
index ee7c6adfeebb..7fd47474d6b1 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);
}
}