diff --git a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java index d5b06871b9..fc0dcd5119 100644 --- a/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java +++ b/quickstep/recents_ui_overrides/src/com/android/launcher3/uioverrides/states/OverviewModalTaskState.java @@ -20,6 +20,7 @@ import android.graphics.Rect; import com.android.launcher3.BaseDraggingActivity; import com.android.launcher3.Launcher; +import com.android.launcher3.LauncherState; import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType; import com.android.quickstep.views.RecentsView; @@ -56,6 +57,17 @@ public class OverviewModalTaskState extends OverviewState { return 1.0f; } + @Override + public void onBackPressed(Launcher launcher) { + launcher.getStateManager().goToState(LauncherState.OVERVIEW); + RecentsView recentsView = launcher.getOverviewPanel(); + if (recentsView != null) { + recentsView.resetModalVisuals(); + } else { + super.onBackPressed(launcher); + } + } + public static float[] getOverviewScaleAndOffsetForModalState(BaseDraggingActivity activity) { Rect out = new Rect(); activity.getOverviewPanel().getTaskSize(out); diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java index a6a08cb656..177f9a0b68 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java @@ -178,6 +178,12 @@ public class TaskOverlayFactory implements ResourceBasedOverride { public void reset() { } + /** + * Called when the system wants to reset the modal visuals. + */ + public void resetModalVisuals() { + } + /** * Gets the modal state system shortcut. */ diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java index 534ef7b689..22d306e06a 100644 --- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java @@ -1759,6 +1759,16 @@ public abstract class RecentsView extends PagedView impl return Math.max(getWidth(), 1); } + /** + * Resets the visuals when exit modal state. + */ + public void resetModalVisuals() { + TaskView taskView = getCurrentPageTaskView(); + if (taskView != null) { + taskView.getThumbnail().getTaskOverlay().resetModalVisuals(); + } + } + private void updateDeadZoneRects() { // Get the deadzone rect surrounding the clear all button to not dismiss overview to home mClearAllButtonDeadZoneRect.setEmpty();