From 7e211819971f5b757da87fccd38f4ca7298e1af1 Mon Sep 17 00:00:00 2001 From: "Xiaoqian (Daisy) Dai" Date: Fri, 9 May 2025 14:16:57 -0700 Subject: [PATCH] desktop-exploded-view: truncate the task header app title if it overflows A long app title can cause the close button to be covered. Flag: com.android.launcher3.enable_desktop_exploded_view Test: Manual Bug: 413387821 Change-Id: Id66cabb271ac6f4772969335232e3e9638828571 --- quickstep/res/layout/task_header_view.xml | 4 +- .../thumbnail/TaskHeaderViewScreenshotTest.kt | 50 +++++++++++++++---- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/quickstep/res/layout/task_header_view.xml b/quickstep/res/layout/task_header_view.xml index 849153fd9e..7e22f83a29 100644 --- a/quickstep/res/layout/task_header_view.xml +++ b/quickstep/res/layout/task_header_view.xml @@ -35,7 +35,8 @@ app:layout_constraintTop_toTopOf="parent" /> + screenshotRule.screenshotTest("taskHeaderView_showHeader", mode = WrapContent) { activity -> activity.actionBar?.hide() - createTaskHeaderView(activity).apply { - setState( - TaskHeaderUiState.ShowHeader( - TaskHeaderUiState.ThumbnailHeader( - BitmapDrawable(activity.resources, createSplash()), - "Example", - ) {} - ) + val container = FrameLayout(activity) + val headerView = createTaskHeaderView(activity) + + container.addView(headerView, CONTAINER_WIDTH, CONTAINER_HEIGHT) + headerView.setState( + TaskHeaderUiState.ShowHeader( + TaskHeaderUiState.ThumbnailHeader( + BitmapDrawable(activity.resources, createSplash()), + "Example", + ) {} ) - } + ) + container + } + } + + @Test + fun taskNarrowHeaderView_showHeader() { + screenshotRule.screenshotTest("taskNarrowHeaderView_showHeader", mode = WrapContent) { + activity -> + activity.actionBar?.hide() + val container = FrameLayout(activity) + val headerView = createTaskHeaderView(activity) + + container.addView(headerView, CONTAINER_NARROW_WIDTH, CONTAINER_HEIGHT) + headerView.setState( + TaskHeaderUiState.ShowHeader( + TaskHeaderUiState.ThumbnailHeader( + BitmapDrawable(activity.resources, createSplash()), + "Example", + ) {} + ) + ) + container } } @@ -68,6 +94,10 @@ class TaskHeaderViewScreenshotTest(emulationSpec: DeviceEmulationSpec) { } companion object { + private const val CONTAINER_HEIGHT = 65 + private const val CONTAINER_WIDTH = 400 + private const val CONTAINER_NARROW_WIDTH = 300 + @Parameters(name = "{0}") @JvmStatic fun getTestSpecs() =