From 55b8b43fefc8cd2f5b6c4c16c9cbeaf6c7f18d55 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 6 Feb 2024 13:04:51 +0000 Subject: [PATCH] Fix Select mode problem with animation off - Avoid calling resetTaskVisuals when entering Modal state with animation off, it should only be called when leaving Overview, to be consistent with animation on case - Use a separate property to control alpha for modalness, to avoid being overridden by other transition Fix: 320314839 Test: presubmit Flag: ACONFIG com.android.launcher3.enable_overview_icon_menu TEAMFOOD Change-Id: I12a35682e25c3a70bc263afdc90a7895d6c56f11 --- .../launcher3/uioverrides/RecentsViewStateController.java | 1 + .../src/com/android/quickstep/views/IconAppChipView.java | 8 +++++++- quickstep/src/com/android/quickstep/views/IconView.java | 5 +++++ quickstep/src/com/android/quickstep/views/TaskView.java | 2 +- .../src/com/android/quickstep/views/TaskViewIcon.java | 5 +++++ 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java index c961302d3b..e6a115abcd 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java @@ -69,6 +69,7 @@ public final class RecentsViewStateController extends super.setState(state); if (state.overviewUi) { mRecentsView.updateEmptyMessage(); + } else { mRecentsView.resetTaskVisuals(); } setAlphas(PropertySetter.NO_ANIM_PROPERTY_SETTER, new StateAnimationConfig(), state); diff --git a/quickstep/src/com/android/quickstep/views/IconAppChipView.java b/quickstep/src/com/android/quickstep/views/IconAppChipView.java index 0a261ef095..3347665e84 100644 --- a/quickstep/src/com/android/quickstep/views/IconAppChipView.java +++ b/quickstep/src/com/android/quickstep/views/IconAppChipView.java @@ -52,9 +52,10 @@ public class IconAppChipView extends FrameLayout implements TaskViewIcon { private static final int MENU_BACKGROUND_REVEAL_DURATION = 417; private static final int MENU_BACKGROUND_HIDE_DURATION = 333; - private static final int NUM_ALPHA_CHANNELS = 2; + private static final int NUM_ALPHA_CHANNELS = 3; private static final int INDEX_CONTENT_ALPHA = 0; private static final int INDEX_COLOR_FILTER_ALPHA = 1; + private static final int INDEX_MODAL_ALPHA = 2; private final MultiValueAlpha mMultiValueAlpha; @@ -306,6 +307,11 @@ public class IconAppChipView extends FrameLayout implements TaskViewIcon { mMultiValueAlpha.get(INDEX_CONTENT_ALPHA).setValue(alpha); } + @Override + public void setModalAlpha(float alpha) { + mMultiValueAlpha.get(INDEX_MODAL_ALPHA).setValue(alpha); + } + @Override public int getDrawableWidth() { return mIconView == null ? 0 : mIconView.getDrawableWidth(); diff --git a/quickstep/src/com/android/quickstep/views/IconView.java b/quickstep/src/com/android/quickstep/views/IconView.java index 042f58170b..4d33fda55c 100644 --- a/quickstep/src/com/android/quickstep/views/IconView.java +++ b/quickstep/src/com/android/quickstep/views/IconView.java @@ -148,6 +148,11 @@ public class IconView extends View implements TaskViewIcon { setAlpha(alpha); } + @Override + public void setModalAlpha(float alpha) { + setAlpha(alpha); + } + @Override public void setAlpha(float alpha) { super.setAlpha(alpha); diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 1b3e3c4968..5057c383e5 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -632,7 +632,7 @@ public class TaskView extends FrameLayout implements Reusable { return; } mModalness = modalness; - mIconView.setContentAlpha(1 - modalness); + mIconView.setModalAlpha(1 - modalness); mDigitalWellBeingToast.updateBannerOffset(modalness); } diff --git a/quickstep/src/com/android/quickstep/views/TaskViewIcon.java b/quickstep/src/com/android/quickstep/views/TaskViewIcon.java index 4e82725d98..94739cbc90 100644 --- a/quickstep/src/com/android/quickstep/views/TaskViewIcon.java +++ b/quickstep/src/com/android/quickstep/views/TaskViewIcon.java @@ -42,6 +42,11 @@ public interface TaskViewIcon { */ void setContentAlpha(float alpha); + /** + * Sets the opacity of the view for modal state. + */ + void setModalAlpha(float alpha); + /** * Returns this icon view's drawable. */