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

Commit c907b736 authored by Jorim Jaggi's avatar Jorim Jaggi Committed by android-build-merger
Browse files

Merge "Fix underdraw during resizing" into oc-dev

am: 906fe927

Change-Id: I25fe2b06324f238d2d5d6092837919d1f5659bf3
parents 8947e7a2 906fe927
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -296,7 +296,11 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
    @Override
    public void onDraw(Canvas c) {
        super.onDraw(c);
        mBackgroundFallback.draw(mContentRoot, c, mWindow.mContentParent);

        // When we are resizing, we need the fallback background to cover the area where we have our
        // system bar background views as the navigation bar will be hidden during resizing.
        mBackgroundFallback.draw(isResizing() ? this : mContentRoot, mContentRoot, c,
                mWindow.mContentParent);
    }

    @Override
+11 −3
Original line number Diff line number Diff line
@@ -39,14 +39,22 @@ public class BackgroundFallback {
        return mBackgroundFallback != null;
    }

    public void draw(ViewGroup root, Canvas c, View content) {
    /**
     * Draws the fallback background.
     *
     * @param boundsView The view determining with which bounds the background should be drawn.
     * @param root The view group containing the content.
     * @param c The canvas to draw the background onto.
     * @param content The view where the actual app content is contained in.
     */
    public void draw(ViewGroup boundsView, ViewGroup root, Canvas c, View content) {
        if (!hasFallback()) {
            return;
        }

        // Draw the fallback in the padding.
        final int width = root.getWidth();
        final int height = root.getHeight();
        final int width = boundsView.getWidth();
        final int height = boundsView.getHeight();
        int left = width;
        int top = height;
        int right = 0;