1<!--
2    Copyright (C) 2023 The Android Open Source Project
3
4    Licensed under the Apache License, Version 2.0 (the "License");
5    you may not use this file except in compliance with the License.
6    You may obtain a copy of the License at
7
8         http://www.apache.org/licenses/LICENSE-2.0
9
10    Unless required by applicable law or agreed to in writing, software
11    distributed under the License is distributed on an "AS IS" BASIS,
12    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13    See the License for the specific language governing permissions and
14    limitations under the License.
15-->
16<com.android.quickstep.interaction.RootSandboxLayout
17    xmlns:android="http://schemas.android.com/apk/res/android"
18    xmlns:app="http://schemas.android.com/apk/res-auto"
19    android:layout_width="match_parent"
20    android:layout_height="match_parent"
21    android:clipChildren="false">
22
23    <RelativeLayout
24        android:id="@+id/gesture_tutorial_fake_launcher_view"
25        android:layout_width="match_parent"
26        android:layout_height="match_parent">
27
28        <FrameLayout
29            android:id="@+id/gesture_tutorial_fake_hotseat_view"
30            android:layout_width="@dimen/gesture_tutorial_hotseat_width"
31            android:layout_height="@dimen/gesture_tutorial_hotseat_height" />
32
33    </RelativeLayout>
34
35    <com.android.launcher3.views.ClipIconView
36        android:id="@+id/gesture_tutorial_fake_icon_view"
37        android:layout_width="20dp"
38        android:layout_height="20dp"
39        android:visibility="invisible" />
40
41    <com.android.quickstep.interaction.AnimatedTaskView
42        android:id="@+id/gesture_tutorial_fake_previous_task_view"
43        android:layout_width="match_parent"
44        android:layout_height="match_parent"
45        android:visibility="invisible">
46
47        <View
48            android:id="@+id/full_task_view"
49            android:layout_width="match_parent"
50            android:layout_height="match_parent"
51            android:visibility="invisible"
52
53            app:layout_constraintBottom_toBottomOf="parent"
54            app:layout_constraintEnd_toEndOf="parent"
55            app:layout_constraintStart_toStartOf="parent"
56            app:layout_constraintTop_toTopOf="parent" />
57
58
59        <View
60            android:id="@+id/top_task_view"
61            android:layout_width="match_parent"
62            android:layout_height="0dp"
63            android:layout_marginBottom="@dimen/gesture_tutorial_multi_row_task_view_spacing"
64            android:background="@drawable/redesigned_top_task_view"
65            android:clipToOutline="true"
66            android:visibility="invisible"
67
68            app:layout_constraintBottom_toTopOf="@id/bottom_task_view"
69            app:layout_constraintEnd_toEndOf="parent"
70            app:layout_constraintStart_toStartOf="parent"
71            app:layout_constraintTop_toTopOf="@id/full_task_view" />
72
73        <View
74            android:id="@+id/bottom_task_view"
75            android:layout_width="match_parent"
76            android:layout_height="0dp"
77            android:background="@drawable/redesigned_top_task_view"
78            android:clipToOutline="true"
79            android:visibility="invisible"
80
81            app:layout_constraintBottom_toBottomOf="@id/full_task_view"
82            app:layout_constraintEnd_toEndOf="parent"
83            app:layout_constraintStart_toStartOf="parent"
84            app:layout_constraintTop_toBottomOf="@id/top_task_view" />
85
86    </com.android.quickstep.interaction.AnimatedTaskView>
87
88    <FrameLayout
89        android:id="@+id/gesture_tutorial_fake_task_view"
90        android:layout_width="match_parent"
91        android:layout_height="match_parent" />
92
93    <View
94        android:id="@+id/gesture_tutorial_ripple_view"
95        android:layout_width="match_parent"
96        android:layout_height="match_parent"
97        android:background="@drawable/gesture_tutorial_ripple" />
98
99    <ImageView
100        android:id="@+id/gesture_tutorial_edge_gesture_video"
101        android:layout_width="match_parent"
102        android:layout_height="match_parent"
103        android:layout_alignParentBottom="true"
104        android:layout_alignParentEnd="true"
105        android:layout_alignParentStart="true"
106        android:layout_alignParentTop="true"
107        android:scaleType="fitXY"
108        android:visibility="gone" />
109
110    <View
111        android:id="@+id/exiting_app_back"
112        android:layout_width="match_parent"
113        android:layout_height="match_parent"
114        android:layout_centerVertical="true"
115        android:visibility="gone" />
116
117    <RelativeLayout
118        android:id="@+id/full_gesture_demonstration"
119        android:layout_width="match_parent"
120        android:layout_height="match_parent">
121
122        <com.airbnb.lottie.LottieAnimationView
123            android:id="@+id/gesture_demonstration_animations"
124            android:layout_width="match_parent"
125            android:layout_height="match_parent"
126            android:gravity="center"
127            android:scaleType="matrix"
128            app:lottie_loop="true" />
129
130    </RelativeLayout>
131
132    <androidx.constraintlayout.widget.ConstraintLayout
133        android:id="@+id/gesture_tutorial_fragment_feedback_view"
134        android:layout_width="match_parent"
135        android:layout_height="wrap_content"
136        android:layout_alignParentTop="true"
137        android:layout_above="@id/gesture_tutorial_fragment_action_button"
138        android:layout_centerHorizontal="true"
139        android:background="@android:color/transparent"
140        android:paddingTop="24dp"
141        android:paddingHorizontal="24dp"
142        android:layout_marginBottom="16dp">
143
144        <TextView
145            android:id="@+id/gesture_tutorial_fragment_feedback_title"
146            android:layout_width="wrap_content"
147            android:layout_height="wrap_content"
148            android:layout_marginTop="104dp"
149            android:accessibilityHeading="true"
150            android:gravity="top"
151            android:lineSpacingExtra="-1sp"
152            android:textAppearance="@style/TextAppearance.GestureTutorial.MainTitle"
153            app:layout_constraintStart_toStartOf="parent"
154            app:layout_constraintTop_toTopOf="parent" />
155
156        <TextView
157            android:id="@+id/gesture_tutorial_fragment_feedback_subtitle"
158            android:layout_width="wrap_content"
159            android:layout_height="wrap_content"
160            android:layout_marginStart="1dp"
161            android:layout_marginTop="24dp"
162            android:lineSpacingExtra="4sp"
163            android:textAppearance="@style/TextAppearance.GestureTutorial.MainSubtitle"
164
165            app:layout_constraintStart_toStartOf="parent"
166            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_title" />
167
168        <com.android.quickstep.interaction.TutorialStepIndicator
169            android:id="@+id/gesture_tutorial_fragment_feedback_tutorial_step"
170            android:layout_width="wrap_content"
171            android:layout_height="wrap_content"
172
173            app:layout_constraintBottom_toBottomOf="parent"
174            app:layout_constraintEnd_toEndOf="parent"
175            app:layout_constraintStart_toStartOf="parent"
176            app:layout_constraintTop_toTopOf="parent" />
177
178        <Button
179            android:id="@+id/gesture_tutorial_fragment_close_button"
180            style="@style/TextAppearance.GestureTutorial.Feedback.Subtext"
181            android:layout_width="wrap_content"
182            android:layout_height="wrap_content"
183            android:layout_marginTop="32dp"
184            android:background="?android:attr/selectableItemBackgroundBorderless"
185            android:paddingBottom="16dp"
186            android:paddingTop="16dp"
187            android:text="@string/gesture_tutorial_action_button_label_skip"
188            android:visibility="gone"
189
190            app:layout_constraintStart_toStartOf="parent"
191            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle" />
192
193        <com.airbnb.lottie.LottieAnimationView
194            android:id="@+id/checkmark_animation"
195            android:layout_width="wrap_content"
196            android:layout_height="wrap_content"
197            android:layout_marginBottom="28dp"
198            android:gravity="center"
199            android:scaleType="centerCrop"
200            app:lottie_loop="false"
201            android:visibility="gone"
202
203            app:layout_constraintEnd_toEndOf="parent"
204            app:layout_constraintStart_toStartOf="parent"
205            app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle"
206            app:layout_constraintBottom_toBottomOf="parent" />
207
208
209    </androidx.constraintlayout.widget.ConstraintLayout>
210
211    <ImageView
212        android:id="@+id/gesture_tutorial_finger_dot"
213        android:layout_width="wrap_content"
214        android:layout_height="wrap_content"
215        android:layout_centerInParent="true"
216        android:src="@drawable/gesture_tutorial_finger_dot"
217        android:visibility="gone" />
218
219    <Button
220        android:id="@+id/gesture_tutorial_fragment_action_button"
221        android:layout_width="wrap_content"
222        android:layout_height="wrap_content"
223        android:layout_marginEnd="@dimen/gesture_tutorial_done_button_end_margin"
224        android:layout_marginBottom="@dimen/gesture_tutorial_done_button_bottom_margin"
225        android:layout_alignParentBottom="true"
226        android:layout_alignParentEnd="true"
227        android:background="@drawable/gesture_tutorial_action_button_background"
228        android:stateListAnimator="@null"
229        android:text="@string/gesture_tutorial_action_button_label"
230        android:visibility="invisible"
231         />
232
233</com.android.quickstep.interaction.RootSandboxLayout>