Loading services/core/java/com/android/server/wm/WindowManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -9425,7 +9425,7 @@ public class WindowManagerService extends IWindowManager.Stub if (task != null && task.mStack.getBoundsAnimating()) { return; } w.setInsetsChanged(); w.setReportResizeHints(); boolean configChanged = w.isConfigChanged(); if (DEBUG_CONFIGURATION && configChanged) { Slog.v(TAG_WM, "Win " + w + " config changed: " Loading @@ -9437,11 +9437,11 @@ public class WindowManagerService extends IWindowManager.Stub + ": configChanged=" + configChanged + " dragResizingChanged=" + dragResizingChanged + " last=" + w.mLastFrame + " frame=" + w.mFrame); w.mLastFrame.set(w.mFrame); if (w.mContentInsetsChanged || w.mVisibleInsetsChanged || winAnimator.mSurfaceResized || w.mOutsetsChanged || w.mFrameSizeChanged || configChanged || dragResizingChanged || !w.isResizedWhileNotDragResizingReported()) { Loading Loading @@ -9474,6 +9474,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mLastVisibleInsets.set(w.mVisibleInsets); w.mLastStableInsets.set(w.mStableInsets); w.mLastOutsets.set(w.mOutsets); w.mLastFrame.set(w.mFrame); makeWindowFreezingScreenIfNeededLocked(w); // If the orientation is changing, or we're starting or ending // a drag resizing action, then we need to hold off on unfreezing Loading services/core/java/com/android/server/wm/WindowState.java +6 −2 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { // "Real" frame that the application sees, in display coordinate space. final Rect mFrame = new Rect(); final Rect mLastFrame = new Rect(); boolean mFrameSizeChanged = false; // Frame that is scaled to the application's coordinate space when in // screen size compatibility mode. final Rect mCompatFrame = new Rect(); Loading Loading @@ -1055,14 +1056,16 @@ final class WindowState implements WindowManagerPolicy.WindowState { return mAppToken != null && mAppToken.voiceInteraction; } boolean setInsetsChanged() { boolean setReportResizeHints() { mOverscanInsetsChanged |= !mLastOverscanInsets.equals(mOverscanInsets); mContentInsetsChanged |= !mLastContentInsets.equals(mContentInsets); mVisibleInsetsChanged |= !mLastVisibleInsets.equals(mVisibleInsets); mStableInsetsChanged |= !mLastStableInsets.equals(mStableInsets); mOutsetsChanged |= !mLastOutsets.equals(mOutsets); mFrameSizeChanged |= (mLastFrame.width() != mFrame.width()) || (mLastFrame.height() != mFrame.height()); return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged || mOutsetsChanged; || mOutsetsChanged || mFrameSizeChanged; } public DisplayContent getDisplayContent() { Loading Loading @@ -2344,6 +2347,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mVisibleInsetsChanged = false; mStableInsetsChanged = false; mOutsetsChanged = false; mFrameSizeChanged = false; mResizedWhileNotDragResizingReported = true; mWinAnimator.mSurfaceResized = false; } catch (RemoteException e) { Loading services/core/java/com/android/server/wm/WindowSurfacePlacer.java +1 −1 Original line number Diff line number Diff line Loading @@ -974,7 +974,7 @@ class WindowSurfacePlacer { // windows, since that means "perform layout as normal, // just don't display"). if (!gone || !win.mHaveFrame || win.mLayoutNeeded || ((win.isConfigChanged() || win.setInsetsChanged()) || ((win.isConfigChanged() || win.setReportResizeHints()) && !win.isGoneForLayoutLw() && ((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 || (win.mHasSurface && win.mAppToken != null && Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -9425,7 +9425,7 @@ public class WindowManagerService extends IWindowManager.Stub if (task != null && task.mStack.getBoundsAnimating()) { return; } w.setInsetsChanged(); w.setReportResizeHints(); boolean configChanged = w.isConfigChanged(); if (DEBUG_CONFIGURATION && configChanged) { Slog.v(TAG_WM, "Win " + w + " config changed: " Loading @@ -9437,11 +9437,11 @@ public class WindowManagerService extends IWindowManager.Stub + ": configChanged=" + configChanged + " dragResizingChanged=" + dragResizingChanged + " last=" + w.mLastFrame + " frame=" + w.mFrame); w.mLastFrame.set(w.mFrame); if (w.mContentInsetsChanged || w.mVisibleInsetsChanged || winAnimator.mSurfaceResized || w.mOutsetsChanged || w.mFrameSizeChanged || configChanged || dragResizingChanged || !w.isResizedWhileNotDragResizingReported()) { Loading Loading @@ -9474,6 +9474,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mLastVisibleInsets.set(w.mVisibleInsets); w.mLastStableInsets.set(w.mStableInsets); w.mLastOutsets.set(w.mOutsets); w.mLastFrame.set(w.mFrame); makeWindowFreezingScreenIfNeededLocked(w); // If the orientation is changing, or we're starting or ending // a drag resizing action, then we need to hold off on unfreezing Loading
services/core/java/com/android/server/wm/WindowState.java +6 −2 Original line number Diff line number Diff line Loading @@ -287,6 +287,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { // "Real" frame that the application sees, in display coordinate space. final Rect mFrame = new Rect(); final Rect mLastFrame = new Rect(); boolean mFrameSizeChanged = false; // Frame that is scaled to the application's coordinate space when in // screen size compatibility mode. final Rect mCompatFrame = new Rect(); Loading Loading @@ -1055,14 +1056,16 @@ final class WindowState implements WindowManagerPolicy.WindowState { return mAppToken != null && mAppToken.voiceInteraction; } boolean setInsetsChanged() { boolean setReportResizeHints() { mOverscanInsetsChanged |= !mLastOverscanInsets.equals(mOverscanInsets); mContentInsetsChanged |= !mLastContentInsets.equals(mContentInsets); mVisibleInsetsChanged |= !mLastVisibleInsets.equals(mVisibleInsets); mStableInsetsChanged |= !mLastStableInsets.equals(mStableInsets); mOutsetsChanged |= !mLastOutsets.equals(mOutsets); mFrameSizeChanged |= (mLastFrame.width() != mFrame.width()) || (mLastFrame.height() != mFrame.height()); return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged || mOutsetsChanged; || mOutsetsChanged || mFrameSizeChanged; } public DisplayContent getDisplayContent() { Loading Loading @@ -2344,6 +2347,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mVisibleInsetsChanged = false; mStableInsetsChanged = false; mOutsetsChanged = false; mFrameSizeChanged = false; mResizedWhileNotDragResizingReported = true; mWinAnimator.mSurfaceResized = false; } catch (RemoteException e) { Loading
services/core/java/com/android/server/wm/WindowSurfacePlacer.java +1 −1 Original line number Diff line number Diff line Loading @@ -974,7 +974,7 @@ class WindowSurfacePlacer { // windows, since that means "perform layout as normal, // just don't display"). if (!gone || !win.mHaveFrame || win.mLayoutNeeded || ((win.isConfigChanged() || win.setInsetsChanged()) || ((win.isConfigChanged() || win.setReportResizeHints()) && !win.isGoneForLayoutLw() && ((win.mAttrs.privateFlags & PRIVATE_FLAG_KEYGUARD) != 0 || (win.mHasSurface && win.mAppToken != null && Loading