Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1bb3a4d authored by Tiger Huang's avatar Tiger Huang
Browse files

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
parent f27ee6cf
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.quickstep;

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;
@@ -115,7 +116,7 @@ public class TaskSystemShortcut<T extends SystemShortcut> extends SystemShortcut
        }

        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 +161,7 @@ public class TaskSystemShortcut<T extends SystemShortcut> extends SystemShortcut

                dismissTaskMenuView(activity);

                ActivityOptions options = makeLaunchOptions();
                ActivityOptions options = makeLaunchOptions(activity);
                if (options != null
                        && ActivityManagerWrapper.getInstance().startActivityFromRecents(taskId,
                                options)) {
@@ -222,8 +223,9 @@ public class TaskSystemShortcut<T extends SystemShortcut> extends SystemShortcut
        }

        @Override
        protected ActivityOptions makeLaunchOptions() {
            final int navBarPosition = WindowManagerWrapper.getInstance().getNavBarPosition();
        protected ActivityOptions makeLaunchOptions(Activity activity) {
            final int navBarPosition = WindowManagerWrapper.getInstance().getNavBarPosition(
                    activity.getDisplayId());
            if (navBarPosition == WindowManagerWrapper.NAV_BAR_POS_INVALID) {
                return null;
            }
@@ -257,7 +259,7 @@ public class TaskSystemShortcut<T extends SystemShortcut> extends SystemShortcut
        }

        @Override
        protected ActivityOptions makeLaunchOptions() {
        protected ActivityOptions makeLaunchOptions(Activity activity) {
            return ActivityOptionsCompat.makeFreeformOptions();
        }