Loading core/java/android/view/IWindow.aidl +2 −1 Original line number Original line Diff line number Diff line Loading @@ -83,7 +83,8 @@ oneway interface IWindow { * The window is beginning to animate. The application should stop drawing frames until the * The window is beginning to animate. The application should stop drawing frames until the * window is not animating anymore, indicated by being called {@link #windowEndAnimating}. * window is not animating anymore, indicated by being called {@link #windowEndAnimating}. * * * @param remainingFrameCount how many frames the app might still draw before stopping drawing * @param remainingFrameCount how many frames the app might still draw before stopping drawing; * pass -1 to let it continue drawing */ */ void onAnimationStarted(int remainingFrameCount); void onAnimationStarted(int remainingFrameCount); Loading core/java/android/view/ViewRootImpl.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5327,7 +5327,7 @@ public final class ViewRootImpl implements ViewParent, } } public void handleDispatchWindowAnimationStarted(int remainingFrameCount) { public void handleDispatchWindowAnimationStarted(int remainingFrameCount) { if (!mDrawDuringWindowsAnimating) { if (!mDrawDuringWindowsAnimating && remainingFrameCount != -1) { mRemainingFrameCount = remainingFrameCount; mRemainingFrameCount = remainingFrameCount; mWindowsAnimating = true; mWindowsAnimating = true; } } Loading services/core/java/com/android/server/wm/WindowAnimator.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -272,8 +272,9 @@ public class WindowAnimator { try { try { if (anyAnimating && !anyWasAnimating) { if (anyAnimating && !anyWasAnimating) { win.mClient.onAnimationStarted( win.mClient.onAnimationStarted(winAnimator.mAnimatingMove ? -1 winAnimator.mKeyguardGoingAwayAnimation ? 1 : 0); : winAnimator.mKeyguardGoingAwayAnimation ? 1 : 0); } else if (!anyAnimating && anyWasAnimating) { } else if (!anyAnimating && anyWasAnimating) { win.mClient.onAnimationStopped(); win.mClient.onAnimationStopped(); } } Loading services/core/java/com/android/server/wm/WindowManagerService.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -10002,6 +10002,7 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.mAnimDw = w.mLastFrame.left - left; winAnimator.mAnimDw = w.mLastFrame.left - left; winAnimator.mAnimDh = w.mLastFrame.top - top; winAnimator.mAnimDh = w.mLastFrame.top - top; winAnimator.mAnimateMove = true; winAnimator.mAnimateMove = true; winAnimator.mAnimatingMove = true; } } //TODO (multidisplay): Accessibility supported only for the default display. //TODO (multidisplay): Accessibility supported only for the default display. Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +7 −0 Original line number Original line Diff line number Diff line Loading @@ -122,7 +122,13 @@ class WindowStateAnimator { // used. // used. int mAnimDw; int mAnimDw; int mAnimDh; int mAnimDh; /** Is the next animation to be started a window move animation? */ boolean mAnimateMove = false; boolean mAnimateMove = false; /** Are we currently running a window move animation? */ boolean mAnimatingMove = false; float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1; float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1; float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1; float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1; Loading Loading @@ -361,6 +367,7 @@ class WindowStateAnimator { mAnimating = false; mAnimating = false; mKeyguardGoingAwayAnimation = false; mKeyguardGoingAwayAnimation = false; mAnimatingMove = false; mLocalAnimating = false; mLocalAnimating = false; if (mAnimation != null) { if (mAnimation != null) { mAnimation.cancel(); mAnimation.cancel(); Loading Loading
core/java/android/view/IWindow.aidl +2 −1 Original line number Original line Diff line number Diff line Loading @@ -83,7 +83,8 @@ oneway interface IWindow { * The window is beginning to animate. The application should stop drawing frames until the * The window is beginning to animate. The application should stop drawing frames until the * window is not animating anymore, indicated by being called {@link #windowEndAnimating}. * window is not animating anymore, indicated by being called {@link #windowEndAnimating}. * * * @param remainingFrameCount how many frames the app might still draw before stopping drawing * @param remainingFrameCount how many frames the app might still draw before stopping drawing; * pass -1 to let it continue drawing */ */ void onAnimationStarted(int remainingFrameCount); void onAnimationStarted(int remainingFrameCount); Loading
core/java/android/view/ViewRootImpl.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -5327,7 +5327,7 @@ public final class ViewRootImpl implements ViewParent, } } public void handleDispatchWindowAnimationStarted(int remainingFrameCount) { public void handleDispatchWindowAnimationStarted(int remainingFrameCount) { if (!mDrawDuringWindowsAnimating) { if (!mDrawDuringWindowsAnimating && remainingFrameCount != -1) { mRemainingFrameCount = remainingFrameCount; mRemainingFrameCount = remainingFrameCount; mWindowsAnimating = true; mWindowsAnimating = true; } } Loading
services/core/java/com/android/server/wm/WindowAnimator.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -272,8 +272,9 @@ public class WindowAnimator { try { try { if (anyAnimating && !anyWasAnimating) { if (anyAnimating && !anyWasAnimating) { win.mClient.onAnimationStarted( win.mClient.onAnimationStarted(winAnimator.mAnimatingMove ? -1 winAnimator.mKeyguardGoingAwayAnimation ? 1 : 0); : winAnimator.mKeyguardGoingAwayAnimation ? 1 : 0); } else if (!anyAnimating && anyWasAnimating) { } else if (!anyAnimating && anyWasAnimating) { win.mClient.onAnimationStopped(); win.mClient.onAnimationStopped(); } } Loading
services/core/java/com/android/server/wm/WindowManagerService.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -10002,6 +10002,7 @@ public class WindowManagerService extends IWindowManager.Stub winAnimator.mAnimDw = w.mLastFrame.left - left; winAnimator.mAnimDw = w.mLastFrame.left - left; winAnimator.mAnimDh = w.mLastFrame.top - top; winAnimator.mAnimDh = w.mLastFrame.top - top; winAnimator.mAnimateMove = true; winAnimator.mAnimateMove = true; winAnimator.mAnimatingMove = true; } } //TODO (multidisplay): Accessibility supported only for the default display. //TODO (multidisplay): Accessibility supported only for the default display. Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +7 −0 Original line number Original line Diff line number Diff line Loading @@ -122,7 +122,13 @@ class WindowStateAnimator { // used. // used. int mAnimDw; int mAnimDw; int mAnimDh; int mAnimDh; /** Is the next animation to be started a window move animation? */ boolean mAnimateMove = false; boolean mAnimateMove = false; /** Are we currently running a window move animation? */ boolean mAnimatingMove = false; float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1; float mDsDx=1, mDtDx=0, mDsDy=0, mDtDy=1; float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1; float mLastDsDx=1, mLastDtDx=0, mLastDsDy=0, mLastDtDy=1; Loading Loading @@ -361,6 +367,7 @@ class WindowStateAnimator { mAnimating = false; mAnimating = false; mKeyguardGoingAwayAnimation = false; mKeyguardGoingAwayAnimation = false; mAnimatingMove = false; mLocalAnimating = false; mLocalAnimating = false; if (mAnimation != null) { if (mAnimation != null) { mAnimation.cancel(); mAnimation.cancel(); Loading