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

Commit 6addf5d7 authored by Bryce Lee's avatar Bryce Lee
Browse files

Revert "Update display contents when metrics change"

This reverts commit d7f8f942.

Reason for revert: causing b/35349518

Fixes:35349518
Bug:35258051
Change-Id: I5233bee6696f76313868bb36fd0da4225e5ac038
parent d7f8f942
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -261,7 +261,6 @@ final class LogicalDisplay {

            mPrimaryDisplayDeviceInfo = deviceInfo;
            mInfo = null;
            mOverrideDisplayInfo = null;
        }
    }

+4 −30
Original line number Diff line number Diff line
@@ -919,10 +919,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
    void updateDisplayInfo() {
        mDisplay.getDisplayInfo(mDisplayInfo);
        mDisplay.getMetrics(mDisplayMetrics);

        // Check if display metrics changed and update base values if needed.
        updateBaseDisplayMetricsIfNeeded();

        for (int i = mTaskStackContainers.size() - 1; i >= 0; --i) {
            mTaskStackContainers.get(i).updateDisplayInfo(null);
        }
@@ -938,8 +934,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
            }
        }

        updateBaseDisplayMetrics(mDisplayInfo.logicalWidth, mDisplayInfo.logicalHeight,
                mDisplayInfo.logicalDensityDpi);
        mBaseDisplayWidth = mInitialDisplayWidth = mDisplayInfo.logicalWidth;
        mBaseDisplayHeight = mInitialDisplayHeight = mDisplayInfo.logicalHeight;
        mBaseDisplayDensity = mInitialDisplayDensity = mDisplayInfo.logicalDensityDpi;
        mBaseDisplayRect.set(0, 0, mBaseDisplayWidth, mBaseDisplayHeight);
    }

    void getLogicalDisplayRect(Rect out) {
@@ -969,30 +967,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
        }
    }

    /** If display metrics changed and it's not just a rotation - update base values. */
    private void updateBaseDisplayMetricsIfNeeded() {
        final int orientation = mDisplayInfo.rotation;
        final boolean rotated = (orientation == ROTATION_90 || orientation == ROTATION_270);
        final int newWidth = rotated ? mDisplayInfo.logicalHeight : mDisplayInfo.logicalWidth;
        final int newHeight = rotated ? mDisplayInfo.logicalWidth : mDisplayInfo.logicalHeight;

        boolean displayMetricsChanged
                = mBaseDisplayWidth != newWidth || mBaseDisplayHeight != newHeight;
        displayMetricsChanged |= mBaseDisplayDensity != mDisplayInfo.logicalDensityDpi;

        if (displayMetricsChanged) {
            updateBaseDisplayMetrics(newWidth, newHeight, mDisplayInfo.logicalDensityDpi);
            mService.reconfigureDisplayLocked(this);
        }
    }

    void updateBaseDisplayMetrics(int baseWidth, int baseHeight, int baseDensity) {
        mBaseDisplayWidth = mInitialDisplayWidth = baseWidth;
        mBaseDisplayHeight = mInitialDisplayHeight = baseHeight;
        mBaseDisplayDensity = mInitialDisplayDensity = baseDensity;
        mBaseDisplayRect.set(0, 0, mBaseDisplayWidth, mBaseDisplayHeight);
    }

    void getContentRect(Rect out) {
        out.set(mContentRect);
    }
+4 −3
Original line number Diff line number Diff line
@@ -5920,8 +5920,8 @@ public class WindowManagerService extends IWindowManager.Stub
                    if (displayContent.mBaseDisplayWidth != width
                            || displayContent.mBaseDisplayHeight != height) {
                        Slog.i(TAG_WM, "FORCED DISPLAY SIZE: " + width + "x" + height);
                        displayContent.updateBaseDisplayMetrics(width, height,
                                displayContent.mBaseDisplayDensity);
                        displayContent.mBaseDisplayWidth = width;
                        displayContent.mBaseDisplayHeight = height;
                    }
                } catch (NumberFormatException ex) {
                }
@@ -5946,7 +5946,8 @@ public class WindowManagerService extends IWindowManager.Stub
    // displayContent must not be null
    private void setForcedDisplaySizeLocked(DisplayContent displayContent, int width, int height) {
        Slog.i(TAG_WM, "Using new display size: " + width + "x" + height);
        displayContent.updateBaseDisplayMetrics(width, height, displayContent.mBaseDisplayDensity);
        displayContent.mBaseDisplayWidth = width;
        displayContent.mBaseDisplayHeight = height;
        reconfigureDisplayLocked(displayContent);
    }