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

Commit 2524b823 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Remove unnecessary dispatchInsets routing

Insets are dispatched to all views. We never consume the insets and
let each view decide what to do with it.
Also fixing scrim in all-apps when in full-gesture navigation

Change-Id: Ib1c6bef5b32aac0c6ea03078b5138d2d0408c6d8
parent 2445ca07
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.content.Context;
import android.graphics.Point;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.WindowInsets;

import com.android.launcher3.BaseActivity;
import com.android.launcher3.R;
@@ -71,7 +70,7 @@ public class RecentsRootView extends BaseDragLayer<RecentsActivity> {
        // Update device profile before notifying the children.
        mActivity.getDeviceProfile().updateInsets(insets);
        setInsets(insets);
        return true; // I'll take it from here
        return false; // Let children get the full insets
    }

    @Override
@@ -89,10 +88,4 @@ public class RecentsRootView extends BaseDragLayer<RecentsActivity> {
        mActivity.getDeviceProfile().updateInsets(mInsets);
        super.setInsets(mInsets);
    }

    @Override
    public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) {
        updateTouchExcludeRegion(insets);
        return super.dispatchApplyWindowInsets(insets);
    }
}
 No newline at end of file
+1 −8
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewDebug;
import android.view.WindowInsets;

import java.util.Collections;
import java.util.List;
@@ -101,7 +100,7 @@ public class LauncherRootView extends InsettableFrameLayout {
            mLauncher.getStateManager().reapplyState(true /* cancelCurrentAnimation */);
        }

        return true; // I'll take it from here
        return false; // Let children get the full insets
    }

    @Override
@@ -156,12 +155,6 @@ public class LauncherRootView extends InsettableFrameLayout {
        }
    }

    @Override
    public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) {
        mLauncher.getDragLayer().updateTouchExcludeRegion(insets);
        return super.dispatchApplyWindowInsets(insets);
    }

    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        super.onLayout(changed, l, t, r, b);
+11 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;

import com.android.launcher3.AppInfo;
import com.android.launcher3.DeviceProfile;
@@ -313,12 +314,21 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        }
        setLayoutParams(mlp);

        mNavBarScrimHeight = insets.bottom;
        InsettableFrameLayout.dispatchInsets(this, insets);
        mLauncher.getAllAppsController()
                .setScrollRangeDelta(mSearchUiManager.getScrollRangeDelta(insets));
    }

    @Override
    public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) {
        if (Utilities.ATLEAST_Q) {
            mNavBarScrimHeight = insets.getTappableElementInsets().bottom;
        } else {
            mNavBarScrimHeight = insets.getStableInsetBottom();
        }
        return super.dispatchApplyWindowInsets(insets);
    }

    @Override
    protected void dispatchDraw(Canvas canvas) {
        super.dispatchDraw(canvas);
+3 −1
Original line number Diff line number Diff line
@@ -487,12 +487,14 @@ public abstract class BaseDragLayer<T extends Context & ActivityContext>
        }
    }

    @Override
    @TargetApi(Build.VERSION_CODES.Q)
    public void updateTouchExcludeRegion(WindowInsets insets) {
    public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) {
        if (Utilities.ATLEAST_Q) {
            Insets gestureInsets = insets.getMandatorySystemGestureInsets();
            mSystemGestureRegion.set(gestureInsets.left, gestureInsets.top,
                    gestureInsets.right, gestureInsets.bottom);
        }
        return super.dispatchApplyWindowInsets(insets);
    }
}