diff options
author | Adam Powell <adamp@google.com> | 2012-09-24 13:47:39 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2012-09-24 14:28:44 -0700 |
commit | 9ceac5a02f08bc350d6047660ed75019313f4703 (patch) | |
tree | f19f7920d71ab2b72745c2fe341484658c025bea /core/java | |
parent | a850f9a168e79aa247f7bb39f4f43a4c4b0cff79 (diff) | |
download | frameworks_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.java | 6 |
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; |