Merge "Revert^2 "Inflate TaskThumbnailViewDeprecated as TaskContentView"" into main
diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
index 4f00381..cf0a3d5 100644
--- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java
+++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java
@@ -59,6 +59,7 @@
import java.io.PrintWriter;
import java.util.HashMap;
+import java.util.Locale;
public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAnimationListener {
public static final boolean SHELL_TRANSITIONS_ROTATION =
@@ -132,6 +133,17 @@
public RecentsAnimationCallbacks startRecentsAnimation(@NonNull GestureState gestureState,
Intent intent, RecentsAnimationCallbacks.RecentsAnimationListener listener) {
ActiveGestureProtoLogProxy.logStartRecentsAnimation();
+ // Check displayId
+ if (mDisplayId != gestureState.getDisplayId()) {
+ String msg = String.format(Locale.ENGLISH,
+ "Constructor displayId %d does not equal gestureState display id %d",
+ mDisplayId, gestureState.getDisplayId());
+ if (FeatureFlags.IS_STUDIO_BUILD) {
+ throw new IllegalArgumentException(msg);
+ } else {
+ Log.e("TaskAnimationManager", msg, new Exception());
+ }
+ }
// Notify if recents animation is still running
if (mController != null) {
String msg = "New recents animation started before old animation completed";
@@ -239,11 +251,11 @@
RemoteAnimationTarget appearedTaskTarget = appearedTaskTargets[0];
BaseContainerInterface containerInterface =
mLastGestureState.getContainerInterface();
-
for (RemoteAnimationTarget compat : appearedTaskTargets) {
if (compat.windowConfiguration.getActivityType() == ACTIVITY_TYPE_HOME
&& containerInterface.getCreatedContainer() instanceof RecentsActivity
- && DisplayController.getNavigationMode(mCtx) != NO_BUTTON) {
+ && DisplayController.INSTANCE.get(mCtx).getInfoForDisplay(
+ mDisplayId).getNavigationMode() != NO_BUTTON) {
// The only time we get onTasksAppeared() in button navigation with a
// 3p launcher is if the user goes to overview first, and in this case we
// can immediately finish the transition
diff --git a/quickstep/src/com/android/quickstep/views/IconAppChipView.kt b/quickstep/src/com/android/quickstep/views/IconAppChipView.kt
index 7683a15..46ed29b 100644
--- a/quickstep/src/com/android/quickstep/views/IconAppChipView.kt
+++ b/quickstep/src/com/android/quickstep/views/IconAppChipView.kt
@@ -122,7 +122,7 @@
field = max(value, minMaxWidth)
}
- var isExpanded: Boolean = false
+ var status: AppChipStatus = AppChipStatus.Collapsed
private set
override fun onFinishInflate() {
@@ -358,8 +358,8 @@
ObjectAnimator.ofFloat(iconArrowView, TRANSLATION_X, arrowTranslationWithRtl),
ObjectAnimator.ofFloat(iconArrowView, SCALE_Y, -1f),
)
- animator!!.setDuration(MENU_BACKGROUND_REVEAL_DURATION.toLong())
- isExpanded = true
+ animator!!.duration = MENU_BACKGROUND_REVEAL_DURATION.toLong()
+ status = AppChipStatus.Expanded
} else {
// Clip expanded text with reveal animation so it doesn't go beyond the edge of the menu
val expandedTextClipAnim =
@@ -393,8 +393,8 @@
ObjectAnimator.ofFloat(iconArrowView, TRANSLATION_X, 0f),
ObjectAnimator.ofFloat(iconArrowView, SCALE_Y, 1f),
)
- animator!!.setDuration(MENU_BACKGROUND_HIDE_DURATION.toLong())
- isExpanded = false
+ animator!!.duration = MENU_BACKGROUND_HIDE_DURATION.toLong()
+ status = AppChipStatus.Collapsed
}
if (!animated) animator!!.duration = 0
@@ -434,6 +434,11 @@
override fun asView(): View = this
+ enum class AppChipStatus {
+ Expanded,
+ Collapsed,
+ }
+
private companion object {
private val SUM_AGGREGATOR = FloatBiFunction { a: Float, b: Float -> a + b }
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index aa25738..4feeb95 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -3367,8 +3367,8 @@
int snappedPage = isKeyboardTaskFocusPending() ? mKeyboardTaskFocusIndex : getNextPage();
TaskView snappedTaskView = getTaskViewAt(snappedPage);
TaskView homeTaskView = getHomeTaskView();
- TaskView expectedCurrentTaskView = mUtils.getExpectedCurrentTask(getFocusedTaskView(),
- getRunningTaskView());
+ TaskView expectedCurrentTaskView = mUtils.getExpectedCurrentTask(getRunningTaskView(),
+ getFocusedTaskView());
TaskView nextFocusedTaskView = null;
// Don't clear the top row, if the user has dismissed a task, to maintain the task order.
diff --git a/quickstep/src/com/android/quickstep/views/TaskMenuView.kt b/quickstep/src/com/android/quickstep/views/TaskMenuView.kt
index 696f934..4d4ce4e 100644
--- a/quickstep/src/com/android/quickstep/views/TaskMenuView.kt
+++ b/quickstep/src/com/android/quickstep/views/TaskMenuView.kt
@@ -428,9 +428,7 @@
var additionalTranslationX = 0f
if (
- recentsViewContainer.deviceProfile.isLandscape &&
- taskContainer.stagePosition ==
- SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT
+ taskContainer.stagePosition == SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT
) {
// Animate menu and icon when split task would display off the side of the screen.
additionalTranslationX =
diff --git a/quickstep/src/com/android/quickstep/views/TaskView.kt b/quickstep/src/com/android/quickstep/views/TaskView.kt
index a30bb37..daecbfd 100644
--- a/quickstep/src/com/android/quickstep/views/TaskView.kt
+++ b/quickstep/src/com/android/quickstep/views/TaskView.kt
@@ -99,6 +99,7 @@
import com.android.quickstep.util.TaskRemovedDuringLaunchListener
import com.android.quickstep.util.displayId
import com.android.quickstep.util.isExternalDisplay
+import com.android.quickstep.views.IconAppChipView.AppChipStatus
import com.android.quickstep.views.RecentsView.UNBOUND_TASK_VIEW_ID
import com.android.systemui.shared.recents.model.Task
import com.android.systemui.shared.recents.model.ThumbnailData
@@ -1564,7 +1565,7 @@
recentsView.setTaskBorderEnabled(false)
}
return if (enableOverviewIconMenu() && menuContainer.iconView is IconAppChipView) {
- if (menuContainer.iconView.isExpanded) {
+ if (menuContainer.iconView.status == AppChipStatus.Expanded) {
closeTaskMenu()
} else {
menuContainer.iconView.revealAnim(/* isRevealing= */ true)
diff --git a/quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/bubbles/animation/BubbleBarViewAnimatorTest.kt b/quickstep/tests/src/com/android/launcher3/taskbar/bubbles/animation/BubbleBarViewAnimatorTest.kt
similarity index 100%
rename from quickstep/tests/multivalentTests/src/com/android/launcher3/taskbar/bubbles/animation/BubbleBarViewAnimatorTest.kt
rename to quickstep/tests/src/com/android/launcher3/taskbar/bubbles/animation/BubbleBarViewAnimatorTest.kt