summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2012-09-24 13:47:39 -0700
committerAdam Powell <adamp@google.com>2012-09-24 14:28:44 -0700
commit9ceac5a02f08bc350d6047660ed75019313f4703 (patch)
treef19f7920d71ab2b72745c2fe341484658c025bea /core/java
parenta850f9a168e79aa247f7bb39f4f43a4c4b0cff79 (diff)
downloadframeworks_base-9ceac5a02f08bc350d6047660ed75019313f4703.zip
frameworks_base-9ceac5a02f08bc350d6047660ed75019313f4703.tar.gz
frameworks_base-9ceac5a02f08bc350d6047660ed75019313f4703.tar.bz2
TaskStackBuilder and intents without an explicit target
When Activity#getParentActivityIntent() returns an Intent without an explicit target, resolve it in order to determine a correct parent stack. Bug 7223318 Change-Id: I3e88129f1e538cc3d932d6b4f735a5bec54bb4ad
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/app/TaskStackBuilder.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/app/TaskStackBuilder.java b/core/java/android/app/TaskStackBuilder.java
index cadf5e4..83f7abf 100644
--- a/core/java/android/app/TaskStackBuilder.java
+++ b/core/java/android/app/TaskStackBuilder.java
@@ -128,7 +128,11 @@ public class TaskStackBuilder {
if (parent != null) {
// We have the actual parent intent, build the rest from static metadata
// then add the direct parent intent to the end.
- addParentStack(parent.getComponent());
+ ComponentName target = parent.getComponent();
+ if (target == null) {
+ target = parent.resolveActivity(mSourceContext.getPackageManager());
+ }
+ addParentStack(target);
addNextIntent(parent);
}
return this;