Specify display ID while calling getNavBarPosition()

Navigation bar can show on non-default display now. So the caller
should specify which display the desired navigation bar is on.

Bug: 117474929
Test: atest Launcher3Tests
Change-Id: Ibb22e51730ab145a42a129b4d964299acd4efd56
(cherry picked from commit f1bb3a4d4c9a1c6ba5cff5550b6d6b2b84ff272f)
diff --git a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
index c81f044..42a28fb 100644
--- a/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
+++ b/quickstep/src/com/android/quickstep/TaskSystemShortcut.java
@@ -18,6 +18,7 @@
 
 import static com.android.launcher3.userevent.nano.LauncherLogProto.Action.Touch.TAP;
 
+import android.app.Activity;
 import android.app.ActivityOptions;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -49,6 +50,7 @@
 import com.android.systemui.shared.recents.view.AppTransitionAnimationSpecCompat;
 import com.android.systemui.shared.recents.view.AppTransitionAnimationSpecsFuture;
 import com.android.systemui.shared.recents.view.RecentsTransition;
+import com.android.systemui.shared.system.ActivityCompat;
 import com.android.systemui.shared.system.ActivityManagerWrapper;
 import com.android.systemui.shared.system.ActivityOptionsCompat;
 import com.android.systemui.shared.system.WindowManagerWrapper;
@@ -115,7 +117,7 @@
         }
 
         protected abstract boolean isAvailable(BaseDraggingActivity activity);
-        protected abstract ActivityOptions makeLaunchOptions();
+        protected abstract ActivityOptions makeLaunchOptions(Activity activity);
         protected abstract boolean onActivityStarted(BaseDraggingActivity activity);
 
         @Override
@@ -160,7 +162,7 @@
 
                 dismissTaskMenuView(activity);
 
-                ActivityOptions options = makeLaunchOptions();
+                ActivityOptions options = makeLaunchOptions(activity);
                 if (options != null
                         && ActivityManagerWrapper.getInstance().startActivityFromRecents(taskId,
                                 options)) {
@@ -222,8 +224,10 @@
         }
 
         @Override
-        protected ActivityOptions makeLaunchOptions() {
-            final int navBarPosition = WindowManagerWrapper.getInstance().getNavBarPosition();
+        protected ActivityOptions makeLaunchOptions(Activity activity) {
+            final ActivityCompat act = new ActivityCompat(activity);
+            final int navBarPosition = WindowManagerWrapper.getInstance().getNavBarPosition(
+                    act.getDisplayId());
             if (navBarPosition == WindowManagerWrapper.NAV_BAR_POS_INVALID) {
                 return null;
             }
@@ -257,7 +261,7 @@
         }
 
         @Override
-        protected ActivityOptions makeLaunchOptions() {
+        protected ActivityOptions makeLaunchOptions(Activity activity) {
             return ActivityOptionsCompat.makeFreeformOptions();
         }