1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2023 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16 --> 17 18<MotionScene xmlns:android="http://schemas.android.com/apk/res/android" 19 xmlns:motion="http://schemas.android.com/apk/res-auto"> 20 21 <Transition 22 android:id="@+id/immersive_show_mic_and_camera_transition" 23 motion:constraintSetStart="@+id/immersive_chip_dot" 24 motion:constraintSetEnd="@+id/immersive_mic_and_camera_icon" 25 motion:duration="@integer/privacy_indicator_animation_duration" /> 26 27 <Transition 28 android:id="@+id/immersive_show_mic_transition" 29 motion:constraintSetStart="@+id/immersive_no_chip" 30 motion:constraintSetEnd="@+id/immersive_mic_icon" 31 motion:duration="@integer/privacy_indicator_animation_duration" /> 32 33 <Transition 34 android:id="@+id/immersive_show_camera_transition" 35 motion:constraintSetStart="@+id/immersive_no_chip" 36 motion:constraintSetEnd="@+id/immersive_camera_icon" 37 motion:duration="@integer/privacy_indicator_animation_duration" /> 38 39 <Transition 40 android:id="@+id/immersive_mic_and_camera_transition_collapse" 41 motion:constraintSetStart="@+id/immersive_mic_and_camera_icon" 42 motion:constraintSetEnd="@+id/immersive_chip_dot" 43 motion:duration="@integer/privacy_indicator_animation_duration" /> 44 45 <Transition 46 android:id="@+id/immersive_mic_transition_collapse" 47 motion:constraintSetStart="@+id/immersive_mic_icon" 48 motion:constraintSetEnd="@+id/immersive_chip_dot" 49 motion:duration="@integer/privacy_indicator_animation_duration" /> 50 51 <Transition 52 android:id="@+id/immersive_camera_transition_collapse" 53 motion:constraintSetStart="@+id/immersive_camera_icon" 54 motion:constraintSetEnd="@+id/immersive_chip_dot" 55 motion:duration="@integer/privacy_indicator_animation_duration" /> 56 57 <Transition 58 android:id="@+id/immersive_show_dot_transition" 59 motion:constraintSetStart="@+id/immersive_no_chip" 60 motion:constraintSetEnd="@+id/immersive_chip_dot" 61 motion:duration="@integer/privacy_indicator_animation_duration" /> 62 63 <Transition 64 android:id="@+id/immersive_hide_dot_transition" 65 motion:constraintSetStart="@+id/immersive_chip_dot" 66 motion:constraintSetEnd="@+id/immersive_no_chip" 67 motion:duration="@integer/privacy_indicator_animation_duration" /> 68 69 <ConstraintSet android:id="@+id/immersive_no_chip"> 70 <Constraint 71 android:id="@id/immersive_privacy_microphone" 72 android:contentDescription="@null" 73 android:layout_height="@dimen/fullscreen_indicator_height" 74 android:layout_width="@dimen/fullscreen_indicator_width" 75 android:scaleType="center" 76 android:src="@drawable/ic_mic_dark" 77 android:visibility="gone" 78 motion:layout_constraintEnd_toEndOf="parent" 79 motion:layout_constraintTop_toTopOf="parent" 80 motion:layout_constraintBottom_toBottomOf="parent"/> 81 <Constraint 82 android:id="@+id/immersive_privacy_camera" 83 android:contentDescription="@null" 84 android:layout_height="@dimen/fullscreen_indicator_height" 85 android:layout_width="@dimen/fullscreen_indicator_width" 86 android:scaleType="center" 87 android:src="@drawable/ic_camera_dark" 88 android:visibility="gone" 89 motion:layout_constraintEnd_toEndOf="parent" 90 motion:layout_constraintTop_toTopOf="parent" 91 motion:layout_constraintBottom_toBottomOf="parent"/> 92 <Constraint 93 android:id="@+id/immersive_privacy_dot" 94 android:contentDescription="@null" 95 android:layout_height="wrap_content" 96 android:layout_width="wrap_content" 97 android:scaleType="center" 98 android:src="@drawable/system_animation_ongoing_dot" 99 android:visibility="gone" 100 motion:layout_constraintEnd_toEndOf="parent" 101 motion:layout_constraintTop_toTopOf="parent"/> 102 </ConstraintSet> 103 104 <ConstraintSet android:id="@+id/immersive_mic_icon"> 105 <Constraint 106 android:id="@id/immersive_privacy_microphone" 107 android:contentDescription="@null" 108 android:layout_height="@dimen/fullscreen_indicator_height" 109 android:layout_width="@dimen/fullscreen_indicator_width" 110 android:scaleType="center" 111 android:src="@drawable/ic_mic_dark" 112 android:background="@drawable/privacy_chip_active_background_pill" 113 android:visibility="visible" 114 motion:layout_constraintEnd_toEndOf="parent" 115 motion:layout_constraintTop_toTopOf="parent" 116 motion:layout_constraintBottom_toBottomOf="parent"/> 117 <Constraint 118 android:id="@+id/immersive_privacy_camera" 119 android:contentDescription="@null" 120 android:layout_height="@dimen/fullscreen_indicator_height" 121 android:layout_width="@dimen/fullscreen_indicator_width" 122 android:scaleType="center" 123 android:src="@drawable/ic_camera_dark" 124 android:visibility="gone" 125 motion:layout_constraintEnd_toEndOf="parent" 126 motion:layout_constraintTop_toTopOf="parent" 127 motion:layout_constraintBottom_toBottomOf="parent"/> 128 <Constraint 129 android:id="@+id/immersive_privacy_dot" 130 android:contentDescription="@null" 131 android:layout_height="wrap_content" 132 android:layout_width="wrap_content" 133 android:scaleType="center" 134 android:src="@drawable/system_animation_ongoing_dot" 135 android:visibility="gone" 136 motion:layout_constraintEnd_toEndOf="parent" 137 motion:layout_constraintTop_toTopOf="parent"/> 138 </ConstraintSet> 139 140 <ConstraintSet android:id="@+id/immersive_camera_icon"> 141 <Constraint 142 android:id="@id/immersive_privacy_microphone" 143 android:contentDescription="@null" 144 android:layout_height="@dimen/fullscreen_indicator_height" 145 android:layout_width="@dimen/fullscreen_indicator_width" 146 android:scaleType="center" 147 android:src="@drawable/ic_mic_dark" 148 android:visibility="gone" 149 motion:layout_constraintEnd_toEndOf="parent" 150 motion:layout_constraintTop_toTopOf="parent" 151 motion:layout_constraintBottom_toBottomOf="parent"/> 152 <Constraint 153 android:id="@+id/immersive_privacy_camera" 154 android:contentDescription="@null" 155 android:layout_height="@dimen/fullscreen_indicator_height" 156 android:layout_width="@dimen/fullscreen_indicator_width" 157 android:scaleType="center" 158 android:src="@drawable/ic_camera_dark" 159 android:background="@drawable/privacy_chip_active_background_pill" 160 android:visibility="visible" 161 motion:layout_constraintEnd_toEndOf="parent" 162 motion:layout_constraintTop_toTopOf="parent" 163 motion:layout_constraintBottom_toBottomOf="parent"/> 164 <Constraint 165 android:id="@+id/immersive_privacy_dot" 166 android:contentDescription="@null" 167 android:layout_height="wrap_content" 168 android:layout_width="wrap_content" 169 android:scaleType="center" 170 android:src="@drawable/system_animation_ongoing_dot" 171 android:visibility="gone" 172 motion:layout_constraintEnd_toEndOf="parent" 173 motion:layout_constraintTop_toTopOf="parent"/> 174 </ConstraintSet> 175 176 <ConstraintSet android:id="@+id/immersive_chip_dot"> 177 <Constraint 178 android:id="@id/immersive_privacy_microphone" 179 android:contentDescription="@null" 180 android:layout_height="@dimen/fullscreen_indicator_height" 181 android:layout_width="@dimen/fullscreen_indicator_width" 182 android:scaleType="center" 183 android:src="@drawable/ic_mic_dark" 184 android:visibility="gone" 185 motion:layout_constraintEnd_toEndOf="parent" 186 motion:layout_constraintTop_toTopOf="parent" 187 motion:layout_constraintBottom_toBottomOf="parent"/> 188 <Constraint 189 android:id="@+id/immersive_privacy_camera" 190 android:contentDescription="@null" 191 android:layout_height="@dimen/fullscreen_indicator_height" 192 android:layout_width="@dimen/fullscreen_indicator_width" 193 android:scaleType="center" 194 android:src="@drawable/ic_camera_dark" 195 android:visibility="gone" 196 motion:layout_constraintEnd_toEndOf="parent" 197 motion:layout_constraintTop_toTopOf="parent" 198 motion:layout_constraintBottom_toBottomOf="parent"/> 199 <Constraint 200 android:id="@+id/immersive_privacy_dot" 201 android:contentDescription="@null" 202 android:layout_height="wrap_content" 203 android:layout_width="wrap_content" 204 android:scaleType="center" 205 android:src="@drawable/system_animation_ongoing_dot" 206 android:visibility="visible" 207 motion:layout_constraintEnd_toEndOf="parent" 208 motion:layout_constraintTop_toTopOf="parent"/> 209 </ConstraintSet> 210 211 <ConstraintSet android:id="@+id/immersive_mic_and_camera_icon"> 212 <Constraint 213 android:id="@id/immersive_privacy_microphone" 214 android:contentDescription="@null" 215 android:layout_height="@dimen/fullscreen_indicator_height" 216 android:layout_width="@dimen/fullscreen_indicator_width" 217 android:scaleType="center" 218 android:src="@drawable/ic_mic_dark" 219 android:visibility="visible" 220 motion:layout_constraintStart_toStartOf="parent" 221 motion:layout_constraintTop_toTopOf="parent" 222 motion:layout_constraintBottom_toBottomOf="parent"/> 223 <Constraint 224 android:id="@+id/immersive_privacy_camera" 225 android:contentDescription="@null" 226 android:layout_height="@dimen/fullscreen_indicator_height" 227 android:layout_width="@dimen/fullscreen_indicator_width" 228 android:scaleType="center" 229 android:src="@drawable/ic_camera_dark" 230 android:background="@drawable/privacy_chip_active_background_pill" 231 android:visibility="visible" 232 motion:layout_constraintEnd_toEndOf="parent" 233 motion:layout_constraintTop_toTopOf="parent" 234 motion:layout_constraintBottom_toBottomOf="parent"/> 235 <Constraint 236 android:id="@+id/immersive_privacy_dot" 237 android:contentDescription="@null" 238 android:layout_height="wrap_content" 239 android:layout_width="wrap_content" 240 android:scaleType="center" 241 android:src="@drawable/system_animation_ongoing_dot" 242 android:visibility="gone" 243 motion:layout_constraintEnd_toEndOf="parent" 244 motion:layout_constraintTop_toTopOf="parent"/> 245 </ConstraintSet> 246</MotionScene> 247