Loading services/core/java/com/android/server/wm/WindowManagerService.java +15 −15 Original line number Diff line number Diff line Loading @@ -974,6 +974,7 @@ public class WindowManagerService extends IWindowManager.Stub Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } } /** Listener to notify activity manager about app transitions. */ final WindowManagerInternal.AppTransitionListener mActivityManagerAppTransitionNotifier = new WindowManagerInternal.AppTransitionListener() { Loading @@ -990,7 +991,13 @@ public class WindowManagerService extends IWindowManager.Stub if (atoken == null) { return; } if (atoken.mLaunchTaskBehind) { // While running a recents animation, this will get called early because we show the // recents animation target activity immediately when the animation starts. Defer the // mLaunchTaskBehind updates until recents animation finishes. final boolean isRecentsAnimationTarget = getRecentsAnimationController() != null && getRecentsAnimationController().isTargetApp(atoken); if (atoken.mLaunchTaskBehind && !isRecentsAnimationTarget) { try { mActivityTaskManager.notifyLaunchTaskBehindComplete(atoken.token); } catch (RemoteException e) { Loading @@ -998,15 +1005,9 @@ public class WindowManagerService extends IWindowManager.Stub atoken.mLaunchTaskBehind = false; } else { atoken.updateReportedVisibilityLocked(); if (atoken.mEnteringAnimation) { if (getRecentsAnimationController() != null && getRecentsAnimationController().isTargetApp(atoken)) { // Currently running a recents animation, this will get called early because // we show the recents animation target activity immediately when the // animation starts. In this case, we should defer sending the finished // callback until the animation successfully finishes return; } else { // We should also defer sending the finished callback until the recents animation // successfully finishes. if (atoken.mEnteringAnimation && !isRecentsAnimationTarget) { atoken.mEnteringAnimation = false; try { mActivityTaskManager.notifyEnterAnimationComplete(atoken.token); Loading @@ -1015,7 +1016,6 @@ public class WindowManagerService extends IWindowManager.Stub } } } } }; final ArrayList<AppFreezeListener> mAppFreezeListeners = new ArrayList<>(); Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +15 −15 Original line number Diff line number Diff line Loading @@ -974,6 +974,7 @@ public class WindowManagerService extends IWindowManager.Stub Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } } /** Listener to notify activity manager about app transitions. */ final WindowManagerInternal.AppTransitionListener mActivityManagerAppTransitionNotifier = new WindowManagerInternal.AppTransitionListener() { Loading @@ -990,7 +991,13 @@ public class WindowManagerService extends IWindowManager.Stub if (atoken == null) { return; } if (atoken.mLaunchTaskBehind) { // While running a recents animation, this will get called early because we show the // recents animation target activity immediately when the animation starts. Defer the // mLaunchTaskBehind updates until recents animation finishes. final boolean isRecentsAnimationTarget = getRecentsAnimationController() != null && getRecentsAnimationController().isTargetApp(atoken); if (atoken.mLaunchTaskBehind && !isRecentsAnimationTarget) { try { mActivityTaskManager.notifyLaunchTaskBehindComplete(atoken.token); } catch (RemoteException e) { Loading @@ -998,15 +1005,9 @@ public class WindowManagerService extends IWindowManager.Stub atoken.mLaunchTaskBehind = false; } else { atoken.updateReportedVisibilityLocked(); if (atoken.mEnteringAnimation) { if (getRecentsAnimationController() != null && getRecentsAnimationController().isTargetApp(atoken)) { // Currently running a recents animation, this will get called early because // we show the recents animation target activity immediately when the // animation starts. In this case, we should defer sending the finished // callback until the animation successfully finishes return; } else { // We should also defer sending the finished callback until the recents animation // successfully finishes. if (atoken.mEnteringAnimation && !isRecentsAnimationTarget) { atoken.mEnteringAnimation = false; try { mActivityTaskManager.notifyEnterAnimationComplete(atoken.token); Loading @@ -1015,7 +1016,6 @@ public class WindowManagerService extends IWindowManager.Stub } } } } }; final ArrayList<AppFreezeListener> mAppFreezeListeners = new ArrayList<>(); Loading