diff options
| author | 2016-05-26 23:38:08 +0000 | |
|---|---|---|
| committer | 2016-05-26 23:38:09 +0000 | |
| commit | 0d35765ca343ae7b04df7a93c233e5b6860eec22 (patch) | |
| tree | 54a85aa53b7803d3ce4707dff6766283cbeaf2c3 | |
| parent | 7bbab7e440c4968a5710d31f86168a4c8de66af9 (diff) | |
| parent | 352d584b20af23a6a99958aafcf8127e6dc09894 (diff) | |
Merge "Handle trampoline activites in different tasks" into nyc-dev
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStarter.java | 11 |
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; |