From 0aa30e2292f3dec84b5b1abaed0dfa3ce3535aad Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Fri, 26 May 2023 21:04:19 +0000 Subject: [PATCH] Fix how task stack listener closes overlays on task changes. Originally gated onTaskMovedToFront behind prototype because looked like it was causing overlay to close when it shouldn't. However, it turns out it was actually onTaskStackChanged that was doing this. Additionally, changing onTaskMovedToFront to close with animation, because this will fire if swiping up from all apps (going to overview so Launcher is considered as the task moving to front). Also, registered onTaskCreated to be a bit more thorough. Test: Manual (EDU, All Apps, and EDU + All Apps) Fix: 283373523 Flag: none Change-Id: I4cd3969f91a93bab190b764a656d9cfc03d1ce09 (cherry picked from commit 34c6b871afe341c7cd1ba70b590b4e2340240049) --- .../taskbar/overlay/TaskbarOverlayController.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java index 8de0e4079a..d4e2be9b49 100644 --- a/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java +++ b/quickstep/src/com/android/launcher3/taskbar/overlay/TaskbarOverlayController.java @@ -23,6 +23,7 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_REBIND_SAFE; import static com.android.launcher3.LauncherState.ALL_APPS; import android.annotation.SuppressLint; +import android.content.ComponentName; import android.content.Context; import android.graphics.PixelFormat; import android.view.Gravity; @@ -36,7 +37,6 @@ import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.DeviceProfile; import com.android.launcher3.taskbar.TaskbarActivityContext; import com.android.launcher3.taskbar.TaskbarControllers; -import com.android.quickstep.views.DesktopTaskView; import com.android.systemui.shared.system.TaskStackChangeListener; import com.android.systemui.shared.system.TaskStackChangeListeners; @@ -60,15 +60,15 @@ public final class TaskbarOverlayController { private final TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() { @Override - public void onTaskStackChanged() { - mProxyView.close(false); + public void onTaskCreated(int taskId, ComponentName componentName) { + // Created task will be below existing overlay, so move out of the way. + hideWindow(); } @Override public void onTaskMovedToFront(int taskId) { - if (DesktopTaskView.DESKTOP_MODE_SUPPORTED) { - mProxyView.close(false); - } + // New front task will be below existing overlay, so move out of the way. + hideWindow(); } };