1<!-- 2 Copyright (C) 2020 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:scaleX="0.98" 46 android:scaleY="0.98" 47 android:visibility="invisible"> 48 49 <View 50 android:id="@+id/full_task_view" 51 android:layout_width="match_parent" 52 android:layout_height="match_parent" 53 android:visibility="invisible" 54 55 app:layout_constraintTop_toTopOf="parent" 56 app:layout_constraintBottom_toBottomOf="parent" 57 app:layout_constraintStart_toStartOf="parent" 58 app:layout_constraintEnd_toEndOf="parent"/> 59 60 61 <View 62 android:id="@+id/top_task_view" 63 android:layout_width="match_parent" 64 android:layout_height="0dp" 65 android:layout_marginBottom="@dimen/gesture_tutorial_multi_row_task_view_spacing" 66 android:background="@drawable/top_task_view" 67 android:clipToOutline="true" 68 android:visibility="invisible" 69 70 app:layout_constraintVertical_chainStyle="spread" 71 app:layout_constraintBottom_toTopOf="@id/bottom_task_view" 72 app:layout_constraintEnd_toEndOf="parent" 73 app:layout_constraintStart_toStartOf="parent" 74 app:layout_constraintTop_toTopOf="@id/full_task_view" /> 75 76 <View 77 android:id="@+id/bottom_task_view" 78 android:layout_width="match_parent" 79 android:layout_height="0dp" 80 android:background="@drawable/top_task_view" 81 android:clipToOutline="true" 82 android:visibility="invisible" 83 84 app:layout_constraintBottom_toBottomOf="@id/full_task_view" 85 app:layout_constraintEnd_toEndOf="parent" 86 app:layout_constraintStart_toStartOf="parent" 87 app:layout_constraintTop_toBottomOf="@id/top_task_view" /> 88 89 </com.android.quickstep.interaction.AnimatedTaskView> 90 91 <FrameLayout 92 android:id="@+id/gesture_tutorial_fake_task_view" 93 android:layout_width="match_parent" 94 android:layout_height="match_parent" 95 android:visibility="visible" /> 96 97 <View 98 android:id="@+id/gesture_tutorial_ripple_view" 99 android:layout_width="match_parent" 100 android:layout_height="match_parent" 101 android:background="@drawable/gesture_tutorial_ripple"/> 102 103 <include 104 layout="@layout/gesture_tutorial_tablet_mock_taskbar" 105 android:id="@+id/gesture_tutorial_fake_taskbar_view" 106 android:layout_width="wrap_content" 107 android:layout_height="wrap_content" 108 android:layout_alignParentBottom="true" 109 android:layout_centerHorizontal="true" 110 android:layout_marginBottom="@dimen/gesture_tutorial_taskbar_margin_bottom"/> 111 112 <ImageView 113 android:id="@+id/gesture_tutorial_edge_gesture_video" 114 android:layout_width="match_parent" 115 android:layout_height="match_parent" 116 android:layout_alignParentTop="true" 117 android:layout_alignParentBottom="true" 118 android:layout_alignParentStart="true" 119 android:layout_alignParentEnd="true" 120 android:scaleType="fitXY" 121 android:visibility="gone"/> 122 123 <androidx.constraintlayout.widget.ConstraintLayout 124 android:id="@+id/gesture_tutorial_fragment_feedback_view" 125 android:layout_width="match_parent" 126 android:layout_height="wrap_content" 127 android:layout_alignParentTop="true" 128 android:layout_centerHorizontal="true" 129 android:paddingTop="24dp" 130 android:paddingBottom="16dp" 131 android:paddingStart="24dp" 132 android:paddingEnd="24dp" 133 android:background="@drawable/bg_sandbox_feedback"> 134 135 <TextView 136 android:id="@+id/gesture_tutorial_fragment_feedback_title" 137 style="@style/TextAppearance.GestureTutorial.Feedback.Title" 138 android:layout_width="wrap_content" 139 android:layout_height="wrap_content" 140 141 app:layout_constraintStart_toStartOf="parent" 142 app:layout_constraintEnd_toEndOf="parent" 143 app:layout_constraintTop_toTopOf="parent"/> 144 145 <TextView 146 android:id="@+id/gesture_tutorial_fragment_feedback_subtitle" 147 style="@style/TextAppearance.GestureTutorial.Feedback.Subtitle" 148 android:layout_width="0dp" 149 android:layout_height="wrap_content" 150 android:layout_marginTop="16dp" 151 152 app:layout_constraintStart_toStartOf="parent" 153 app:layout_constraintEnd_toEndOf="parent" 154 app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_title"/> 155 156 <com.android.quickstep.interaction.TutorialStepIndicator 157 android:id="@+id/gesture_tutorial_fragment_feedback_tutorial_step" 158 android:layout_width="wrap_content" 159 android:layout_height="wrap_content" 160 161 app:layout_constraintStart_toStartOf="parent" 162 app:layout_constraintEnd_toEndOf="parent" 163 app:layout_constraintTop_toTopOf="@id/gesture_tutorial_fragment_action_button" 164 app:layout_constraintBottom_toBottomOf="@id/gesture_tutorial_fragment_action_button"/> 165 166 <Button 167 android:id="@+id/gesture_tutorial_fragment_action_button" 168 style="@style/TextAppearance.GestureTutorial.ButtonLabel" 169 android:layout_width="wrap_content" 170 android:layout_height="wrap_content" 171 android:layout_marginTop="32dp" 172 android:paddingTop="16dp" 173 android:paddingBottom="16dp" 174 android:paddingStart="26dp" 175 android:paddingEnd="26dp" 176 android:text="@string/gesture_tutorial_action_button_label" 177 android:background="@drawable/gesture_tutorial_action_button_background" 178 android:backgroundTint="?android:attr/colorAccent" 179 android:stateListAnimator="@null" 180 android:visibility="invisible" 181 182 app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle" 183 app:layout_constraintEnd_toEndOf="parent"/> 184 185 <Button 186 style="@style/TextAppearance.GestureTutorial.Feedback.Subtext" 187 android:id="@+id/gesture_tutorial_fragment_close_button" 188 android:layout_width="wrap_content" 189 android:layout_height="wrap_content" 190 android:layout_marginTop="32dp" 191 android:paddingTop="16dp" 192 android:paddingBottom="16dp" 193 android:text="@string/gesture_tutorial_action_button_label_skip" 194 android:background="?android:attr/selectableItemBackgroundBorderless" 195 196 app:layout_constraintTop_toBottomOf="@id/gesture_tutorial_fragment_feedback_subtitle" 197 app:layout_constraintStart_toStartOf="parent"/> 198 199 </androidx.constraintlayout.widget.ConstraintLayout> 200 201 <ImageView 202 android:id="@+id/gesture_tutorial_finger_dot" 203 android:layout_width="wrap_content" 204 android:layout_height="wrap_content" 205 android:src="@drawable/gesture_tutorial_finger_dot" 206 android:layout_centerHorizontal="true" 207 android:layout_centerVertical="true" 208 android:visibility="gone"/> 209 210</com.android.quickstep.interaction.RootSandboxLayout>