Don't start recents if no transition is happening

Change-Id: I06c65633139a1c0af4c9c2701ec16c42e5a5bb69
Fixes: 31643084
This commit is contained in:
Jorim Jaggi
2016-09-28 14:54:04 +02:00
parent 4e236046ae
commit 84afb1a967
2 changed files with 6 additions and 3 deletions

View File

@@ -374,6 +374,7 @@ public class AppTransition implements Dump {
void goodToGo(AppWindowAnimator topOpeningAppAnimator, AppWindowAnimator topClosingAppAnimator,
ArraySet<AppWindowToken> openingApps, ArraySet<AppWindowToken> closingApps) {
int appTransition = mNextAppTransition;
mNextAppTransition = TRANSIT_UNSET;
mAppTransitionState = APP_STATE_RUNNING;
notifyAppTransitionStartingLocked(
@@ -382,7 +383,7 @@ public class AppTransition implements Dump {
topOpeningAppAnimator != null ? topOpeningAppAnimator.animation : null,
topClosingAppAnimator != null ? topClosingAppAnimator.animation : null);
mService.getDefaultDisplayContentLocked().getDockedDividerController()
.notifyAppTransitionStarting(openingApps);
.notifyAppTransitionStarting(openingApps, appTransition);
// Prolong the start for the transition when docking a task from recents, unless recents
// ended it already then we don't need to wait.

View File

@@ -29,6 +29,7 @@ import static android.view.WindowManager.DOCKED_RIGHT;
import static android.view.WindowManager.DOCKED_TOP;
import static com.android.server.wm.AppTransition.DEFAULT_APP_TRANSITION_DURATION;
import static com.android.server.wm.AppTransition.TOUCH_RESPONSE_INTERPOLATOR;
import static com.android.server.wm.AppTransition.TRANSIT_NONE;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowManagerService.H.NOTIFY_DOCKED_STACK_MINIMIZED_CHANGED;
@@ -493,7 +494,7 @@ public class DockedStackDividerController implements DimLayerUser {
checkMinimizeChanged(false /* animate */);
}
void notifyAppTransitionStarting(ArraySet<AppWindowToken> openingApps) {
void notifyAppTransitionStarting(ArraySet<AppWindowToken> openingApps, int appTransition) {
final boolean wasMinimized = mMinimizedDock;
checkMinimizeChanged(true /* animate */);
@@ -502,7 +503,8 @@ public class DockedStackDividerController implements DimLayerUser {
// any case that was missed in ActivityStarter.postStartActivityUncheckedProcessing because
// we couldn't retrace the launch of the app in the docked stack to the launch from
// homescreen.
if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps)) {
if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps)
&& appTransition != TRANSIT_NONE) {
mService.showRecentApps(true /* fromHome */);
}
}