Loading services/core/java/com/android/server/wm/DisplayPolicy.java +0 −88 Original line number Diff line number Diff line Loading @@ -81,11 +81,7 @@ import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SCREEN_ON; import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_TIMEOUT; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_ENTER; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_EXIT; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_HIDE; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_PREVIEW_DONE; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_SHOW; import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_ABSENT; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; Loading Loading @@ -1439,90 +1435,6 @@ public class DisplayPolicy { */ int selectAnimation(WindowState win, int transit) { ProtoLog.i(WM_DEBUG_ANIM, "selectAnimation in %s: transit=%d", win, transit); if (win == mStatusBar) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_top_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_top_enter; } } else if (win == mNavigationBar) { if (win.getAttrs().windowAnimations != 0) { return ANIMATION_STYLEABLE; } // This can be on either the bottom or the right or the left. if (mNavigationBarPosition == NAV_BAR_BOTTOM) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { if (mService.mPolicy.isKeyguardShowingAndNotOccluded()) { return R.anim.dock_bottom_exit_keyguard; } else { return R.anim.dock_bottom_exit; } } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_bottom_enter; } } else if (mNavigationBarPosition == NAV_BAR_RIGHT) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_right_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_right_enter; } } else if (mNavigationBarPosition == NAV_BAR_LEFT) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_left_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_left_enter; } } } else if (win == mStatusBarAlt || win == mNavigationBarAlt || win == mClimateBarAlt || win == mExtraNavBarAlt) { if (win.getAttrs().windowAnimations != 0) { return ANIMATION_STYLEABLE; } int pos = (win == mStatusBarAlt) ? mStatusBarAltPosition : mNavigationBarAltPosition; boolean isExitOrHide = transit == TRANSIT_EXIT || transit == TRANSIT_HIDE; boolean isEnterOrShow = transit == TRANSIT_ENTER || transit == TRANSIT_SHOW; switch (pos) { case ALT_BAR_LEFT: if (isExitOrHide) { return R.anim.dock_left_exit; } else if (isEnterOrShow) { return R.anim.dock_left_enter; } break; case ALT_BAR_RIGHT: if (isExitOrHide) { return R.anim.dock_right_exit; } else if (isEnterOrShow) { return R.anim.dock_right_enter; } break; case ALT_BAR_BOTTOM: if (isExitOrHide) { return R.anim.dock_bottom_exit; } else if (isEnterOrShow) { return R.anim.dock_bottom_enter; } break; case ALT_BAR_TOP: if (isExitOrHide) { return R.anim.dock_top_exit; } else if (isEnterOrShow) { return R.anim.dock_top_enter; } break; } } if (transit == TRANSIT_PREVIEW_DONE) { if (win.hasAppShownWindows()) { Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +11 −9 Original line number Diff line number Diff line Loading @@ -602,12 +602,18 @@ class WindowStateAnimator { return true; } final boolean isImeWindow = mWin.mAttrs.type == TYPE_INPUT_METHOD; if (isEntrance && isImeWindow) { if (mWin.mAttrs.type == TYPE_INPUT_METHOD) { mWin.getDisplayContent().adjustForImeIfNeeded(); if (isEntrance) { mWin.setDisplayLayoutNeeded(); mService.mWindowPlacerLocked.requestTraversal(); } } if (mWin.mControllableInsetProvider != null) { // All our animations should be driven by the insets control target. return false; } // Only apply an animation if the display isn't frozen. If it is // frozen, there is no reason to animate and it can cause strange Loading Loading @@ -654,14 +660,10 @@ class WindowStateAnimator { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); mAnimationIsEntrance = isEntrance; } } else if (!isImeWindow) { } else { mWin.cancelAnimation(); } if (!isEntrance && isImeWindow) { mWin.getDisplayContent().adjustForImeIfNeeded(); } return mWin.isAnimating(0 /* flags */, ANIMATION_TYPE_WINDOW_ANIMATION); } Loading Loading
services/core/java/com/android/server/wm/DisplayPolicy.java +0 −88 Original line number Diff line number Diff line Loading @@ -81,11 +81,7 @@ import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ANIM; import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_SCREEN_ON; import static com.android.server.policy.PhoneWindowManager.TOAST_WINDOW_TIMEOUT; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_ENTER; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_EXIT; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_HIDE; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_PREVIEW_DONE; import static com.android.server.policy.WindowManagerPolicy.TRANSIT_SHOW; import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_ABSENT; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; Loading Loading @@ -1439,90 +1435,6 @@ public class DisplayPolicy { */ int selectAnimation(WindowState win, int transit) { ProtoLog.i(WM_DEBUG_ANIM, "selectAnimation in %s: transit=%d", win, transit); if (win == mStatusBar) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_top_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_top_enter; } } else if (win == mNavigationBar) { if (win.getAttrs().windowAnimations != 0) { return ANIMATION_STYLEABLE; } // This can be on either the bottom or the right or the left. if (mNavigationBarPosition == NAV_BAR_BOTTOM) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { if (mService.mPolicy.isKeyguardShowingAndNotOccluded()) { return R.anim.dock_bottom_exit_keyguard; } else { return R.anim.dock_bottom_exit; } } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_bottom_enter; } } else if (mNavigationBarPosition == NAV_BAR_RIGHT) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_right_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_right_enter; } } else if (mNavigationBarPosition == NAV_BAR_LEFT) { if (transit == TRANSIT_EXIT || transit == TRANSIT_HIDE) { return R.anim.dock_left_exit; } else if (transit == TRANSIT_ENTER || transit == TRANSIT_SHOW) { return R.anim.dock_left_enter; } } } else if (win == mStatusBarAlt || win == mNavigationBarAlt || win == mClimateBarAlt || win == mExtraNavBarAlt) { if (win.getAttrs().windowAnimations != 0) { return ANIMATION_STYLEABLE; } int pos = (win == mStatusBarAlt) ? mStatusBarAltPosition : mNavigationBarAltPosition; boolean isExitOrHide = transit == TRANSIT_EXIT || transit == TRANSIT_HIDE; boolean isEnterOrShow = transit == TRANSIT_ENTER || transit == TRANSIT_SHOW; switch (pos) { case ALT_BAR_LEFT: if (isExitOrHide) { return R.anim.dock_left_exit; } else if (isEnterOrShow) { return R.anim.dock_left_enter; } break; case ALT_BAR_RIGHT: if (isExitOrHide) { return R.anim.dock_right_exit; } else if (isEnterOrShow) { return R.anim.dock_right_enter; } break; case ALT_BAR_BOTTOM: if (isExitOrHide) { return R.anim.dock_bottom_exit; } else if (isEnterOrShow) { return R.anim.dock_bottom_enter; } break; case ALT_BAR_TOP: if (isExitOrHide) { return R.anim.dock_top_exit; } else if (isEnterOrShow) { return R.anim.dock_top_enter; } break; } } if (transit == TRANSIT_PREVIEW_DONE) { if (win.hasAppShownWindows()) { Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +11 −9 Original line number Diff line number Diff line Loading @@ -602,12 +602,18 @@ class WindowStateAnimator { return true; } final boolean isImeWindow = mWin.mAttrs.type == TYPE_INPUT_METHOD; if (isEntrance && isImeWindow) { if (mWin.mAttrs.type == TYPE_INPUT_METHOD) { mWin.getDisplayContent().adjustForImeIfNeeded(); if (isEntrance) { mWin.setDisplayLayoutNeeded(); mService.mWindowPlacerLocked.requestTraversal(); } } if (mWin.mControllableInsetProvider != null) { // All our animations should be driven by the insets control target. return false; } // Only apply an animation if the display isn't frozen. If it is // frozen, there is no reason to animate and it can cause strange Loading Loading @@ -654,14 +660,10 @@ class WindowStateAnimator { Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); mAnimationIsEntrance = isEntrance; } } else if (!isImeWindow) { } else { mWin.cancelAnimation(); } if (!isEntrance && isImeWindow) { mWin.getDisplayContent().adjustForImeIfNeeded(); } return mWin.isAnimating(0 /* flags */, ANIMATION_TYPE_WINDOW_ANIMATION); } Loading