summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorim Jaggi <jjaggi@google.com> 2016-05-26 23:38:08 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-05-26 23:38:09 +0000
commit0d35765ca343ae7b04df7a93c233e5b6860eec22 (patch)
tree54a85aa53b7803d3ce4707dff6766283cbeaf2c3
parent7bbab7e440c4968a5710d31f86168a4c8de66af9 (diff)
parent352d584b20af23a6a99958aafcf8127e6dc09894 (diff)
Merge "Handle trampoline activites in different tasks" into nyc-dev
-rw-r--r--services/core/java/com/android/server/am/ActivityStarter.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java
index dc4d7b1d8a05..710193776b87 100644
--- a/services/core/java/com/android/server/am/ActivityStarter.java
+++ b/services/core/java/com/android/server/am/ActivityStarter.java
@@ -558,7 +558,16 @@ class ActivityStarter {
startedActivityStackId = mTargetStack.mStackId;
}
- if (startedActivityStackId == DOCKED_STACK_ID && prevFocusedStackId == HOME_STACK_ID) {
+ // If we launched the activity from a no display activity that was launched from the home
+ // screen, we also need to start recents to un-minimize the docked stack, since the
+ // noDisplay activity will be finished shortly after.
+ // TODO: We should prevent noDisplay activities from affecting task/stack ordering and
+ // visibility instead of using this flag.
+ final boolean noDisplayActivityOverHome = mSourceRecord != null
+ && mSourceRecord.noDisplay
+ && mSourceRecord.task.getTaskToReturnTo() == HOME_ACTIVITY_TYPE;
+ if (startedActivityStackId == DOCKED_STACK_ID
+ && (prevFocusedStackId == HOME_STACK_ID || noDisplayActivityOverHome)) {
final ActivityStack homeStack = mSupervisor.getStack(HOME_STACK_ID);
final ActivityRecord topActivityHomeStack = homeStack != null
? homeStack.topRunningActivityLocked() : null;