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

Commit 7bf6dc61 authored by Tiger's avatar Tiger Committed by Tiger Huang
Browse files

Use the copy constructor to create simulated sources

In this way, we don't need to modify the code in createSimulatedSource
when there is a new field of InsetsSource.

This fixes a regression since 244e9600

Fix: 285080829
Test: Open Settings from portrait while holding device in landscape, and
      see if the nav bar area is transparent in gesture nav mode.
Change-Id: I8288f9d9bf6f2f28a71448cc35727c1c3955bad7
parent 878b61b0
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -272,15 +272,17 @@ class InsetsSourceProvider {

    /** @return A new source computed by the specified window frame in the given display frames. */
    InsetsSource createSimulatedSource(DisplayFrames displayFrames, Rect frame) {
        // Don't copy visible frame because it might not be calculated in the provided display
        // frames and it is not significant for this usage.
        final InsetsSource source = new InsetsSource(mSource.getId(), mSource.getType());
        source.setVisible(mSource.isVisible());
        final InsetsSource source = new InsetsSource(mSource);
        mTmpRect.set(frame);
        if (mFrameProvider != null) {
            mFrameProvider.apply(displayFrames, mWindowContainer, mTmpRect);
        }
        source.setFrame(mTmpRect);

        // Don't copy visible frame because it might not be calculated in the provided display
        // frames and it is not significant for this usage.
        source.setVisibleFrame(null);

        return source;
    }