From e809f3d78ef5b7c58623b754d9591d9ad57494ae Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Tue, 26 Mar 2019 12:20:14 -0700 Subject: [PATCH] Launcher landscape gesture nav Bug: 128129398 Test: Rotate to landscape, ensure you can use gesture nav Change-Id: I4630cbae9bf1cbabd83fb72d5eb09c9a435950e9 (cherry picked from commit 38b76942d650402c5d69182ad8a2e5d236e74899) --- .../quickstep/FallbackActivityControllerHelper.java | 4 +++- .../quickstep/LauncherActivityControllerHelper.java | 4 +++- .../com/android/quickstep/OtherActivityInputConsumer.java | 7 +++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java index ef46b3b0d9..73fcf78b8b 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/FallbackActivityControllerHelper.java @@ -16,6 +16,7 @@ package com.android.quickstep; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import static com.android.quickstep.views.RecentsView.CONTENT_ALPHA; import android.animation.Animator; @@ -59,7 +60,8 @@ public final class FallbackActivityControllerHelper implements @Override public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect) { LayoutUtils.calculateFallbackTaskSize(context, dp, outRect); - if (dp.isVerticalBarLayout()) { + if (dp.isVerticalBarLayout() + && SysUINavigationMode.INSTANCE.get(context).getMode() != NO_BUTTON) { Rect targetInsets = dp.getInsets(); int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right; return dp.hotseatBarSizePx + hotseatInset; diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java index 69f3338e17..df2b687b2a 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/LauncherActivityControllerHelper.java @@ -24,6 +24,7 @@ import static com.android.launcher3.allapps.AllAppsTransitionController.SPRING_D import static com.android.launcher3.allapps.AllAppsTransitionController.SPRING_STIFFNESS; import static com.android.launcher3.anim.Interpolators.DEACCEL_3; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; @@ -74,7 +75,8 @@ public final class LauncherActivityControllerHelper implements ActivityControlHe @Override public int getSwipeUpDestinationAndLength(DeviceProfile dp, Context context, Rect outRect) { LayoutUtils.calculateLauncherTaskSize(context, dp, outRect); - if (dp.isVerticalBarLayout()) { + if (dp.isVerticalBarLayout() + && SysUINavigationMode.INSTANCE.get(context).getMode() != NO_BUTTON) { Rect targetInsets = dp.getInsets(); int hotseatInset = dp.isSeascape() ? targetInsets.left : targetInsets.right; return dp.hotseatBarSizePx + hotseatInset; diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/OtherActivityInputConsumer.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/OtherActivityInputConsumer.java index c8dcf80683..63c2e5dd40 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/OtherActivityInputConsumer.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/OtherActivityInputConsumer.java @@ -24,6 +24,7 @@ import static android.view.MotionEvent.INVALID_POINTER_ID; import static com.android.launcher3.util.RaceConditionTracker.ENTER; import static com.android.launcher3.util.RaceConditionTracker.EXIT; import static com.android.launcher3.Utilities.EDGE_NAV_BAR; +import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import static com.android.quickstep.TouchInteractionService.TOUCH_INTERACTION_LOG; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; @@ -284,11 +285,13 @@ public class OtherActivityInputConsumer extends ContextWrapper implements InputC } private boolean isNavBarOnRight() { - return mDisplayRotation == Surface.ROTATION_90 && mStableInsets.right > 0; + return SysUINavigationMode.INSTANCE.get(getBaseContext()).getMode() != NO_BUTTON + && mDisplayRotation == Surface.ROTATION_90 && mStableInsets.right > 0; } private boolean isNavBarOnLeft() { - return mDisplayRotation == Surface.ROTATION_270 && mStableInsets.left > 0; + return SysUINavigationMode.INSTANCE.get(getBaseContext()).getMode() != NO_BUTTON + && mDisplayRotation == Surface.ROTATION_270 && mStableInsets.left > 0; } private void startTouchTrackingForWindowAnimation(long touchTimeMs) {