Files
lawnchair/quickstep/res/layout/task_grouped.xml
samcackett 2244b633cc Add TaskContentView wrapper to TaskThumbnailView
- Keep TaskThumbnailViewDeprecated as-is
- Due to flag guarding and xml changes, added bottomright_snapshot id
- Remove redundant FrameLayout from task_header_view.xml and refactor
the view to handle alignment correctly
- Move feature flag logic to the state mapper
- Extract TaskThumbnailViewHeader logic and any related state out of
TaskThumbnailView and move to TaskContentView
- Use vertical LinearLayoutManager to hold the TaskThumbnailViewHeader
and TaskThumbnailView
- Rename TaskThumbnailViewHeader to TaskHeaderView. Rename xml and state
 similarly

This reverts commit df6dc455a7.
This reverts commit 714370a9bfb2e53738b0cd9958acd6540d8d649c.

Reason for revert: Reland previously reverted CL's with fixes

Fix: 408971730
Fix: 397889146
Fix: 401469907
Fix: 402277471
Fix: 403826044
Flag: com.android.launcher3.enable_refactor_task_thumbnail
Test: TaskUiStateMapperTest & TaskContentViewScreenshotTest & TaskThumbnailViewScreenshotTest & TaskHeaderViewScreenshotTest & SwitchBetweenSplitPairsGesturalNavPortrait
Change-Id: I01758447ad1194ebbeab748113621b42f3384db8
2025-04-09 16:36:51 +01:00

93 lines
4.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!--
Copyright (C) 2021 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- NOTE! don't add dimensions for margins / paddings / sizes that change per orientation to this
file, they need to be loaded at runtime. -->
<!-- DOUBLE NOTE! Don't deviate IDs from task.xml since this layout acts as a "subclass" (read as
"bad code"). How can we use the view pool in RecentsView to use task.xml layout with using
GroupedTaskView.java class? Is that possible (while still keeping code in separate class) ? -->
<com.android.quickstep.views.GroupedTaskView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
xmlns:launcher="http://schemas.android.com/apk/res-auto"
android:id="@+id/task_view_grouped"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:defaultFocusHighlightEnabled="false"
android:focusable="true"
launcher:focusBorderColor="@color/materialColorOutline"
launcher:hoverBorderColor="@color/materialColorPrimary">
<ViewStub
android:id="@+id/task_content_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ViewStub
android:id="@+id/bottomright_task_content_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Filtering affects only alpha instead of the visibility since visibility can be altered
separately through RecentsView#resetFromSplitSelectionState() -->
<ImageView
android:id="@+id/show_windows"
android:layout_height="@dimen/recents_filter_icon_size"
android:layout_width="@dimen/recents_filter_icon_size"
android:layout_gravity="start"
android:alpha="0"
android:tint="@color/recents_filter_icon"
android:importantForAccessibility="no"
android:src="@drawable/ic_select_windows" />
<!-- Filtering affects only alpha instead of the visibility since visibility can be altered
separately through RecentsView#resetFromSplitSelectionState() -->
<ImageView
android:id="@+id/show_windows_right"
android:layout_height="@dimen/recents_filter_icon_size"
android:layout_width="@dimen/recents_filter_icon_size"
android:layout_gravity="end"
android:alpha="0"
android:tint="@color/recents_filter_icon"
android:importantForAccessibility="no"
android:src="@drawable/ic_select_windows" />
<ViewStub
android:id="@+id/icon"
android:inflatedId="@id/icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<ViewStub
android:id="@+id/bottomRight_icon"
android:inflatedId="@id/bottomRight_icon"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<ViewStub
android:id="@+id/digital_wellbeing_toast"
android:inflatedId="@id/digital_wellbeing_toast"
android:layout_width="match_parent"
android:layout_height="@dimen/digital_wellbeing_toast_height" />
<ViewStub
android:id="@+id/bottomRight_digital_wellbeing_toast"
android:inflatedId="@id/bottomRight_digital_wellbeing_toast"
android:layout_width="match_parent"
android:layout_height="@dimen/digital_wellbeing_toast_height" />
</com.android.quickstep.views.GroupedTaskView>