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

Commit 41d14a9a authored by Wale Ogunwale's avatar Wale Ogunwale Committed by Android (Google) Code Review
Browse files

Merge "Initialize DisplayContent base info when object is constructed"

parents 16a4a0ad fd04d8c8
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -697,14 +697,6 @@ public class SystemServicesProxy {
            ActivityManager.StackInfo stackInfo = mIam.getStackInfo(ActivityManager.HOME_STACK_ID);
            if (stackInfo != null) {
                windowRect.set(stackInfo.bounds);
                // Temporary workaround, if we query this too early, occasionally, the home stack
                // bounds are offset incorrectly
                if (windowRect.left < 0) {
                    windowRect.offset(-windowRect.left, 0);
                }
                if (windowRect.top < 0) {
                    windowRect.offset(0, -windowRect.top);
                }
            }
        } catch (RemoteException e) {
            e.printStackTrace();
+16 −0
Original line number Diff line number Diff line
@@ -126,6 +126,7 @@ class DisplayContent {
        display.getMetrics(mDisplayMetrics);
        isDefaultDisplay = mDisplayId == Display.DEFAULT_DISPLAY;
        mService = service;
        initializeDisplayBaseInfo();
        mDividerControllerLocked = new DockedStackDividerController(service.mContext, this);
    }

@@ -192,6 +193,21 @@ class DisplayContent {
        }
    }

    void initializeDisplayBaseInfo() {
        synchronized(mDisplaySizeLock) {
            // Bootstrap the default logical display from the display manager.
            final DisplayInfo newDisplayInfo =
                    mService.mDisplayManagerInternal.getDisplayInfo(mDisplayId);
            if (newDisplayInfo != null) {
                mDisplayInfo.copyFrom(newDisplayInfo);
            }
            mBaseDisplayWidth = mInitialDisplayWidth = mDisplayInfo.logicalWidth;
            mBaseDisplayHeight = mInitialDisplayHeight = mDisplayInfo.logicalHeight;
            mBaseDisplayDensity = mInitialDisplayDensity = mDisplayInfo.logicalDensityDpi;
            mBaseDisplayRect.set(0, 0, mBaseDisplayWidth, mBaseDisplayHeight);
        }
    }

    void getLogicalDisplayRect(Rect out) {
        // Uses same calculation as in LogicalDisplay#configureDisplayInTransactionLocked.
        final int orientation = mDisplayInfo.rotation;
+1 −16
Original line number Diff line number Diff line
@@ -7107,22 +7107,7 @@ public class WindowManagerService extends IWindowManager.Stub
            final DisplayContent displayContent = getDisplayContentLocked(displayId);
            if (displayContent != null) {
                mAnimator.addDisplayLocked(displayId);
                synchronized(displayContent.mDisplaySizeLock) {
                    // Bootstrap the default logical display from the display manager.
                    final DisplayInfo displayInfo = displayContent.getDisplayInfo();
                    DisplayInfo newDisplayInfo = mDisplayManagerInternal.getDisplayInfo(displayId);
                    if (newDisplayInfo != null) {
                        displayInfo.copyFrom(newDisplayInfo);
                    }
                    displayContent.mInitialDisplayWidth = displayInfo.logicalWidth;
                    displayContent.mInitialDisplayHeight = displayInfo.logicalHeight;
                    displayContent.mInitialDisplayDensity = displayInfo.logicalDensityDpi;
                    displayContent.mBaseDisplayWidth = displayContent.mInitialDisplayWidth;
                    displayContent.mBaseDisplayHeight = displayContent.mInitialDisplayHeight;
                    displayContent.mBaseDisplayDensity = displayContent.mInitialDisplayDensity;
                    displayContent.mBaseDisplayRect.set(0, 0,
                            displayContent.mBaseDisplayWidth, displayContent.mBaseDisplayHeight);
                }
                displayContent.initializeDisplayBaseInfo();
            }
        }
    }