Loading services/java/com/android/server/wm/WindowAnimator.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,15 @@ public class WindowAnimator { mPolicy = policy; mPolicy = policy; } } void hideWallpapersLocked() { for (final WindowToken token : mService.mWallpaperTokens) { for (final WindowState wallpaper : token.windows) { wallpaper.mWinAnimator.hide(); } token.hidden = true; } } private void testWallpaperAndBackgroundLocked() { private void testWallpaperAndBackgroundLocked() { if (mWindowDetachedWallpaper != mDetachedWallpaper) { if (mWindowDetachedWallpaper != mDetachedWallpaper) { if (WindowManagerService.DEBUG_WALLPAPER) Slog.v(TAG, if (WindowManagerService.DEBUG_WALLPAPER) Slog.v(TAG, Loading services/java/com/android/server/wm/WindowManagerService.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -3825,7 +3825,8 @@ public class WindowManagerService extends IWindowManager.Stub synchronized(mWindowMap) { synchronized(mWindowMap) { if (DEBUG_APP_TRANSITIONS) Slog.v( if (DEBUG_APP_TRANSITIONS) Slog.v( TAG, "Prepare app transition: transit=" + transit TAG, "Prepare app transition: transit=" + transit + " mNextAppTransition=" + mNextAppTransition); + " mNextAppTransition=" + mNextAppTransition + "\nCallers=" + Debug.getCallers(3)); if (okToDisplay()) { if (okToDisplay()) { if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET || mNextAppTransition == WindowManagerPolicy.TRANSIT_NONE) { || mNextAppTransition == WindowManagerPolicy.TRANSIT_NONE) { Loading Loading @@ -4237,7 +4238,7 @@ public class WindowManagerService extends IWindowManager.Stub e = new RuntimeException(); e = new RuntimeException(); e.fillInStackTrace(); e.fillInStackTrace(); } } Slog.v(TAG, "setAppVisibility(" + token + ", " + visible Slog.v(TAG, "setAppVisibility(" + token + ", visible=" + visible + "): mNextAppTransition=" + mNextAppTransition + "): mNextAppTransition=" + mNextAppTransition + " hidden=" + wtoken.hidden + " hidden=" + wtoken.hidden + " hiddenRequested=" + wtoken.hiddenRequested, e); + " hiddenRequested=" + wtoken.hiddenRequested, e); Loading Loading @@ -7866,8 +7867,10 @@ public class WindowManagerService extends IWindowManager.Stub mToTopApps.clear(); mToTopApps.clear(); } } // if wallpaper is animating in or out set oldWallpaper to null else to wallpaper WindowState oldWallpaper = WindowState oldWallpaper = mWallpaperTarget != null && mWallpaperTarget.mWinAnimator.isAnimating() mWallpaperTarget != null && mWallpaperTarget.mWinAnimator.isAnimating() && !mWallpaperTarget.mWinAnimator.isDummyAnimation() ? null : mWallpaperTarget; ? null : mWallpaperTarget; adjustWallpaperWindowsLocked(); adjustWallpaperWindowsLocked(); Loading services/java/com/android/server/wm/WindowStateAnimator.java +29 −21 Original line number Original line Diff line number Diff line Loading @@ -177,6 +177,13 @@ class WindowStateAnimator { || atoken.inPendingTransaction)); || atoken.inPendingTransaction)); } } /** Is the window animating the DummyAnimation? */ boolean isDummyAnimation() { final AppWindowToken atoken = mWin.mAppToken; return atoken != null && atoken.mAppAnimator.animation == AppWindowAnimator.sDummyAnimation; } /** Is this window currently animating? */ /** Is this window currently animating? */ boolean isWindowAnimating() { boolean isWindowAnimating() { return mAnimation != null; return mAnimation != null; Loading Loading @@ -363,18 +370,32 @@ class WindowStateAnimator { mWin.mDestroying = true; mWin.mDestroying = true; if (WindowState.SHOW_TRANSACTIONS) WindowManagerService.logSurface( if (WindowState.SHOW_TRANSACTIONS) WindowManagerService.logSurface( mWin, "HIDE (finishExit)", null); mWin, "HIDE (finishExit)", null); hide(); } mWin.mExiting = false; if (mWin.mRemoveOnExit) { mService.mPendingRemove.add(mWin); mWin.mRemoveOnExit = false; } if (mService.mWallpaperTarget == mWin) { mAnimator.hideWallpapersLocked(); } } void hide() { if (!mLastHidden) { //dump(); mLastHidden = true; if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin, "HIDE (performLayout)", null); if (mSurface != null) { mSurfaceShown = false; mSurfaceShown = false; try { try { mSurface.hide(); mSurface.hide(); } catch (RuntimeException e) { } catch (RuntimeException e) { Slog.w(TAG, "Error hiding surface in " + this, e); Slog.w(TAG, "Exception hiding surface in " + mWin); } } mLastHidden = true; } } mWin.mExiting = false; if (mWin.mRemoveOnExit) { mService.mPendingRemove.add(mWin); mWin.mRemoveOnExit = false; } } } } Loading Loading @@ -987,20 +1008,7 @@ class WindowStateAnimator { setSurfaceBoundaries(recoveringMemory); setSurfaceBoundaries(recoveringMemory); if (w.mAttachedHidden || !w.isReadyForDisplay()) { if (w.mAttachedHidden || !w.isReadyForDisplay()) { if (!mLastHidden) { hide(); //dump(); mLastHidden = true; if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(w, "HIDE (performLayout)", null); if (mSurface != null) { mSurfaceShown = false; try { mSurface.hide(); } catch (RuntimeException e) { Slog.w(TAG, "Exception hiding surface in " + w); } } } // If we are waiting for this window to handle an // If we are waiting for this window to handle an // orientation change, well, it is hidden, so // orientation change, well, it is hidden, so // doesn't really matter. Note that this does // doesn't really matter. Note that this does Loading Loading
services/java/com/android/server/wm/WindowAnimator.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -85,6 +85,15 @@ public class WindowAnimator { mPolicy = policy; mPolicy = policy; } } void hideWallpapersLocked() { for (final WindowToken token : mService.mWallpaperTokens) { for (final WindowState wallpaper : token.windows) { wallpaper.mWinAnimator.hide(); } token.hidden = true; } } private void testWallpaperAndBackgroundLocked() { private void testWallpaperAndBackgroundLocked() { if (mWindowDetachedWallpaper != mDetachedWallpaper) { if (mWindowDetachedWallpaper != mDetachedWallpaper) { if (WindowManagerService.DEBUG_WALLPAPER) Slog.v(TAG, if (WindowManagerService.DEBUG_WALLPAPER) Slog.v(TAG, Loading
services/java/com/android/server/wm/WindowManagerService.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -3825,7 +3825,8 @@ public class WindowManagerService extends IWindowManager.Stub synchronized(mWindowMap) { synchronized(mWindowMap) { if (DEBUG_APP_TRANSITIONS) Slog.v( if (DEBUG_APP_TRANSITIONS) Slog.v( TAG, "Prepare app transition: transit=" + transit TAG, "Prepare app transition: transit=" + transit + " mNextAppTransition=" + mNextAppTransition); + " mNextAppTransition=" + mNextAppTransition + "\nCallers=" + Debug.getCallers(3)); if (okToDisplay()) { if (okToDisplay()) { if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET if (mNextAppTransition == WindowManagerPolicy.TRANSIT_UNSET || mNextAppTransition == WindowManagerPolicy.TRANSIT_NONE) { || mNextAppTransition == WindowManagerPolicy.TRANSIT_NONE) { Loading Loading @@ -4237,7 +4238,7 @@ public class WindowManagerService extends IWindowManager.Stub e = new RuntimeException(); e = new RuntimeException(); e.fillInStackTrace(); e.fillInStackTrace(); } } Slog.v(TAG, "setAppVisibility(" + token + ", " + visible Slog.v(TAG, "setAppVisibility(" + token + ", visible=" + visible + "): mNextAppTransition=" + mNextAppTransition + "): mNextAppTransition=" + mNextAppTransition + " hidden=" + wtoken.hidden + " hidden=" + wtoken.hidden + " hiddenRequested=" + wtoken.hiddenRequested, e); + " hiddenRequested=" + wtoken.hiddenRequested, e); Loading Loading @@ -7866,8 +7867,10 @@ public class WindowManagerService extends IWindowManager.Stub mToTopApps.clear(); mToTopApps.clear(); } } // if wallpaper is animating in or out set oldWallpaper to null else to wallpaper WindowState oldWallpaper = WindowState oldWallpaper = mWallpaperTarget != null && mWallpaperTarget.mWinAnimator.isAnimating() mWallpaperTarget != null && mWallpaperTarget.mWinAnimator.isAnimating() && !mWallpaperTarget.mWinAnimator.isDummyAnimation() ? null : mWallpaperTarget; ? null : mWallpaperTarget; adjustWallpaperWindowsLocked(); adjustWallpaperWindowsLocked(); Loading
services/java/com/android/server/wm/WindowStateAnimator.java +29 −21 Original line number Original line Diff line number Diff line Loading @@ -177,6 +177,13 @@ class WindowStateAnimator { || atoken.inPendingTransaction)); || atoken.inPendingTransaction)); } } /** Is the window animating the DummyAnimation? */ boolean isDummyAnimation() { final AppWindowToken atoken = mWin.mAppToken; return atoken != null && atoken.mAppAnimator.animation == AppWindowAnimator.sDummyAnimation; } /** Is this window currently animating? */ /** Is this window currently animating? */ boolean isWindowAnimating() { boolean isWindowAnimating() { return mAnimation != null; return mAnimation != null; Loading Loading @@ -363,18 +370,32 @@ class WindowStateAnimator { mWin.mDestroying = true; mWin.mDestroying = true; if (WindowState.SHOW_TRANSACTIONS) WindowManagerService.logSurface( if (WindowState.SHOW_TRANSACTIONS) WindowManagerService.logSurface( mWin, "HIDE (finishExit)", null); mWin, "HIDE (finishExit)", null); hide(); } mWin.mExiting = false; if (mWin.mRemoveOnExit) { mService.mPendingRemove.add(mWin); mWin.mRemoveOnExit = false; } if (mService.mWallpaperTarget == mWin) { mAnimator.hideWallpapersLocked(); } } void hide() { if (!mLastHidden) { //dump(); mLastHidden = true; if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(mWin, "HIDE (performLayout)", null); if (mSurface != null) { mSurfaceShown = false; mSurfaceShown = false; try { try { mSurface.hide(); mSurface.hide(); } catch (RuntimeException e) { } catch (RuntimeException e) { Slog.w(TAG, "Error hiding surface in " + this, e); Slog.w(TAG, "Exception hiding surface in " + mWin); } } mLastHidden = true; } } mWin.mExiting = false; if (mWin.mRemoveOnExit) { mService.mPendingRemove.add(mWin); mWin.mRemoveOnExit = false; } } } } Loading Loading @@ -987,20 +1008,7 @@ class WindowStateAnimator { setSurfaceBoundaries(recoveringMemory); setSurfaceBoundaries(recoveringMemory); if (w.mAttachedHidden || !w.isReadyForDisplay()) { if (w.mAttachedHidden || !w.isReadyForDisplay()) { if (!mLastHidden) { hide(); //dump(); mLastHidden = true; if (WindowManagerService.SHOW_TRANSACTIONS) WindowManagerService.logSurface(w, "HIDE (performLayout)", null); if (mSurface != null) { mSurfaceShown = false; try { mSurface.hide(); } catch (RuntimeException e) { Slog.w(TAG, "Exception hiding surface in " + w); } } } // If we are waiting for this window to handle an // If we are waiting for this window to handle an // orientation change, well, it is hidden, so // orientation change, well, it is hidden, so // doesn't really matter. Note that this does // doesn't really matter. Note that this does Loading