diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/RecentsRootView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/RecentsRootView.java index 09d323ee69..1820729576 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/RecentsRootView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/fallback/RecentsRootView.java @@ -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 { // 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 { 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 diff --git a/src/com/android/launcher3/LauncherRootView.java b/src/com/android/launcher3/LauncherRootView.java index 20eec05d44..49b380b41f 100644 --- a/src/com/android/launcher3/LauncherRootView.java +++ b/src/com/android/launcher3/LauncherRootView.java @@ -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); diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index d8094ea62d..053c570045 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -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; @@ -321,12 +322,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); diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index 001951ac11..939b0f2b9f 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java @@ -496,12 +496,14 @@ public abstract class BaseDragLayer } } + @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); } }