diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java index c1c85de413..2bcc229fff 100644 --- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java @@ -88,6 +88,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride { SystemShortcut screenshotShortcut = TaskShortcutFactory.SCREENSHOT .getShortcut(activity, taskView); if (screenshotShortcut != null) { + screenshotShortcut.setHasFinishRecentsInAction(true); shortcuts.add(screenshotShortcut); } @@ -96,6 +97,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride { SystemShortcut modalShortcut = TaskShortcutFactory.MODAL .getShortcut(activity, taskView); if (modalShortcut != null) { + modalShortcut.setHasFinishRecentsInAction(true); shortcuts.add(modalShortcut); } } diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.java b/quickstep/src/com/android/quickstep/views/TaskMenuView.java index d663635c79..b5ab40068b 100644 --- a/quickstep/src/com/android/quickstep/views/TaskMenuView.java +++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.java @@ -220,7 +220,7 @@ public class TaskMenuView extends AbstractFloatingView implements OnScrollChange menuOptionView.setEnabled(menuOption.isEnabled()); menuOptionView.setAlpha(menuOption.isEnabled() ? 1 : 0.5f); menuOptionView.setOnClickListener(view -> { - if (LIVE_TILE.get()) { + if (LIVE_TILE.get() && !menuOption.hasFinishRecentsInAction()) { RecentsView recentsView = mTaskView.getRecentsView(); recentsView.switchToScreenshot(null, () -> recentsView.finishRecentsAnimation(true /* toRecents */, diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java index e5424cfe0a..d3f4909296 100644 --- a/src/com/android/launcher3/popup/SystemShortcut.java +++ b/src/com/android/launcher3/popup/SystemShortcut.java @@ -50,6 +50,8 @@ public abstract class SystemShortcut extends Ite */ private boolean isEnabled = true; + private boolean mHasFinishRecentsInAction = false; + public SystemShortcut(int iconResId, int labelResId, T target, ItemInfo itemInfo) { mIconResId = iconResId; mLabelResId = labelResId; @@ -100,6 +102,14 @@ public abstract class SystemShortcut extends Ite return mAccessibilityActionId == action; } + public void setHasFinishRecentsInAction(boolean hasFinishRecentsInAction) { + mHasFinishRecentsInAction = hasFinishRecentsInAction; + } + + public boolean hasFinishRecentsInAction() { + return mHasFinishRecentsInAction; + } + public interface Factory { @Nullable SystemShortcut getShortcut(T activity, ItemInfo itemInfo);