blob: 2700a1cff5a7b4fc57692f95a204392dbbbd87aa [file] [log] [blame]
<?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.
-->
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
android:id="@+id/micOffFromInvisible"
motion:constraintSetStart="@id/invisible"
motion:constraintSetEnd="@id/mic_off"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>
<Transition
android:id="@+id/activeInitFromInvisible"
motion:constraintSetStart="@id/invisible"
motion:constraintSetEnd="@id/active_init"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>
<!-- TODO(182826082): Uncomment when implementing camera blocked functionality -->
<!-- <Transition
android:id="@+id/micOffFromActiveInit"
motion:constraintSetStart="@id/active_init"
motion:constraintSetEnd="@id/mic_off"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>-->
<Transition
android:id="@+id/activeInitFromInactive"
motion:constraintSetStart="@id/inactive"
motion:constraintSetEnd="@id/active_init"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>
<Transition
android:id="@+id/activeFromActiveInit"
motion:constraintSetStart="@id/active_init"
motion:constraintSetEnd="@id/active"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>
<!-- TODO(182826082): Uncomment when implementing camera blocked functionality -->
<!-- <Transition
android:id="@+id/micOffFromActive"
motion:constraintSetStart="@id/active"
motion:constraintSetEnd="@id/mic_off"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>-->
<Transition
android:id="@+id/invisibleFromInactive"
motion:constraintSetStart="@id/inactive"
motion:constraintSetEnd="@id/invisible"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration" />
<Transition
android:id="@+id/micOffFromInactive"
motion:constraintSetStart="@id/inactive"
motion:constraintSetEnd="@id/mic_off"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration"/>
<Transition
android:id="@+id/invisibleFromMicOff"
motion:constraintSetStart="@id/mic_off"
motion:constraintSetEnd="@id/invisible"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration" />
<Transition
android:id="@+id/inactiveFromActive"
motion:constraintSetStart="@id/active"
motion:constraintSetEnd="@id/inactive"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration" />
<Transition
android:id="@+id/inactiveFromActiveInit"
motion:constraintSetStart="@id/active_init"
motion:constraintSetEnd="@id/inactive"
motion:motionInterpolator="decelerate"
motion:duration="@integer/privacy_chip_animation_transition_duration" />
<ConstraintSet android:id="@+id/invisible">
<Constraint
android:id="@id/active_background"
android:alpha="0.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/inactive_background"
android:alpha="0.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/light_muted_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/light_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/dark_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
</ConstraintSet>
<ConstraintSet android:id="@+id/active_init">
<Constraint
android:id="@id/active_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/inactive_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_muted_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/dark_icon"
android:alpha="1.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
</ConstraintSet>
<ConstraintSet android:id="@+id/active">
<Constraint
android:id="@id/active_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/circular_active_indicator_vertical_guideline"
motion:layout_constraintTop_toTopOf="@id/circular_active_indicator_horizontal_guideline" />
<Constraint
android:id="@id/inactive_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_muted_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_icon"
android:alpha="1.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/dark_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toBottomOf="parent" />
</ConstraintSet>
<ConstraintSet android:id="@+id/inactive">
<Constraint
android:id="@id/active_background"
android:alpha="0.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/inactive_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_muted_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_icon"
android:alpha="1.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/dark_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
</ConstraintSet>
<ConstraintSet android:id="@+id/mic_off">
<Constraint
android:id="@id/active_background"
android:alpha="0.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toEndOf="parent"
motion:layout_constraintTop_toBottomOf="parent" />
<Constraint
android:id="@id/inactive_background"
android:alpha="1.0"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_muted_icon"
android:alpha="1.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/light_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
<Constraint
android:id="@id/dark_icon"
android:alpha="0.0"
android:layout_width="@dimen/privacy_chip_icon_size"
android:layout_height="@dimen/privacy_chip_icon_size"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="@id/max_width_guideline"
motion:layout_constraintTop_toTopOf="parent" />
</ConstraintSet>
</MotionScene>