Loading services/java/com/android/server/wm/ScreenRotationAnimation.java +42 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.wm; import java.io.PrintWriter; import android.content.Context; import android.graphics.Matrix; import android.graphics.PixelFormat; Loading Loading @@ -96,6 +98,46 @@ class ScreenRotationAnimation { final Matrix mTmpMatrix = new Matrix(); final float[] mTmpFloats = new float[9]; public void printTo(String prefix, PrintWriter pw) { pw.print(prefix); pw.print("mSurface="); pw.print(mSurface); pw.print(" mWidth="); pw.print(mWidth); pw.print(" mHeight="); pw.println(mHeight); pw.print(prefix); pw.print("mBlackFrame="); pw.println(mBlackFrame); pw.print(prefix); pw.print("mSnapshotRotation="); pw.print(mSnapshotRotation); pw.print(" mSnapshotDeltaRotation="); pw.print(mSnapshotDeltaRotation); pw.print(" mCurRotation="); pw.println(mCurRotation); pw.print(prefix); pw.print("mOriginalRotation="); pw.print(mOriginalRotation); pw.print(" mOriginalWidth="); pw.print(mOriginalWidth); pw.print(" mOriginalHeight="); pw.println(mOriginalHeight); pw.print(prefix); pw.print("mStarted="); pw.print(mStarted); pw.print(" mAnimRunning="); pw.print(mAnimRunning); pw.print(" mFinishAnimReady="); pw.print(mFinishAnimReady); pw.print(" mFinishAnimStartTime="); pw.println(mFinishAnimStartTime); pw.print(prefix); pw.print("mStartExitAnimation="); pw.print(mStartExitAnimation); pw.print(" "); mStartExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mStartEnterAnimation="); pw.print(mStartEnterAnimation); pw.print(" "); mStartEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mFinishExitAnimation="); pw.print(mFinishExitAnimation); pw.print(" "); mFinishExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mFinishEnterAnimation="); pw.print(mFinishEnterAnimation); pw.print(" "); mFinishEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mRotateExitAnimation="); pw.print(mRotateExitAnimation); pw.print(" "); mRotateExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mRotateEnterAnimation="); pw.print(mRotateEnterAnimation); pw.print(" "); mRotateEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mLastRotateExitAnimation="); pw.print(mLastRotateExitAnimation); pw.print(" "); mLastRotateExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mExitTransformation="); mExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mEnterTransformation="); mEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mSnapshotInitialMatrix="); mSnapshotInitialMatrix.printShortString(pw); pw.print(" mSnapshotFinalMatrix="); mSnapshotFinalMatrix.printShortString(pw); pw.println(); } public ScreenRotationAnimation(Context context, SurfaceSession session, boolean inTransaction, int originalWidth, int originalHeight, int originalRotation) { mContext = context; Loading services/java/com/android/server/wm/WindowManagerService.java +12 −11 Original line number Diff line number Diff line Loading @@ -7636,6 +7636,8 @@ public class WindowManagerService extends IWindowManager.Stub mInnerFields.mAnimating = true; } else { updateRotation = true; mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } } } Loading Loading @@ -8708,7 +8710,7 @@ public class WindowManagerService extends IWindowManager.Stub mInnerFields.mAnimating = false; // SECOND LOOP: Execute animations and update visibility of windows. updateRotation = updateRotation |= updateAppsAndRotationAnimationsLocked(currentTime, innerDw, innerDh); if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** ANIM STEP: seq=" Loading Loading @@ -9012,11 +9014,6 @@ public class WindowManagerService extends IWindowManager.Stub mTurnOnScreen = false; } if (updateRotation && mScreenRotationAnimation != null) { mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } if (updateRotation) { if (DEBUG_ORIENTATION) Slog.d(TAG, "Performing post-rotate rotation"); if (updateRotationUncheckedLocked(false)) { Loading Loading @@ -9387,7 +9384,7 @@ public class WindowManagerService extends IWindowManager.Stub } if (CUSTOM_SCREEN_ROTATION) { if (mScreenRotationAnimation != null && mScreenRotationAnimation.isAnimating()) { if (mScreenRotationAnimation != null) { mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } Loading Loading @@ -9918,10 +9915,14 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" mLastWindowForcedOrientation"); pw.print(mLastWindowForcedOrientation); pw.print(" mForcedAppOrientation="); pw.println(mForcedAppOrientation); pw.print(" mDeferredRotationPauseCount="); pw.println(mDeferredRotationPauseCount); pw.print(" mTraversalScheduled="); pw.print(mTraversalScheduled); if (mScreenRotationAnimation != null) { pw.println(" mScreenRotationAnimation:"); mScreenRotationAnimation.printTo(" ", pw); } pw.print(" mWindowAnimationScale="); pw.print(mWindowAnimationScale); pw.print(" mTransitionWindowAnimationScale="); pw.println(mTransitionAnimationScale); pw.print(" mTransitionWindowAnimationScale="); pw.print(mTransitionAnimationScale); pw.print(" mAnimatorDurationScale="); pw.println(mAnimatorDurationScale); pw.print(" mTraversalScheduled="); pw.print(mTraversalScheduled); pw.print(" mNextAppTransition=0x"); pw.print(Integer.toHexString(mNextAppTransition)); pw.print(" mAppTransitionReady="); pw.println(mAppTransitionReady); Loading Loading
services/java/com/android/server/wm/ScreenRotationAnimation.java +42 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.wm; import java.io.PrintWriter; import android.content.Context; import android.graphics.Matrix; import android.graphics.PixelFormat; Loading Loading @@ -96,6 +98,46 @@ class ScreenRotationAnimation { final Matrix mTmpMatrix = new Matrix(); final float[] mTmpFloats = new float[9]; public void printTo(String prefix, PrintWriter pw) { pw.print(prefix); pw.print("mSurface="); pw.print(mSurface); pw.print(" mWidth="); pw.print(mWidth); pw.print(" mHeight="); pw.println(mHeight); pw.print(prefix); pw.print("mBlackFrame="); pw.println(mBlackFrame); pw.print(prefix); pw.print("mSnapshotRotation="); pw.print(mSnapshotRotation); pw.print(" mSnapshotDeltaRotation="); pw.print(mSnapshotDeltaRotation); pw.print(" mCurRotation="); pw.println(mCurRotation); pw.print(prefix); pw.print("mOriginalRotation="); pw.print(mOriginalRotation); pw.print(" mOriginalWidth="); pw.print(mOriginalWidth); pw.print(" mOriginalHeight="); pw.println(mOriginalHeight); pw.print(prefix); pw.print("mStarted="); pw.print(mStarted); pw.print(" mAnimRunning="); pw.print(mAnimRunning); pw.print(" mFinishAnimReady="); pw.print(mFinishAnimReady); pw.print(" mFinishAnimStartTime="); pw.println(mFinishAnimStartTime); pw.print(prefix); pw.print("mStartExitAnimation="); pw.print(mStartExitAnimation); pw.print(" "); mStartExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mStartEnterAnimation="); pw.print(mStartEnterAnimation); pw.print(" "); mStartEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mFinishExitAnimation="); pw.print(mFinishExitAnimation); pw.print(" "); mFinishExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mFinishEnterAnimation="); pw.print(mFinishEnterAnimation); pw.print(" "); mFinishEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mRotateExitAnimation="); pw.print(mRotateExitAnimation); pw.print(" "); mRotateExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mRotateEnterAnimation="); pw.print(mRotateEnterAnimation); pw.print(" "); mRotateEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mLastRotateExitAnimation="); pw.print(mLastRotateExitAnimation); pw.print(" "); mLastRotateExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mExitTransformation="); mExitTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mEnterTransformation="); mEnterTransformation.printShortString(pw); pw.println(); pw.print(prefix); pw.print("mSnapshotInitialMatrix="); mSnapshotInitialMatrix.printShortString(pw); pw.print(" mSnapshotFinalMatrix="); mSnapshotFinalMatrix.printShortString(pw); pw.println(); } public ScreenRotationAnimation(Context context, SurfaceSession session, boolean inTransaction, int originalWidth, int originalHeight, int originalRotation) { mContext = context; Loading
services/java/com/android/server/wm/WindowManagerService.java +12 −11 Original line number Diff line number Diff line Loading @@ -7636,6 +7636,8 @@ public class WindowManagerService extends IWindowManager.Stub mInnerFields.mAnimating = true; } else { updateRotation = true; mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } } } Loading Loading @@ -8708,7 +8710,7 @@ public class WindowManagerService extends IWindowManager.Stub mInnerFields.mAnimating = false; // SECOND LOOP: Execute animations and update visibility of windows. updateRotation = updateRotation |= updateAppsAndRotationAnimationsLocked(currentTime, innerDw, innerDh); if (DEBUG_APP_TRANSITIONS) Slog.v(TAG, "*** ANIM STEP: seq=" Loading Loading @@ -9012,11 +9014,6 @@ public class WindowManagerService extends IWindowManager.Stub mTurnOnScreen = false; } if (updateRotation && mScreenRotationAnimation != null) { mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } if (updateRotation) { if (DEBUG_ORIENTATION) Slog.d(TAG, "Performing post-rotate rotation"); if (updateRotationUncheckedLocked(false)) { Loading Loading @@ -9387,7 +9384,7 @@ public class WindowManagerService extends IWindowManager.Stub } if (CUSTOM_SCREEN_ROTATION) { if (mScreenRotationAnimation != null && mScreenRotationAnimation.isAnimating()) { if (mScreenRotationAnimation != null) { mScreenRotationAnimation.kill(); mScreenRotationAnimation = null; } Loading Loading @@ -9918,10 +9915,14 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" mLastWindowForcedOrientation"); pw.print(mLastWindowForcedOrientation); pw.print(" mForcedAppOrientation="); pw.println(mForcedAppOrientation); pw.print(" mDeferredRotationPauseCount="); pw.println(mDeferredRotationPauseCount); pw.print(" mTraversalScheduled="); pw.print(mTraversalScheduled); if (mScreenRotationAnimation != null) { pw.println(" mScreenRotationAnimation:"); mScreenRotationAnimation.printTo(" ", pw); } pw.print(" mWindowAnimationScale="); pw.print(mWindowAnimationScale); pw.print(" mTransitionWindowAnimationScale="); pw.println(mTransitionAnimationScale); pw.print(" mTransitionWindowAnimationScale="); pw.print(mTransitionAnimationScale); pw.print(" mAnimatorDurationScale="); pw.println(mAnimatorDurationScale); pw.print(" mTraversalScheduled="); pw.print(mTraversalScheduled); pw.print(" mNextAppTransition=0x"); pw.print(Integer.toHexString(mNextAppTransition)); pw.print(" mAppTransitionReady="); pw.println(mAppTransitionReady); Loading