Don't start recents if no transition is happening

am: 84afb1a967

Change-Id: I611eb5e1c41c1a70e2c5c8d3999b87c1aed28ba8
This commit is contained in:
Jorim Jaggi
2016-09-30 09:07:09 +00:00
committed by android-build-merger
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, void goodToGo(AppWindowAnimator topOpeningAppAnimator, AppWindowAnimator topClosingAppAnimator,
ArraySet<AppWindowToken> openingApps, ArraySet<AppWindowToken> closingApps) { ArraySet<AppWindowToken> openingApps, ArraySet<AppWindowToken> closingApps) {
int appTransition = mNextAppTransition;
mNextAppTransition = TRANSIT_UNSET; mNextAppTransition = TRANSIT_UNSET;
mAppTransitionState = APP_STATE_RUNNING; mAppTransitionState = APP_STATE_RUNNING;
notifyAppTransitionStartingLocked( notifyAppTransitionStartingLocked(
@@ -382,7 +383,7 @@ public class AppTransition implements Dump {
topOpeningAppAnimator != null ? topOpeningAppAnimator.animation : null, topOpeningAppAnimator != null ? topOpeningAppAnimator.animation : null,
topClosingAppAnimator != null ? topClosingAppAnimator.animation : null); topClosingAppAnimator != null ? topClosingAppAnimator.animation : null);
mService.getDefaultDisplayContentLocked().getDockedDividerController() mService.getDefaultDisplayContentLocked().getDockedDividerController()
.notifyAppTransitionStarting(openingApps); .notifyAppTransitionStarting(openingApps, appTransition);
// Prolong the start for the transition when docking a task from recents, unless recents // Prolong the start for the transition when docking a task from recents, unless recents
// ended it already then we don't need to wait. // 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 android.view.WindowManager.DOCKED_TOP;
import static com.android.server.wm.AppTransition.DEFAULT_APP_TRANSITION_DURATION; 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.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_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowManagerService.H.NOTIFY_DOCKED_STACK_MINIMIZED_CHANGED; 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 */); checkMinimizeChanged(false /* animate */);
} }
void notifyAppTransitionStarting(ArraySet<AppWindowToken> openingApps) { void notifyAppTransitionStarting(ArraySet<AppWindowToken> openingApps, int appTransition) {
final boolean wasMinimized = mMinimizedDock; final boolean wasMinimized = mMinimizedDock;
checkMinimizeChanged(true /* animate */); checkMinimizeChanged(true /* animate */);
@@ -502,7 +503,8 @@ public class DockedStackDividerController implements DimLayerUser {
// any case that was missed in ActivityStarter.postStartActivityUncheckedProcessing because // 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 // we couldn't retrace the launch of the app in the docked stack to the launch from
// homescreen. // homescreen.
if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps)) { if (wasMinimized && mMinimizedDock && containsAppInDockedStack(openingApps)
&& appTransition != TRANSIT_NONE) {
mService.showRecentApps(true /* fromHome */); mService.showRecentApps(true /* fromHome */);
} }
} }