Opalayout can check quickstep icons without needing navbarview (1/2)

Opalayout should not need NavigationBarView to determine if the icon
should be for quickstep icons. It does not need to know if recents is
disabled because of lock tasks and so the check is now in
OverviewProxyService. Then when Opalayout needs to layout the home
button it should be able to get the information regardless if
NavigationBarView is available or not.

Bug: 76210393
Fixes: 76434966
Fixes: 74071465
Test: change language in settings

Change-Id: I246175c3e2d5c990da6823df4108d48522b258bd
diff --git a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
index 2983df6..816c598 100644
--- a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
@@ -50,6 +50,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
 import static com.android.systemui.shared.system.NavigationBarCompat.InteractionType;
 
 /**
@@ -249,6 +250,10 @@
         mConnectionCallbacks.remove(listener);
     }
 
+    public boolean shouldShowSwipeUpUI() {
+        return getProxy() != null && ((mInteractionFlags & FLAG_DISABLE_SWIPE_UP) == 0);
+    }
+
     public IOverviewProxy getProxy() {
         return mOverviewProxy;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index b4cb088..84582b0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -79,7 +79,6 @@
 import java.util.function.Consumer;
 
 import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_QUICK_SCRUB;
-import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
 import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_HIDE_BACK_BUTTON;
 import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
 import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_OVERVIEW;
@@ -385,17 +384,13 @@
     }
 
     public boolean isQuickStepSwipeUpEnabled() {
-        return mOverviewProxyService.getProxy() != null
-                && isOverviewEnabled()
-                && ((mOverviewProxyService.getInteractionFlags()
-                        & FLAG_DISABLE_SWIPE_UP) == 0);
+        return mOverviewProxyService.shouldShowSwipeUpUI() && isOverviewEnabled();
     }
 
     public boolean isQuickScrubEnabled() {
         return SystemProperties.getBoolean("persist.quickstep.scrub.enabled", true)
                 && mOverviewProxyService.getProxy() != null && isOverviewEnabled()
-                && ((mOverviewProxyService.getInteractionFlags()
-                        & FLAG_DISABLE_QUICK_SCRUB) == 0);
+                && ((mOverviewProxyService.getInteractionFlags() & FLAG_DISABLE_QUICK_SCRUB) == 0);
     }
 
     private void updateCarModeIcons(Context ctx) {
@@ -468,7 +463,7 @@
     private KeyButtonDrawable chooseNavigationIconDrawable(Context ctx, @DrawableRes int iconLight,
             @DrawableRes int iconDark, @DrawableRes int quickStepIconLight,
             @DrawableRes int quickStepIconDark) {
-        final boolean quickStepEnabled = isQuickStepSwipeUpEnabled() || isQuickScrubEnabled();
+        final boolean quickStepEnabled = mOverviewProxyService.shouldShowSwipeUpUI();
         return quickStepEnabled
                 ? getDrawable(ctx, quickStepIconLight, quickStepIconDark)
                 : getDrawable(ctx, iconLight, iconDark);