Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39d3c994 authored by Robert Carr's avatar Robert Carr Committed by android-build-merger
Browse files

Also report resize when frame changes without inset change. am: 31aa98be

am: e0b66c29

Change-Id: Ib5b72acf703743db393174e6a58c6fa2d96c851a
parents 4ebe9b81 e0b66c29
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -9291,7 +9291,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: "
@@ -9303,11 +9303,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()) {
@@ -9340,6 +9340,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
+6 −2
Original line number Diff line number Diff line
@@ -300,6 +300,7 @@ class WindowState extends WindowContainer implements WindowManagerPolicy.WindowS
    // "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();
@@ -1050,14 +1051,16 @@ class WindowState extends WindowContainer implements WindowManagerPolicy.WindowS
        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() {
@@ -2339,6 +2342,7 @@ class WindowState extends WindowContainer implements WindowManagerPolicy.WindowS
            mVisibleInsetsChanged = false;
            mStableInsetsChanged = false;
            mOutsetsChanged = false;
            mFrameSizeChanged = false;
            mResizedWhileNotDragResizingReported = true;
            mWinAnimator.mSurfaceResized = false;
        } catch (RemoteException e) {
+1 −1
Original line number Diff line number Diff line
@@ -973,7 +973,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 &&