From a244c0b70efcbdbd705998be3bbb755d96de963d Mon Sep 17 00:00:00 2001 From: Jordan Silva Date: Fri, 25 Oct 2024 14:18:02 +0000 Subject: [PATCH] Fix TAPL OverviewTask to use correct resource to measure height The background in DesktopTaskView wasn't added for accessibility, so it couldn't be retrieved from the view hierarchy during e2e tests. This view is necessary to calculate the correct size of the DesktopTaskView. The changes in this cl: - Add backgroundView to DesktopTaskView's children for accessibility - Use the correct snapshot resource for desktop mode in OverviewTask Bug: 353948500 Change-Id: I83746510849e4013d623d49cbaccebd81daba96d Flag: EXEMPT bugfix Test: TaplTestsOverviewDesktop --- .../src/com/android/quickstep/ViewUtils.java | 15 +++++++++++++++ .../android/quickstep/views/DesktopTaskView.kt | 6 ++++++ .../com/android/quickstep/views/TaskContainer.kt | 9 +-------- .../com/android/launcher3/tapl/OverviewTask.java | 2 +- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/quickstep/ViewUtils.java b/quickstep/src/com/android/quickstep/ViewUtils.java index 3b58dfcb39..cf6b04e8eb 100644 --- a/quickstep/src/com/android/quickstep/ViewUtils.java +++ b/quickstep/src/com/android/quickstep/ViewUtils.java @@ -23,6 +23,7 @@ import android.view.ViewRootImpl; import com.android.launcher3.Utilities; +import java.util.ArrayList; import java.util.function.BooleanSupplier; /** @@ -129,4 +130,18 @@ public class ViewUtils { } } } + + /** + * Adds the view to the list of accessible children. + * + * @param view The view to add. + * @param outChildren The list of accessible children. + */ + public static void addAccessibleChildToList(View view, ArrayList outChildren) { + if (view.includeForAccessibility()) { + outChildren.add(view); + } else { + view.addChildrenForAccessibility(outChildren); + } + } } diff --git a/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt b/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt index 6b145bd30d..15b0a6bcdf 100644 --- a/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt +++ b/quickstep/src/com/android/quickstep/views/DesktopTaskView.kt @@ -39,6 +39,7 @@ import com.android.launcher3.util.ViewPool import com.android.launcher3.util.rects.set import com.android.quickstep.BaseContainerInterface import com.android.quickstep.TaskOverlayFactory +import com.android.quickstep.ViewUtils import com.android.quickstep.task.thumbnail.TaskThumbnailView import com.android.quickstep.util.RecentsOrientedState import com.android.systemui.shared.recents.model.Task @@ -313,6 +314,11 @@ class DesktopTaskView @JvmOverloads constructor(context: Context, attrs: Attribu override fun getThumbnailFullscreenParams() = snapshotDrawParams + override fun addChildrenForAccessibility(outChildren: ArrayList) { + super.addChildrenForAccessibility(outChildren) + ViewUtils.addAccessibleChildToList(backgroundView, outChildren) + } + companion object { private const val TAG = "DesktopTaskView" private const val DEBUG = false diff --git a/quickstep/src/com/android/quickstep/views/TaskContainer.kt b/quickstep/src/com/android/quickstep/views/TaskContainer.kt index dc5ffeee12..959516fb3b 100644 --- a/quickstep/src/com/android/quickstep/views/TaskContainer.kt +++ b/quickstep/src/com/android/quickstep/views/TaskContainer.kt @@ -29,6 +29,7 @@ import com.android.launcher3.util.SplitConfigurationOptions import com.android.launcher3.util.TransformingTouchDelegate import com.android.quickstep.TaskOverlayFactory import com.android.quickstep.TaskUtils +import com.android.quickstep.ViewUtils.addAccessibleChildToList import com.android.quickstep.recents.di.RecentsDependencies import com.android.quickstep.recents.di.get import com.android.quickstep.recents.di.getScope @@ -182,12 +183,4 @@ class TaskContainer( showWindowsView?.let { addAccessibleChildToList(it, outChildren) } digitalWellBeingToast?.let { addAccessibleChildToList(it, outChildren) } } - - private fun addAccessibleChildToList(view: View, outChildren: ArrayList) { - if (view.includeForAccessibility()) { - outChildren.add(view) - } else { - view.addChildrenForAccessibility(outChildren) - } - } } diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java index 4da0122f8e..5fd4dac084 100644 --- a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java +++ b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java @@ -74,7 +74,7 @@ public final class OverviewTask { return getCombinedSplitTaskHeight(); } - UiObject2 taskSnapshot1 = findObjectInTask(DEFAULT.snapshotRes); + UiObject2 taskSnapshot1 = findObjectInTask((isDesktop() ? DESKTOP : DEFAULT).snapshotRes); return taskSnapshot1.getVisibleBounds().height(); }