diff --git a/src/com/android/launcher3/LauncherRootView.java b/src/com/android/launcher3/LauncherRootView.java index 7de2ee4eed..5ef3690ddf 100644 --- a/src/com/android/launcher3/LauncherRootView.java +++ b/src/com/android/launcher3/LauncherRootView.java @@ -1,5 +1,6 @@ package com.android.launcher3; +import static com.android.launcher3.ResourceUtils.INVALID_RESOURCE_HANDLE; import static com.android.launcher3.config.FeatureFlags.SEPARATE_RECENTS_ACTIVITY; import android.annotation.TargetApi; @@ -99,7 +100,11 @@ public class LauncherRootView extends InsettableFrameLayout { oldNavInsets.bottom); if (dp.isLandscape) { - if (dp.isTablet) { + boolean isGesturalMode = ResourceUtils.getIntegerByName( + "config_navBarInteractionMode", + resources, + INVALID_RESOURCE_HANDLE) == 2; + if (dp.isTablet || isGesturalMode) { newNavInsets.bottom = ResourceUtils.getNavbarSize( "navigation_bar_height_landscape", resources); } else { diff --git a/src/com/android/launcher3/util/WindowManagerCompat.java b/src/com/android/launcher3/util/WindowManagerCompat.java index bfdf1e40ce..e1b9478832 100644 --- a/src/com/android/launcher3/util/WindowManagerCompat.java +++ b/src/com/android/launcher3/util/WindowManagerCompat.java @@ -60,10 +60,10 @@ public class WindowManagerCompat { } WindowInsets defaultInsets = windowContext.getSystemService(WindowManager.class) .getMaximumWindowMetrics().getWindowInsets(); - boolean hasNavbar = ResourceUtils.getIntegerByName( + boolean isGesturalMode = ResourceUtils.getIntegerByName( "config_navBarInteractionMode", windowContext.getResources(), - INVALID_RESOURCE_HANDLE) != 0; + INVALID_RESOURCE_HANDLE) == 2; WindowInsets.Builder insetsBuilder = new WindowInsets.Builder(defaultInsets); Set result = new ArraySet<>(); @@ -74,7 +74,7 @@ public class WindowManagerCompat { if (isTablet && !consumeTaskBar) { portraitNav = landscapeNav = Insets.of(0, 0, 0, windowContext.getResources() .getDimensionPixelSize(R.dimen.taskbar_size)); - } else if (hasNavbar) { + } else if (!isGesturalMode) { portraitNav = Insets.of(0, 0, 0, getSystemResource(windowContext, "navigation_bar_height", swDP)); landscapeNav = isTablet