Loading services/core/java/com/android/server/wm/ActivityRecord.java +11 −16 Original line number Diff line number Diff line Loading @@ -5443,14 +5443,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A */ private void postApplyAnimation(boolean visible, boolean fromTransition) { final boolean usingShellTransitions = mTransitionController.isShellTransitionsEnabled(); final boolean delayed = isAnimating(PARENTS | CHILDREN, final boolean delayed = !usingShellTransitions && isAnimating(PARENTS | CHILDREN, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_WINDOW_ANIMATION | ANIMATION_TYPE_RECENTS); if (!delayed) { if (!delayed && !usingShellTransitions) { // We aren't delayed anything, but exiting windows rely on the animation finished // callback being called in case the ActivityRecord was pretending to be delayed, // which we might have done because we were in closing/opening apps list. if (!usingShellTransitions) { onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, null /* AnimationAdapter */); if (visible) { // The token was made immediately visible, there will be no entrance animation. Loading @@ -5459,10 +5458,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mWmService.mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked( token); } } else { // update wallpaper target setAppLayoutChanges(FINISH_LAYOUT_REDO_WALLPAPER, "ActivityRecord"); } } // If we're becoming visible, immediately change client visibility as well. there seem Loading @@ -5470,8 +5465,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // updated. // If we're becoming invisible, update the client visibility if we are not running an // animation. Otherwise, we'll update client visibility in onAnimationFinished. if (visible || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS) || usingShellTransitions) { if (visible || usingShellTransitions || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)) { setClientVisible(visible); } Loading services/core/java/com/android/server/wm/KeyguardController.java +7 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_SHADE; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM; import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS; Loading Loading @@ -651,6 +652,12 @@ class KeyguardController { mRequestDismissKeyguard = lastDismissKeyguardActivity != mDismissingKeyguardActivity && !mOccluded && !mKeyguardGoingAway && mDismissingKeyguardActivity != null; if (mOccluded && mKeyguardShowing && !display.isSleeping() && !top.fillsParent() && display.mWallpaperController.getWallpaperTarget() == null) { // The occluding activity may be translucent or not fill screen. Then let wallpaper // to check whether it should set itself as target to avoid blank background. display.pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER; } if (mTopTurnScreenOnActivity != lastTurnScreenOnActivity && mTopTurnScreenOnActivity != null Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +11 −16 Original line number Diff line number Diff line Loading @@ -5443,14 +5443,13 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A */ private void postApplyAnimation(boolean visible, boolean fromTransition) { final boolean usingShellTransitions = mTransitionController.isShellTransitionsEnabled(); final boolean delayed = isAnimating(PARENTS | CHILDREN, final boolean delayed = !usingShellTransitions && isAnimating(PARENTS | CHILDREN, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_WINDOW_ANIMATION | ANIMATION_TYPE_RECENTS); if (!delayed) { if (!delayed && !usingShellTransitions) { // We aren't delayed anything, but exiting windows rely on the animation finished // callback being called in case the ActivityRecord was pretending to be delayed, // which we might have done because we were in closing/opening apps list. if (!usingShellTransitions) { onAnimationFinished(ANIMATION_TYPE_APP_TRANSITION, null /* AnimationAdapter */); if (visible) { // The token was made immediately visible, there will be no entrance animation. Loading @@ -5459,10 +5458,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mWmService.mActivityManagerAppTransitionNotifier.onAppTransitionFinishedLocked( token); } } else { // update wallpaper target setAppLayoutChanges(FINISH_LAYOUT_REDO_WALLPAPER, "ActivityRecord"); } } // If we're becoming visible, immediately change client visibility as well. there seem Loading @@ -5470,8 +5465,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // updated. // If we're becoming invisible, update the client visibility if we are not running an // animation. Otherwise, we'll update client visibility in onAnimationFinished. if (visible || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS) || usingShellTransitions) { if (visible || usingShellTransitions || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)) { setClientVisible(visible); } Loading
services/core/java/com/android/server/wm/KeyguardController.java +7 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_SHADE; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER; import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER; import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_ATM; import static com.android.server.wm.ActivityTaskManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS; Loading Loading @@ -651,6 +652,12 @@ class KeyguardController { mRequestDismissKeyguard = lastDismissKeyguardActivity != mDismissingKeyguardActivity && !mOccluded && !mKeyguardGoingAway && mDismissingKeyguardActivity != null; if (mOccluded && mKeyguardShowing && !display.isSleeping() && !top.fillsParent() && display.mWallpaperController.getWallpaperTarget() == null) { // The occluding activity may be translucent or not fill screen. Then let wallpaper // to check whether it should set itself as target to avoid blank background. display.pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER; } if (mTopTurnScreenOnActivity != lastTurnScreenOnActivity && mTopTurnScreenOnActivity != null Loading