Taskbar nav per-display
Test: local + unit Bug: 402364626 Flag: com.android.launcher3.enable_overview_on_connected_displays Change-Id: I9643367e19b107a2811e93db4e3dd32e9355da71
This commit is contained in:
@@ -326,7 +326,7 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
|
||||
|
||||
private void navigateHome() {
|
||||
TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY);
|
||||
mCallbacks.onNavigateHome();
|
||||
mCallbacks.onNavigateHome(mContext.getDisplayId());
|
||||
}
|
||||
|
||||
private void navigateToOverview() {
|
||||
@@ -335,11 +335,11 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
|
||||
}
|
||||
TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onOverviewToggle");
|
||||
TaskUtils.closeSystemWindowsAsync(CLOSE_SYSTEM_WINDOWS_REASON_RECENTS);
|
||||
mCallbacks.onToggleOverview();
|
||||
mCallbacks.onToggleOverview(mContext.getDisplayId());
|
||||
}
|
||||
|
||||
public void hideOverview() {
|
||||
mCallbacks.onHideOverview();
|
||||
mCallbacks.onHideOverview(mContext.getDisplayId());
|
||||
}
|
||||
|
||||
void sendBackKeyEvent(int action, boolean cancelled) {
|
||||
@@ -405,12 +405,12 @@ public class TaskbarNavButtonController implements TaskbarControllers.LoggableTa
|
||||
/** Callbacks for navigation buttons on Taskbar. */
|
||||
public interface TaskbarNavButtonCallbacks {
|
||||
/** Callback invoked when the home button is pressed. */
|
||||
default void onNavigateHome() {}
|
||||
default void onNavigateHome(int displayId) {}
|
||||
|
||||
/** Callback invoked when the overview button is pressed. */
|
||||
default void onToggleOverview() {}
|
||||
default void onToggleOverview(int displayId) {}
|
||||
|
||||
/** Callback invoken when a visible overview needs to be hidden. */
|
||||
default void onHideOverview() { }
|
||||
default void onHideOverview(int displayId) { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import static android.view.MotionEvent.ACTION_UP;
|
||||
|
||||
import static com.android.launcher3.Flags.enableCursorHoverStates;
|
||||
import static com.android.launcher3.Flags.enableHandleDelayedGestureCallbacks;
|
||||
import static com.android.launcher3.Flags.enableOverviewOnConnectedDisplays;
|
||||
import static com.android.launcher3.LauncherPrefs.backedUpItem;
|
||||
import static com.android.launcher3.MotionEventsUtils.isTrackpadMotionEvent;
|
||||
import static com.android.launcher3.MotionEventsUtils.isTrackpadMultiFingerSwipe;
|
||||
@@ -571,18 +572,30 @@ public class TouchInteractionService extends Service {
|
||||
|
||||
private final TaskbarNavButtonCallbacks mNavCallbacks = new TaskbarNavButtonCallbacks() {
|
||||
@Override
|
||||
public void onNavigateHome() {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HOME);
|
||||
public void onNavigateHome(int displayId) {
|
||||
if (enableOverviewOnConnectedDisplays()) {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HOME, displayId);
|
||||
} else {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HOME, DEFAULT_DISPLAY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onToggleOverview() {
|
||||
mOverviewCommandHelper.addCommand(CommandType.TOGGLE);
|
||||
public void onToggleOverview(int displayId) {
|
||||
if (enableOverviewOnConnectedDisplays()) {
|
||||
mOverviewCommandHelper.addCommand(CommandType.TOGGLE, displayId);
|
||||
} else {
|
||||
mOverviewCommandHelper.addCommand(CommandType.TOGGLE, DEFAULT_DISPLAY);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onHideOverview() {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HIDE);
|
||||
public void onHideOverview(int displayId) {
|
||||
if (enableOverviewOnConnectedDisplays()) {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HIDE, displayId);
|
||||
} else {
|
||||
mOverviewCommandHelper.addCommand(CommandType.HIDE, DEFAULT_DISPLAY);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+2
-2
@@ -87,12 +87,12 @@ public class TaskbarNavButtonControllerTest {
|
||||
private int mOverviewToggleCount;
|
||||
private final TaskbarNavButtonCallbacks mCallbacks = new TaskbarNavButtonCallbacks() {
|
||||
@Override
|
||||
public void onNavigateHome() {
|
||||
public void onNavigateHome(int displayId) {
|
||||
mHomePressCount++;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onToggleOverview() {
|
||||
public void onToggleOverview(int displayId) {
|
||||
mOverviewToggleCount++;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user