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
This commit is contained in:
Jordan Silva
2024-10-25 14:18:02 +00:00
parent 7054095b16
commit a244c0b70e
4 changed files with 23 additions and 9 deletions

View File

@@ -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<View> outChildren) {
if (view.includeForAccessibility()) {
outChildren.add(view);
} else {
view.addChildrenForAccessibility(outChildren);
}
}
}

View File

@@ -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<View>) {
super.addChildrenForAccessibility(outChildren)
ViewUtils.addAccessibleChildToList(backgroundView, outChildren)
}
companion object {
private const val TAG = "DesktopTaskView"
private const val DEBUG = false

View File

@@ -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<View>) {
if (view.includeForAccessibility()) {
outChildren.add(view)
} else {
view.addChildrenForAccessibility(outChildren)
}
}
}

View File

@@ -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();
}