xref: /aosp_15_r20/frameworks/base/packages/SystemUI/res/drawable/ic_sysbar_rotate_button_ccw_start_0.xml (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3     Copyright (C) 2020 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<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt">
18    <aapt:attr name="android:drawable">
19        <vector android:name="root"
20                android:width="28dp"
21                android:height="28dp"
22                android:viewportWidth="28.0"
23                android:viewportHeight="28.0">
24            <!-- Use scaleX to flip icon so arrows always point in the direction of motion -->
25            <group android:name="icon" android:pivotX="14" android:pivotY="14"
26                   android:scaleX="1">
27                <!-- Tint color to be set directly -->
28                <path android:fillColor="#FFFFFFFF"
29                      android:pathData="M12.02,10.83L9.25,8.06l2.77,-2.77l1.12,1.12l-0.85,0.86h5.16c0.72,0 1.31,0.56 1.31,1.26v9.16l-1.58,-1.58V8.85h-4.89l0.86,0.86L12.02,10.83zM15.98,17.17l-1.12,1.12l0.85,0.86h-4.88v-7.26L9.25,10.3v9.17c0,0.7 0.59,1.26 1.31,1.26h5.16v0.01l-0.85,0.85l1.12,1.12l2.77,-2.77L15.98,17.17z"/>
30            </group>
31        </vector>
32    </aapt:attr>
33
34    <!-- Repeat all animations 5 times but don't fade out at the end -->
35    <target android:name="root">
36        <aapt:attr name="android:animation">
37            <set android:ordering="sequentially">
38                <!-- Linear fade in-->
39                <objectAnimator android:propertyName="alpha"
40                                android:duration="100"
41                                android:valueFrom="0"
42                                android:valueTo="1"
43                                android:interpolator="@android:anim/linear_interpolator" />
44                <!-- Linear fade out -->
45                <objectAnimator android:propertyName="alpha"
46                                android:duration="100"
47                                android:startOffset="1700"
48                                android:valueFrom="1"
49                                android:valueTo="0"
50                                android:interpolator="@android:anim/linear_interpolator"/>
51                <!-- Linear fade in-->
52                <objectAnimator android:propertyName="alpha"
53                                android:duration="100"
54                                android:startOffset="100"
55                                android:valueFrom="0"
56                                android:valueTo="1"
57                                android:interpolator="@android:anim/linear_interpolator" />
58                <!-- Linear fade out -->
59                <objectAnimator android:propertyName="alpha"
60                                android:duration="100"
61                                android:startOffset="1700"
62                                android:valueFrom="1"
63                                android:valueTo="0"
64                                android:interpolator="@android:anim/linear_interpolator"/>
65                <!-- Linear fade in-->
66                <objectAnimator android:propertyName="alpha"
67                                android:duration="100"
68                                android:startOffset="100"
69                                android:valueFrom="0"
70                                android:valueTo="1"
71                                android:interpolator="@android:anim/linear_interpolator" />
72                <!-- Linear fade out -->
73                <objectAnimator android:propertyName="alpha"
74                                android:duration="100"
75                                android:startOffset="1700"
76                                android:valueFrom="1"
77                                android:valueTo="0"
78                                android:interpolator="@android:anim/linear_interpolator"/>
79                <!-- Linear fade in-->
80                <objectAnimator android:propertyName="alpha"
81                                android:duration="100"
82                                android:startOffset="100"
83                                android:valueFrom="0"
84                                android:valueTo="1"
85                                android:interpolator="@android:anim/linear_interpolator" />
86                <!-- Linear fade out -->
87                <objectAnimator android:propertyName="alpha"
88                                android:duration="100"
89                                android:startOffset="1700"
90                                android:valueFrom="1"
91                                android:valueTo="0"
92                                android:interpolator="@android:anim/linear_interpolator"/>
93                <!-- Linear fade in-->
94                <objectAnimator android:propertyName="alpha"
95                                android:duration="100"
96                                android:startOffset="100"
97                                android:valueFrom="0"
98                                android:valueTo="1"
99                                android:interpolator="@android:anim/linear_interpolator" />
100            </set>
101        </aapt:attr>
102    </target>
103    <target android:name="icon">
104        <aapt:attr name="android:animation">
105            <set android:ordering="sequentially">
106                <!-- Icon rotation with start timing offset after fade in -->
107                <objectAnimator android:propertyName="rotation"
108                                android:startOffset="100"
109                                android:duration="600"
110                                android:valueFrom="0"
111                                android:valueTo="-90">
112                    <aapt:attr name="android:interpolator">
113                        <pathInterpolator android:pathData="M 0.0,0.0 c0.408,1.181 0.674,1.08 1.0,1.0"/>
114                    </aapt:attr>
115                </objectAnimator>
116
117                <!-- Reset rotation position for fade in -->
118                <objectAnimator android:propertyName="rotation"
119                                android:startOffset="1300"
120                                android:duration="100"
121                                android:valueFrom="0"
122                                android:valueTo="0"/>
123
124                <!-- Icon rotation with start timing offset after fade in -->
125                <objectAnimator android:propertyName="rotation"
126                                android:duration="600"
127                                android:valueFrom="0"
128                                android:valueTo="-90">
129                    <aapt:attr name="android:interpolator">
130                        <pathInterpolator android:pathData="M 0.0,0.0 c0.408,1.181 0.674,1.08 1.0,1.0"/>
131                    </aapt:attr>
132                </objectAnimator>
133
134                <!-- Reset rotation position for fade in -->
135                <objectAnimator android:propertyName="rotation"
136                                android:startOffset="1300"
137                                android:duration="100"
138                                android:valueFrom="0"
139                                android:valueTo="0"/>
140
141                <!-- Icon rotation with start timing offset after fade in -->
142                <objectAnimator android:propertyName="rotation"
143                                android:duration="600"
144                                android:valueFrom="0"
145                                android:valueTo="-90">
146                    <aapt:attr name="android:interpolator">
147                        <pathInterpolator android:pathData="M 0.0,0.0 c0.408,1.181 0.674,1.08 1.0,1.0"/>
148                    </aapt:attr>
149                </objectAnimator>
150
151                <!-- Reset rotation position for fade in -->
152                <objectAnimator android:propertyName="rotation"
153                                android:startOffset="1300"
154                                android:duration="100"
155                                android:valueFrom="0"
156                                android:valueTo="0"/>
157
158                <!-- Icon rotation with start timing offset after fade in -->
159                <objectAnimator android:propertyName="rotation"
160                                android:duration="600"
161                                android:valueFrom="0"
162                                android:valueTo="-90">
163                    <aapt:attr name="android:interpolator">
164                        <pathInterpolator android:pathData="M 0.0,0.0 c0.408,1.181 0.674,1.08 1.0,1.0"/>
165                    </aapt:attr>
166                </objectAnimator>
167
168                <!-- Reset rotation position for fade in -->
169                <objectAnimator android:propertyName="rotation"
170                                android:startOffset="1300"
171                                android:duration="100"
172                                android:valueFrom="0"
173                                android:valueTo="0"/>
174
175                <!-- Icon rotation with start timing offset after fade in -->
176                <objectAnimator android:propertyName="rotation"
177                                android:duration="600"
178                                android:valueFrom="0"
179                                android:valueTo="-90">
180                    <aapt:attr name="android:interpolator">
181                        <pathInterpolator android:pathData="M 0.0,0.0 c0.408,1.181 0.674,1.08 1.0,1.0"/>
182                    </aapt:attr>
183                </objectAnimator>
184            </set>
185        </aapt:attr>
186    </target>
187</animated-vector>