Loading services/java/com/android/server/wm/DimAnimator.java +7 −0 Original line number Diff line number Diff line Loading @@ -212,5 +212,12 @@ class DimAnimator { mDimHeight = dimHeight; mDimTarget = dimTarget; } Parameters(Parameters o) { mDimWinAnimator = o.mDimWinAnimator; mDimWidth = o.mDimWidth; mDimHeight = o.mDimHeight; mDimTarget = o.mDimTarget; } } } services/java/com/android/server/wm/WindowAnimator.java +27 −26 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ public class WindowAnimator { // Set the new DimAnimator params. DimAnimator.Parameters dimParams = layoutToAnim.mDimParams; if (dimParams == null) { mDimParams = dimParams; mDimParams = null; } else { final WindowStateAnimator newWinAnimator = dimParams.mDimWinAnimator; Loading @@ -187,7 +187,7 @@ public class WindowAnimator { if (newWinAnimator.mSurfaceShown && (existingDimWinAnimator == null || !existingDimWinAnimator.mSurfaceShown || existingDimWinAnimator.mAnimLayer < newWinAnimator.mAnimLayer)) { mDimParams = dimParams; mDimParams = new DimAnimator.Parameters(dimParams); } } Loading Loading @@ -559,15 +559,6 @@ public class WindowAnimator { private void performAnimationsLocked(final WinAnimatorList winAnimatorList) { updateWindowsLocked(winAnimatorList); updateWallpaperLocked(winAnimatorList); for (int i = mPendingLayoutChanges.size() - 1; i >= 0; i--) { if ((mPendingLayoutChanges.valueAt(i) & WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER) != 0) { mPendingActions |= WALLPAPER_ACTION_PENDING; } } testTokenMayBeDrawnLocked(); } // TODO(cmautner): Change the following comment when no longer locked on mWindowMap */ Loading @@ -576,12 +567,7 @@ public class WindowAnimator { if (!mInitialized) { return; } for (int i = mWinAnimatorLists.size() - 1; i >= 0; i--) { animateLocked(mWinAnimatorLists.get(i)); } } private void animateLocked(final WinAnimatorList winAnimatorList) { mPendingLayoutChanges.clear(); mCurrentTime = SystemClock.uptimeMillis(); mBulkUpdateParams = SET_ORIENTATION_CHANGE_COMPLETE; Loading @@ -591,25 +577,31 @@ public class WindowAnimator { Slog.i(TAG, "!!! animate: entry time=" + mCurrentTime); } // Update animations of all applications, including those // associated with exiting/removed apps if (WindowManagerService.SHOW_TRANSACTIONS) Slog.i( TAG, ">>> OPEN TRANSACTION animateLocked"); Surface.openTransaction(); try { updateWindowsAppsAndRotationAnimationsLocked(); for (int i = mWinAnimatorLists.size() - 1; i >= 0; i--) { final WinAnimatorList winAnimatorList = mWinAnimatorLists.get(i); // Update animations of all applications, including those // associated with exiting/removed apps performAnimationsLocked(winAnimatorList); // THIRD LOOP: Update the surfaces of all windows. final int N = winAnimatorList.size(); for (int j = 0; j < N; j++) { winAnimatorList.get(j).prepareSurfaceLocked(true); } } testTokenMayBeDrawnLocked(); if (mScreenRotationAnimation != null) { mScreenRotationAnimation.updateSurfacesInTransaction(); } final int N = winAnimatorList.size(); for (int i = 0; i < N; i++) { winAnimatorList.get(i).prepareSurfaceLocked(true); } if (mDimParams != null) { mDimAnimator.updateParameters(mContext.getResources(), mDimParams, mCurrentTime); } Loading @@ -634,6 +626,15 @@ public class WindowAnimator { Log.wtf(TAG, "Unhandled exception in Window Manager", e); } finally { Surface.closeTransaction(); if (WindowManagerService.SHOW_TRANSACTIONS) Slog.i( TAG, "<<< CLOSE TRANSACTION animateLocked"); } for (int i = mPendingLayoutChanges.size() - 1; i >= 0; i--) { if ((mPendingLayoutChanges.valueAt(i) & WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER) != 0) { mPendingActions |= WALLPAPER_ACTION_PENDING; } } if (mBulkUpdateParams != 0 || mPendingLayoutChanges.size() > 0) { Loading Loading
services/java/com/android/server/wm/DimAnimator.java +7 −0 Original line number Diff line number Diff line Loading @@ -212,5 +212,12 @@ class DimAnimator { mDimHeight = dimHeight; mDimTarget = dimTarget; } Parameters(Parameters o) { mDimWinAnimator = o.mDimWinAnimator; mDimWidth = o.mDimWidth; mDimHeight = o.mDimHeight; mDimTarget = o.mDimTarget; } } }
services/java/com/android/server/wm/WindowAnimator.java +27 −26 Original line number Diff line number Diff line Loading @@ -176,7 +176,7 @@ public class WindowAnimator { // Set the new DimAnimator params. DimAnimator.Parameters dimParams = layoutToAnim.mDimParams; if (dimParams == null) { mDimParams = dimParams; mDimParams = null; } else { final WindowStateAnimator newWinAnimator = dimParams.mDimWinAnimator; Loading @@ -187,7 +187,7 @@ public class WindowAnimator { if (newWinAnimator.mSurfaceShown && (existingDimWinAnimator == null || !existingDimWinAnimator.mSurfaceShown || existingDimWinAnimator.mAnimLayer < newWinAnimator.mAnimLayer)) { mDimParams = dimParams; mDimParams = new DimAnimator.Parameters(dimParams); } } Loading Loading @@ -559,15 +559,6 @@ public class WindowAnimator { private void performAnimationsLocked(final WinAnimatorList winAnimatorList) { updateWindowsLocked(winAnimatorList); updateWallpaperLocked(winAnimatorList); for (int i = mPendingLayoutChanges.size() - 1; i >= 0; i--) { if ((mPendingLayoutChanges.valueAt(i) & WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER) != 0) { mPendingActions |= WALLPAPER_ACTION_PENDING; } } testTokenMayBeDrawnLocked(); } // TODO(cmautner): Change the following comment when no longer locked on mWindowMap */ Loading @@ -576,12 +567,7 @@ public class WindowAnimator { if (!mInitialized) { return; } for (int i = mWinAnimatorLists.size() - 1; i >= 0; i--) { animateLocked(mWinAnimatorLists.get(i)); } } private void animateLocked(final WinAnimatorList winAnimatorList) { mPendingLayoutChanges.clear(); mCurrentTime = SystemClock.uptimeMillis(); mBulkUpdateParams = SET_ORIENTATION_CHANGE_COMPLETE; Loading @@ -591,25 +577,31 @@ public class WindowAnimator { Slog.i(TAG, "!!! animate: entry time=" + mCurrentTime); } // Update animations of all applications, including those // associated with exiting/removed apps if (WindowManagerService.SHOW_TRANSACTIONS) Slog.i( TAG, ">>> OPEN TRANSACTION animateLocked"); Surface.openTransaction(); try { updateWindowsAppsAndRotationAnimationsLocked(); for (int i = mWinAnimatorLists.size() - 1; i >= 0; i--) { final WinAnimatorList winAnimatorList = mWinAnimatorLists.get(i); // Update animations of all applications, including those // associated with exiting/removed apps performAnimationsLocked(winAnimatorList); // THIRD LOOP: Update the surfaces of all windows. final int N = winAnimatorList.size(); for (int j = 0; j < N; j++) { winAnimatorList.get(j).prepareSurfaceLocked(true); } } testTokenMayBeDrawnLocked(); if (mScreenRotationAnimation != null) { mScreenRotationAnimation.updateSurfacesInTransaction(); } final int N = winAnimatorList.size(); for (int i = 0; i < N; i++) { winAnimatorList.get(i).prepareSurfaceLocked(true); } if (mDimParams != null) { mDimAnimator.updateParameters(mContext.getResources(), mDimParams, mCurrentTime); } Loading @@ -634,6 +626,15 @@ public class WindowAnimator { Log.wtf(TAG, "Unhandled exception in Window Manager", e); } finally { Surface.closeTransaction(); if (WindowManagerService.SHOW_TRANSACTIONS) Slog.i( TAG, "<<< CLOSE TRANSACTION animateLocked"); } for (int i = mPendingLayoutChanges.size() - 1; i >= 0; i--) { if ((mPendingLayoutChanges.valueAt(i) & WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER) != 0) { mPendingActions |= WALLPAPER_ACTION_PENDING; } } if (mBulkUpdateParams != 0 || mPendingLayoutChanges.size() > 0) { Loading