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

Commit f017558a authored by Tiger Huang's avatar Tiger Huang Committed by Android (Google) Code Review
Browse files

Merge "Replace WindowState#getLayoutingAttrs with LayoutParams#forRotation" into tm-qpr-dev

parents 0fb2fcc7 c003eacc
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -3744,6 +3744,18 @@ public interface WindowManager extends ViewManager {
            }
        }

        /**
         * @see #paramsForRotation
         * @hide
         */
        public LayoutParams forRotation(int rotation) {
            if (paramsForRotation == null || paramsForRotation.length <= rotation
                    || paramsForRotation[rotation] == null) {
                return this;
            }
            return paramsForRotation[rotation];
        }

        public LayoutParams() {
            super(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
            type = TYPE_APPLICATION;
+9 −11
Original line number Diff line number Diff line
@@ -1158,11 +1158,9 @@ public class DisplayPolicy {
                        (displayFrames, windowContainer, inOutFrame) -> {
                            if (!mNavButtonForcedVisible) {
                                final LayoutParams lp =
                                        win.getLayoutingAttrs(displayFrames.mRotation);
                                        win.mAttrs.forRotation(displayFrames.mRotation);
                                if (lp.providedInsets != null) {
                                    for (InsetsFrameProvider provider :
                                            win.getLayoutingAttrs(displayFrames.mRotation)
                                                    .providedInsets) {
                                    for (InsetsFrameProvider provider : lp.providedInsets) {
                                        if (provider.type != ITYPE_NAVIGATION_BAR) {
                                            continue;
                                        }
@@ -1371,7 +1369,7 @@ public class DisplayPolicy {
    private int getStatusBarHeight(DisplayFrames displayFrames) {
        int statusBarHeight;
        if (mStatusBar != null) {
            statusBarHeight = mStatusBar.getLayoutingAttrs(displayFrames.mRotation).height;
            statusBarHeight = mStatusBar.mAttrs.forRotation(displayFrames.mRotation).height;
        } else {
            statusBarHeight = 0;
        }
@@ -1527,7 +1525,7 @@ public class DisplayPolicy {
        final InsetsStateController controller = mDisplayContent.getInsetsStateController();
        for (int i = mInsetsSourceWindowsExceptIme.size() - 1; i >= 0; i--) {
            final WindowState win = mInsetsSourceWindowsExceptIme.valueAt(i);
            mWindowLayout.computeFrames(win.getLayoutingAttrs(displayFrames.mRotation),
            mWindowLayout.computeFrames(win.mAttrs.forRotation(displayFrames.mRotation),
                    displayFrames.mInsetsState, displayFrames.mDisplayCutoutSafe,
                    displayFrames.mUnrestricted, win.getWindowingMode(), UNSPECIFIED_LENGTH,
                    UNSPECIFIED_LENGTH, win.getRequestedVisibilities(),
@@ -1545,7 +1543,7 @@ public class DisplayPolicy {
    void updateInsetsSourceFramesExceptIme(DisplayFrames displayFrames) {
        for (int i = mInsetsSourceWindowsExceptIme.size() - 1; i >= 0; i--) {
            final WindowState win = mInsetsSourceWindowsExceptIme.valueAt(i);
            mWindowLayout.computeFrames(win.getLayoutingAttrs(displayFrames.mRotation),
            mWindowLayout.computeFrames(win.mAttrs.forRotation(displayFrames.mRotation),
                    displayFrames.mInsetsState, displayFrames.mDisplayCutoutSafe,
                    displayFrames.mUnrestricted, win.getWindowingMode(), UNSPECIFIED_LENGTH,
                    UNSPECIFIED_LENGTH, win.getRequestedVisibilities(),
@@ -1578,7 +1576,7 @@ public class DisplayPolicy {
        // We invoke this to get the proper DisplayFrames.
        displayFrames = win.getDisplayFrames(displayFrames);

        final WindowManager.LayoutParams attrs = win.getLayoutingAttrs(displayFrames.mRotation);
        final WindowManager.LayoutParams attrs = win.mAttrs.forRotation(displayFrames.mRotation);
        final Rect attachedWindowFrame = attached != null ? attached.getFrame() : null;

        // If this window has different LayoutParams for rotations, we cannot trust its requested
@@ -2041,7 +2039,7 @@ public class DisplayPolicy {
        if (mNavigationBar == null) {
            return 0;
        }
        LayoutParams lp = mNavigationBar.getLayoutingAttrs(rotation);
        LayoutParams lp = mNavigationBar.mAttrs.forRotation(rotation);
        Insets providedInsetsSize = null;
        if (lp.providedInsets != null) {
            for (InsetsFrameProvider provider : lp.providedInsets) {
@@ -2073,7 +2071,7 @@ public class DisplayPolicy {
        if (mNavigationBar == null) {
            return 0;
        }
        return mNavigationBar.getLayoutingAttrs(rotation).height;
        return mNavigationBar.mAttrs.forRotation(rotation).height;
    }

    /**
@@ -2202,7 +2200,7 @@ public class DisplayPolicy {
    @NavigationBarPosition
    int navigationBarPosition(int displayRotation) {
        if (mNavigationBar != null) {
            final int gravity = mNavigationBar.getLayoutingAttrs(displayRotation).gravity;
            final int gravity = mNavigationBar.mAttrs.forRotation(displayRotation).gravity;
            switch (gravity) {
                case Gravity.LEFT:
                    return NAV_BAR_LEFT;
+0 −9
Original line number Diff line number Diff line
@@ -1474,15 +1474,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        return mAttrs;
    }

    WindowManager.LayoutParams getLayoutingAttrs(int rotation) {
        final WindowManager.LayoutParams[] paramsForRotation = mAttrs.paramsForRotation;
        if (paramsForRotation == null || paramsForRotation.length != 4
                || paramsForRotation[rotation] == null) {
            return mAttrs;
        }
        return paramsForRotation[rotation];
    }

    /** Retrieves the flags used to disable system UI functions. */
    int getDisableFlags() {
        return mDisableFlags;