summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Matt Pietal <mpietal@google.com> 2020-06-01 17:28:30 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-01 17:28:30 +0000
commitacae3f2bbb69a3fd5892d40295d5c5013b13991e (patch)
treedcd0d1339e43f824536cddfcc1305545b5278c9a
parent189fb115a008df2fdeb939fcdd2c79211c681df1 (diff)
parent2fa6c597b338a380fc9a3fd0338f095aaacda823 (diff)
Merge "Controls UI - Animated icons" into rvc-dev am: 2fa6c597b3
Change-Id: I8f6cdf1039f4207e7591036acea6eb505ffc722d
-rw-r--r--packages/SystemUI/res/drawable/ic_device_air_freshener.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_air_purifier.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_blinds.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_blinds_off_anim.xml140
-rw-r--r--packages/SystemUI/res/drawable/ic_device_blinds_on_anim.xml141
-rw-r--r--packages/SystemUI/res/drawable/ic_device_camera.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_camera_off_anim.xml58
-rw-r--r--packages/SystemUI/res/drawable/ic_device_camera_on_anim.xml60
-rw-r--r--packages/SystemUI/res/drawable/ic_device_cooking.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_dishwasher.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_display.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_door.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_doorbell.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_drawer.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_fan.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_fan_off_anim.xml91
-rw-r--r--packages/SystemUI/res/drawable/ic_device_fan_on_anim.xml80
-rw-r--r--packages/SystemUI/res/drawable/ic_device_garage.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_garage_off_anim.xml290
-rw-r--r--packages/SystemUI/res/drawable/ic_device_garage_on_anim.xml295
-rw-r--r--packages/SystemUI/res/drawable/ic_device_gate.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_hood.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_kettle.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_light.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_light_off_anim.xml65
-rw-r--r--packages/SystemUI/res/drawable/ic_device_light_on_anim.xml58
-rw-r--r--packages/SystemUI/res/drawable/ic_device_lock.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_lock_off_anim.xml164
-rw-r--r--packages/SystemUI/res/drawable/ic_device_lock_on_anim.xml159
-rw-r--r--packages/SystemUI/res/drawable/ic_device_microwave.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_mop.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_multicooker.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_outdoor_garden.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_outlet.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_outlet_off_anim.xml86
-rw-r--r--packages/SystemUI/res/drawable/ic_device_outlet_on_anim.xml107
-rw-r--r--packages/SystemUI/res/drawable/ic_device_pergola.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_refrigerator.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_remote_control.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_security_system.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_security_system_off_anim.xml91
-rw-r--r--packages/SystemUI/res/drawable/ic_device_security_system_on_anim.xml91
-rw-r--r--packages/SystemUI/res/drawable/ic_device_set_top.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_sprinkler.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_styler.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_switch.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_switch_off_anim.xml106
-rw-r--r--packages/SystemUI/res/drawable/ic_device_switch_on_anim.xml106
-rw-r--r--packages/SystemUI/res/drawable/ic_device_thermostat.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_thermostat_off_anim.xml56
-rw-r--r--packages/SystemUI/res/drawable/ic_device_thermostat_on_anim.xml56
-rw-r--r--packages/SystemUI/res/drawable/ic_device_tv.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_tv_off_anim.xml56
-rw-r--r--packages/SystemUI/res/drawable/ic_device_tv_on_anim.xml56
-rw-r--r--packages/SystemUI/res/drawable/ic_device_unknown.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_vacuum.xml35
-rw-r--r--packages/SystemUI/res/drawable/ic_device_vacuum_off_anim.xml72
-rw-r--r--packages/SystemUI/res/drawable/ic_device_vacuum_on_anim.xml72
-rw-r--r--packages/SystemUI/res/drawable/ic_device_valve.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_washer.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_water.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_water_heater.xml27
-rw-r--r--packages/SystemUI/res/drawable/ic_device_window.xml27
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt18
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt300
67 files changed, 3784 insertions, 243 deletions
diff --git a/packages/SystemUI/res/drawable/ic_device_air_freshener.xml b/packages/SystemUI/res/drawable/ic_device_air_freshener.xml
new file mode 100644
index 000000000000..5050223302b3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_air_freshener.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_air_freshener_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_air_freshener_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_air_purifier.xml b/packages/SystemUI/res/drawable/ic_device_air_purifier.xml
new file mode 100644
index 000000000000..7de46bf24be4
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_air_purifier.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_air_purifier_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_air_purifier_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_blinds.xml b/packages/SystemUI/res/drawable/ic_device_blinds.xml
new file mode 100644
index 000000000000..104da7e66887
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_blinds_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_blinds_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_blinds_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_blinds_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_blinds_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_blinds_off_anim.xml
new file mode 100644
index 000000000000..1eaccf58ac9f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds_off_anim.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G_N_2_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_2_G_T_1" android:translateX="0" android:translateY="-3.032">
+ <group android:name="_R_G_L_2_G" android:translateY="3.032">
+ <group android:name="_R_G_L_2_C_0_G">
+ <clip-path android:name="_R_G_L_2_C_0" android:pathData=" M10.68 -9.87 C10.68,-9.87 -10.19,-9.87 -10.19,-9.87 C-10.19,-9.87 -10.19,7.92 -10.19,7.92 C-10.19,7.92 10.68,7.92 10.68,7.92 C10.68,7.92 10.68,-9.87 10.68,-9.87c "/>
+ <group android:name="_R_G_L_2_C_0_G_G">
+ <path android:name="_R_G_L_2_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -1 C-6,-1 -6,-6.47 -6,-6.47 C-6,-6.47 6,-6.47 6,-6.47 C6,-6.47 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,1.28 1,1.28 C1.38,1.5 1.68,1.84 1.85,2.24 C2.02,2.65 2.05,3.1 1.93,3.53 C1.82,3.95 1.57,4.33 1.22,4.6 C0.87,4.86 0.44,5.01 0,5.01 C-0.44,5.01 -0.87,4.86 -1.22,4.6 C-1.57,4.33 -1.82,3.95 -1.93,3.53 C-2.05,3.1 -2.02,2.65 -1.85,2.24 C-1.68,1.84 -1.38,1.5 -1,1.28 C-1,1.28 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_2_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -5.97 C-6,-5.97 -6,6 -6,6 C-6,6 6,6 6,6 C6,6 6,-5.97 6,-5.97 C6,-5.97 -6,-5.97 -6,-5.97c M8 -8 C8,-8 8,6 8,6 C8,6 10,6 10,6 C10,6 10,8 10,8 C10,8 -10,8 -10,8 C-10,8 -10,6 -10,6 C-10,6 -8,6 -8,6 C-8,6 -8,-8 -8,-8 C-8,-8 8,-8 8,-8c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_2_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_0_G_T_1" android:translateX="0" android:translateY="-13.407">
+ <group android:name="_R_G_L_0_G" android:translateY="3.032">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M10.68 2.46 C10.68,2.46 -10.19,2.46 -10.19,2.46 C-10.19,2.46 -10.19,20.26 -10.19,20.26 C-10.19,20.26 10.68,20.26 10.68,20.26 C10.68,20.26 10.68,2.46 10.68,2.46c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,-0.47 1,-0.47 C1.38,-0.25 1.68,0.09 1.85,0.49 C2.02,0.9 2.05,1.35 1.93,1.78 C1.82,2.2 1.57,2.58 1.22,2.85 C0.87,3.11 0.44,3.26 0,3.26 C-0.44,3.26 -0.87,3.11 -1.22,2.85 C-1.57,2.58 -1.82,2.2 -1.93,1.78 C-2.05,1.35 -2.02,0.9 -1.85,0.49 C-1.68,0.09 -1.38,-0.25 -1,-0.47 C-1,-0.47 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="0" android:valueFrom="M10.68 -9.87 C10.68,-9.87 -10.19,-9.87 -10.19,-9.87 C-10.19,-9.87 -10.19,7.92 -10.19,7.92 C-10.19,7.92 10.68,7.92 10.68,7.92 C10.68,7.92 10.68,-9.87 10.68,-9.87c " android:valueTo="M10.68 -19.87 C10.68,-19.87 -10.19,-19.87 -10.19,-19.87 C-10.19,-19.87 -10.19,-6.87 -10.19,-6.87 C-10.19,-6.87 10.68,-6.87 10.68,-6.87 C10.68,-6.87 10.68,-19.87 10.68,-19.87c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_T_1">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="317" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-3.032C 0,-3.516 0,10.093 0,10.093">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="67" android:startOffset="0" android:valueFrom="M10.68 2.46 C10.68,2.46 -10.19,2.46 -10.19,2.46 C-10.19,2.46 -10.19,20.26 -10.19,20.26 C-10.19,20.26 10.68,20.26 10.68,20.26 C10.68,20.26 10.68,2.46 10.68,2.46c " android:valueTo="M10.68 2.46 C10.68,2.46 -10.19,2.46 -10.19,2.46 C-10.19,2.46 -10.19,20.26 -10.19,20.26 C-10.19,20.26 10.68,20.26 10.68,20.26 C10.68,20.26 10.68,2.46 10.68,2.46c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="433" android:startOffset="67" android:valueFrom="M10.68 2.46 C10.68,2.46 -10.19,2.46 -10.19,2.46 C-10.19,2.46 -10.19,20.26 -10.19,20.26 C-10.19,20.26 10.68,20.26 10.68,20.26 C10.68,20.26 10.68,2.46 10.68,2.46c " android:valueTo="M10.68 -7.87 C10.68,-7.87 -10.19,-7.87 -10.19,-7.87 C-10.19,-7.87 -10.19,9.92 -10.19,9.92 C-10.19,9.92 10.68,9.92 10.68,9.92 C10.68,9.92 10.68,-7.87 10.68,-7.87c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="67" android:startOffset="0" android:valueFrom="M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,-0.47 1,-0.47 C1.38,-0.25 1.68,0.09 1.85,0.49 C2.02,0.9 2.05,1.35 1.93,1.78 C1.82,2.2 1.57,2.58 1.22,2.85 C0.87,3.11 0.44,3.26 0,3.26 C-0.44,3.26 -0.87,3.11 -1.22,2.85 C-1.57,2.58 -1.82,2.2 -1.93,1.78 C-2.05,1.35 -2.02,0.9 -1.85,0.49 C-1.68,0.09 -1.38,-0.25 -1,-0.47 C-1,-0.47 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c " android:valueTo="M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,-0.47 1,-0.47 C1.38,-0.25 1.68,0.09 1.85,0.49 C2.02,0.9 2.05,1.35 1.93,1.78 C1.82,2.2 1.57,2.58 1.22,2.85 C0.87,3.11 0.44,3.26 0,3.26 C-0.44,3.26 -0.87,3.11 -1.22,2.85 C-1.57,2.58 -1.82,2.2 -1.93,1.78 C-2.05,1.35 -2.02,0.9 -1.85,0.49 C-1.68,0.09 -1.38,-0.25 -1,-0.47 C-1,-0.47 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="433" android:startOffset="67" android:valueFrom="M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,-0.47 1,-0.47 C1.38,-0.25 1.68,0.09 1.85,0.49 C2.02,0.9 2.05,1.35 1.93,1.78 C1.82,2.2 1.57,2.58 1.22,2.85 C0.87,3.11 0.44,3.26 0,3.26 C-0.44,3.26 -0.87,3.11 -1.22,2.85 C-1.57,2.58 -1.82,2.2 -1.93,1.78 C-2.05,1.35 -2.02,0.9 -1.85,0.49 C-1.68,0.09 -1.38,-0.25 -1,-0.47 C-1,-0.47 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c " android:valueTo="M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,1.28 1,1.28 C1.38,1.5 1.68,1.84 1.85,2.24 C2.02,2.65 2.05,3.1 1.93,3.53 C1.82,3.95 1.57,4.33 1.22,4.6 C0.87,4.86 0.44,5.01 0,5.01 C-0.44,5.01 -0.87,4.86 -1.22,4.6 C-1.57,4.33 -1.82,3.95 -1.93,3.53 C-2.05,3.1 -2.02,2.65 -1.85,2.24 C-1.68,1.84 -1.38,1.5 -1,1.28 C-1,1.28 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_T_1">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="67" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-13.407C 0,-13.407 0,-12.568 0,-13.407">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="433" android:startOffset="67" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-13.407C 0,-13.407 0,-2.193 0,-3.032">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_2_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="67" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_blinds_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_blinds_on_anim.xml
new file mode 100644
index 000000000000..de87f8112a9b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds_on_anim.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_2_G_T_1" android:translateX="0" android:translateY="-3.032">
+ <group android:name="_R_G_L_2_G" android:translateY="3.032">
+ <group android:name="_R_G_L_2_C_0_G">
+ <clip-path android:name="_R_G_L_2_C_0" android:pathData=" M10.68 -9.87 C10.68,-9.87 -10.19,-9.87 -10.19,-9.87 C-10.19,-9.87 -10.19,7.92 -10.19,7.92 C-10.19,7.92 10.68,7.92 10.68,7.92 C10.68,7.92 10.68,-9.87 10.68,-9.87c "/>
+ <group android:name="_R_G_L_2_C_0_G_G">
+ <path android:name="_R_G_L_2_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -1 C-6,-1 -6,-3.03 -6,-3.03 C-6,-3.03 6,-3.03 6,-3.03 C6,-3.03 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,1.28 1,1.28 C1.38,1.5 1.68,1.84 1.85,2.24 C2.02,2.65 2.05,3.1 1.93,3.53 C1.82,3.95 1.57,4.33 1.22,4.6 C0.87,4.86 0.44,5.01 0,5.01 C-0.44,5.01 -0.87,4.86 -1.22,4.6 C-1.57,4.33 -1.82,3.95 -1.93,3.53 C-2.05,3.1 -2.02,2.65 -1.85,2.24 C-1.68,1.84 -1.38,1.5 -1,1.28 C-1,1.28 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -5.97 C-6,-5.97 -6,6 -6,6 C-6,6 6,6 6,6 C6,6 6,-5.97 6,-5.97 C6,-5.97 -6,-5.97 -6,-5.97c M8 -8 C8,-8 8,6 8,6 C8,6 10,6 10,6 C10,6 10,8 10,8 C10,8 -10,8 -10,8 C-10,8 -10,6 -10,6 C-10,6 -8,6 -8,6 C-8,6 -8,-8 -8,-8 C-8,-8 8,-8 8,-8c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_0_G_T_1" android:translateX="0" android:translateY="-8.064">
+ <group android:name="_R_G_L_0_G" android:translateY="3.032">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M7.78 -2 C7.78,-2 -7.75,-2 -7.75,-2 C-7.75,-2 -7.75,12.15 -7.75,12.15 C-7.75,12.15 7.78,12.15 7.78,12.15 C7.78,12.15 7.78,-2 7.78,-2c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 -5.37 C-6,-5.37 -6,-6.88 -6,-6.88 C-6,-6.88 6,-6.88 6,-6.88 C6,-6.88 6,-5.37 6,-5.37 C6,-5.37 1,-5.37 1,-5.37 C1,-5.37 1,-5.34 1,-5.34 C1.38,-5.12 1.68,-4.78 1.85,-4.37 C2.02,-3.97 2.05,-3.52 1.93,-3.09 C1.82,-2.67 1.57,-2.29 1.22,-2.02 C0.87,-1.75 0.44,-1.61 0,-1.61 C-0.44,-1.61 -0.87,-1.75 -1.22,-2.02 C-1.57,-2.29 -1.82,-2.67 -1.93,-3.09 C-2.05,-3.52 -2.02,-3.97 -1.85,-4.37 C-1.68,-4.78 -1.38,-5.12 -1,-5.34 C-1,-5.34 -1,-5.37 -1,-5.37 C-1,-5.37 -6,-5.37 -6,-5.37c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="0" android:valueFrom="M10.68 -9.87 C10.68,-9.87 -10.19,-9.87 -10.19,-9.87 C-10.19,-9.87 -10.19,7.92 -10.19,7.92 C-10.19,7.92 10.68,7.92 10.68,7.92 C10.68,7.92 10.68,-9.87 10.68,-9.87c " android:valueTo="M10.68 -19.87 C10.68,-19.87 -10.19,-19.87 -10.19,-19.87 C-10.19,-19.87 -10.19,-2.08 -10.19,-2.08 C-10.19,-2.08 10.68,-2.08 10.68,-2.08 C10.68,-2.08 10.68,-19.87 10.68,-19.87c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_T_1">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="317" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-3.032C 0,-3.516 0,6.968 0,6.968">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="67" android:startOffset="0" android:valueFrom="M7.78 -2 C7.78,-2 -7.75,-2 -7.75,-2 C-7.75,-2 -7.75,12.15 -7.75,12.15 C-7.75,12.15 7.78,12.15 7.78,12.15 C7.78,12.15 7.78,-2 7.78,-2c " android:valueTo="M7.78 -2 C7.78,-2 -7.75,-2 -7.75,-2 C-7.75,-2 -7.75,12.15 -7.75,12.15 C-7.75,12.15 7.78,12.15 7.78,12.15 C7.78,12.15 7.78,-2 7.78,-2c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="433" android:startOffset="67" android:valueFrom="M7.78 -2 C7.78,-2 -7.75,-2 -7.75,-2 C-7.75,-2 -7.75,12.15 -7.75,12.15 C-7.75,12.15 7.78,12.15 7.78,12.15 C7.78,12.15 7.78,-2 7.78,-2c " android:valueTo="M7.78 -7 C7.78,-7 -7.75,-7 -7.75,-7 C-7.75,-7 -7.75,7.15 -7.75,7.15 C-7.75,7.15 7.78,7.15 7.78,7.15 C7.78,7.15 7.78,-7 7.78,-7c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="67" android:startOffset="0" android:valueFrom="M-6 -5.37 C-6,-5.37 -6,-6.88 -6,-6.88 C-6,-6.88 6,-6.88 6,-6.88 C6,-6.88 6,-5.37 6,-5.37 C6,-5.37 1,-5.37 1,-5.37 C1,-5.37 1,-5.34 1,-5.34 C1.38,-5.12 1.68,-4.78 1.85,-4.37 C2.02,-3.97 2.05,-3.52 1.93,-3.09 C1.82,-2.67 1.57,-2.29 1.22,-2.02 C0.87,-1.75 0.44,-1.61 0,-1.61 C-0.44,-1.61 -0.87,-1.75 -1.22,-2.02 C-1.57,-2.29 -1.82,-2.67 -1.93,-3.09 C-2.05,-3.52 -2.02,-3.97 -1.85,-4.37 C-1.68,-4.78 -1.38,-5.12 -1,-5.34 C-1,-5.34 -1,-5.37 -1,-5.37 C-1,-5.37 -6,-5.37 -6,-5.37c " android:valueTo="M-6 -5.37 C-6,-5.37 -6,-6.88 -6,-6.88 C-6,-6.88 6,-6.88 6,-6.88 C6,-6.88 6,-5.37 6,-5.37 C6,-5.37 1,-5.37 1,-5.37 C1,-5.37 1,-5.34 1,-5.34 C1.38,-5.12 1.68,-4.78 1.85,-4.37 C2.02,-3.97 2.05,-3.52 1.93,-3.09 C1.82,-2.67 1.57,-2.29 1.22,-2.02 C0.87,-1.75 0.44,-1.61 0,-1.61 C-0.44,-1.61 -0.87,-1.75 -1.22,-2.02 C-1.57,-2.29 -1.82,-2.67 -1.93,-3.09 C-2.05,-3.52 -2.02,-3.97 -1.85,-4.37 C-1.68,-4.78 -1.38,-5.12 -1,-5.34 C-1,-5.34 -1,-5.37 -1,-5.37 C-1,-5.37 -6,-5.37 -6,-5.37c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="433" android:startOffset="67" android:valueFrom="M-6 -5.37 C-6,-5.37 -6,-6.88 -6,-6.88 C-6,-6.88 6,-6.88 6,-6.88 C6,-6.88 6,-5.37 6,-5.37 C6,-5.37 1,-5.37 1,-5.37 C1,-5.37 1,-5.34 1,-5.34 C1.38,-5.12 1.68,-4.78 1.85,-4.37 C2.02,-3.97 2.05,-3.52 1.93,-3.09 C1.82,-2.67 1.57,-2.29 1.22,-2.02 C0.87,-1.75 0.44,-1.61 0,-1.61 C-0.44,-1.61 -0.87,-1.75 -1.22,-2.02 C-1.57,-2.29 -1.82,-2.67 -1.93,-3.09 C-2.05,-3.52 -2.02,-3.97 -1.85,-4.37 C-1.68,-4.78 -1.38,-5.12 -1,-5.34 C-1,-5.34 -1,-5.37 -1,-5.37 C-1,-5.37 -6,-5.37 -6,-5.37c " android:valueTo="M-6 -1 C-6,-1 -6,-6.5 -6,-6.5 C-6,-6.5 6,-6.5 6,-6.5 C6,-6.5 6,-1 6,-1 C6,-1 1,-1 1,-1 C1,-1 1,1.28 1,1.28 C1.38,1.5 1.68,1.84 1.85,2.24 C2.02,2.65 2.05,3.1 1.93,3.53 C1.82,3.95 1.57,4.33 1.22,4.6 C0.87,4.86 0.44,5.01 0,5.01 C-0.44,5.01 -0.87,4.86 -1.22,4.6 C-1.57,4.33 -1.82,3.95 -1.93,3.53 C-2.05,3.1 -2.02,2.65 -1.85,2.24 C-1.68,1.84 -1.38,1.5 -1,1.28 C-1,1.28 -1,-1 -1,-1 C-1,-1 -6,-1 -6,-1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_T_1">
+ <aapt:attr name="android:animation">
+
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="67" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-8.064C 0,-8.064 0,-8.903 0,-8.064">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="433" android:startOffset="67" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-8.064C 0,-8.064 0,-3.871 0,-3.032">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="67" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_camera.xml b/packages/SystemUI/res/drawable/ic_device_camera.xml
new file mode 100644
index 000000000000..a76142ab2cc1
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_camera_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_camera_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_camera_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_camera_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_camera_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_camera_off_anim.xml
new file mode 100644
index 000000000000..32d1a0eb755a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera_off_anim.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M4 6 C4,6 4,-2.31 4,-2.31 C4,-2.31 4,-6 4,-6 C4,-6 -8,-6 -8,-6 C-8,-6 -8,6 -8,6 C-8,6 4,6 4,6c M6 -6 C6,-6 6,-1.52 6,-1.52 C6,-1.52 10,-5.5 10,-5.5 C10,-5.5 10,5.5 10,5.5 C10,5.5 6,1.52 6,1.52 C6,1.52 6,6 6,6 C6,6.53 5.79,7.04 5.41,7.41 C5.04,7.79 4.53,8 4,8 C4,8 -8,8 -8,8 C-8.53,8 -9.04,7.79 -9.41,7.41 C-9.79,7.04 -10,6.53 -10,6 C-10,6 -10,-6 -10,-6 C-10,-6.53 -9.79,-7.04 -9.41,-7.41 C-9.04,-7.79 -8.53,-8 -8,-8 C-8,-8 4,-8 4,-8 C4.53,-8 5.04,-7.79 5.41,-7.41 C5.79,-7.04 6,-6.53 6,-6c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M-2.25 -12.33 C-8.89,-12.33 -14.27,-6.95 -14.27,-0.31 C-14.27,6.32 -8.89,11.71 -2.25,11.71 C4.39,11.71 9.77,6.32 9.77,-0.31 C9.77,-6.95 4.39,-12.33 -2.25,-12.33c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M6 -6 C6,-6 6,-1.52 6,-1.52 C6,-1.52 10,-5.5 10,-5.5 C10,-5.5 10,5.5 10,5.5 C10,5.5 6,1.52 6,1.52 C6,1.52 6,6 6,6 C6,6.53 5.79,7.04 5.41,7.41 C5.04,7.79 4.53,8 4,8 C4,8 -8,8 -8,8 C-8.53,8 -9.04,7.79 -9.41,7.41 C-9.79,7.04 -10,6.53 -10,6 C-10,6 -10,-6 -10,-6 C-10,-6.53 -9.79,-7.04 -9.41,-7.41 C-9.04,-7.79 -8.53,-8 -8,-8 C-8,-8 4,-8 4,-8 C4.53,-8 5.04,-7.79 5.41,-7.41 C5.79,-7.04 6,-6.53 6,-6c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-2.25 -12.33 C-8.89,-12.33 -14.27,-6.95 -14.27,-0.31 C-14.27,6.32 -8.89,11.71 -2.25,11.71 C4.39,11.71 9.77,6.32 9.77,-0.31 C9.77,-6.95 4.39,-12.33 -2.25,-12.33c " android:valueTo="M-1.84 0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_camera_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_camera_on_anim.xml
new file mode 100644
index 000000000000..1a1a3ffe4855
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera_on_anim.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M4 6 C4,6 4,-2.31 4,-2.31 C4,-2.31 4,-6 4,-6 C4,-6 -8,-6 -8,-6 C-8,-6 -8,6 -8,6 C-8,6 4,6 4,6c M6 -6 C6,-6 6,-1.52 6,-1.52 C6,-1.52 10,-5.5 10,-5.5 C10,-5.5 10,5.5 10,5.5 C10,5.5 6,1.52 6,1.52 C6,1.52 6,6 6,6 C6,6.53 5.79,7.04 5.41,7.41 C5.04,7.79 4.53,8 4,8 C4,8 -8,8 -8,8 C-8.53,8 -9.04,7.79 -9.41,7.41 C-9.79,7.04 -10,6.53 -10,6 C-10,6 -10,-6 -10,-6 C-10,-6.53 -9.79,-7.04 -9.41,-7.41 C-9.04,-7.79 -8.53,-8 -8,-8 C-8,-8 4,-8 4,-8 C4.53,-8 5.04,-7.79 5.41,-7.41 C5.79,-7.04 6,-6.53 6,-6c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_G">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M-1.84 0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M6 -6 C6,-6 6,-1.52 6,-1.52 C6,-1.52 10,-5.5 10,-5.5 C10,-5.5 10,5.5 10,5.5 C10,5.5 6,1.52 6,1.52 C6,1.52 6,6 6,6 C6,6.53 5.79,7.04 5.41,7.41 C5.04,7.79 4.53,8 4,8 C4,8 -8,8 -8,8 C-8.53,8 -9.04,7.79 -9.41,7.41 C-9.79,7.04 -10,6.53 -10,6 C-10,6 -10,-6 -10,-6 C-10,-6.53 -9.79,-7.04 -9.41,-7.41 C-9.04,-7.79 -8.53,-8 -8,-8 C-8,-8 4,-8 4,-8 C4.53,-8 5.04,-7.79 5.41,-7.41 C5.79,-7.04 6,-6.53 6,-6c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-1.84 0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09 C-1.84,0.09 -1.84,0.09 -1.84,0.09c " android:valueTo="M-2.25 -12.33 C-8.89,-12.33 -14.27,-6.95 -14.27,-0.31 C-14.27,6.32 -8.89,11.71 -2.25,11.71 C4.39,11.71 9.77,6.32 9.77,-0.31 C9.77,-6.95 4.39,-12.33 -2.25,-12.33c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_cooking.xml b/packages/SystemUI/res/drawable/ic_device_cooking.xml
new file mode 100644
index 000000000000..e3922e2f11ea
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_cooking.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_cooking_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_cooking_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_dishwasher.xml b/packages/SystemUI/res/drawable/ic_device_dishwasher.xml
new file mode 100644
index 000000000000..cc7f7f98d07e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_dishwasher.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_dishwasher_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_dishwasher_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_display.xml b/packages/SystemUI/res/drawable/ic_device_display.xml
new file mode 100644
index 000000000000..9a2ee2995de8
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_display.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_display_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_display_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_door.xml b/packages/SystemUI/res/drawable/ic_device_door.xml
new file mode 100644
index 000000000000..367f97f2d3ee
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_door.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_door_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_door_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_doorbell.xml b/packages/SystemUI/res/drawable/ic_device_doorbell.xml
new file mode 100644
index 000000000000..6f96a1b719d3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_doorbell.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_doorbell_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_doorbell_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_drawer.xml b/packages/SystemUI/res/drawable/ic_device_drawer.xml
new file mode 100644
index 000000000000..0f86f90d997a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_drawer.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_drawer_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_drawer_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_fan.xml b/packages/SystemUI/res/drawable/ic_device_fan.xml
new file mode 100644
index 000000000000..34dc712ace65
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_fan_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_fan_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_fan_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_fan_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_fan_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_fan_off_anim.xml
new file mode 100644
index 000000000000..189d85a70f79
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan_off_anim.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G_N_2_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G_N_2_T_0" android:rotation="180">
+ <group android:name="_R_G_L_1_G" android:rotation="360">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5.4 0.25 C5.99,0.64 6.5,1.14 6.89,1.73 C6.89,1.73 6.89,1.73 6.89,1.73 C6.96,1.84 7.07,1.93 7.19,1.97 C7.31,2.02 7.45,2.03 7.57,1.99 C7.7,1.95 7.81,1.87 7.89,1.76 C7.97,1.66 8,1.53 8,1.39 C8.07,0.81 7.99,0.22 7.78,-0.33 C7.57,-0.88 7.23,-1.37 6.78,-1.76 C6.54,-1.91 6.27,-1.99 5.99,-2 C5.71,-2.01 5.42,-1.95 5.17,-1.82 C5.17,-1.82 3.29,-1.14 3.29,-1.14 C3.36,-0.94 3.42,-0.73 3.45,-0.52 C4.14,-0.4 4.81,-0.14 5.4,0.25c M0.33 7.78 C0.88,7.57 1.37,7.22 1.76,6.78 C1.76,6.78 1.76,6.78 1.76,6.78 C1.9,6.54 1.99,6.27 2,5.99 C2.01,5.71 1.95,5.42 1.82,5.17 C1.82,5.17 1.14,3.29 1.14,3.29 C0.94,3.36 0.73,3.42 0.52,3.45 C0.4,4.14 0.13,4.81 -0.25,5.4 C-0.64,5.99 -1.14,6.5 -1.73,6.89 C-1.84,6.96 -1.93,7.07 -1.97,7.19 C-2.02,7.31 -2.02,7.45 -1.99,7.57 C-1.95,7.7 -1.87,7.81 -1.76,7.89 C-1.66,7.97 -1.53,8 -1.39,8 C-0.81,8.07 -0.22,7.99 0.33,7.78c M-5.99 2 C-5.7,2.01 -5.42,1.95 -5.17,1.82 C-5.17,1.82 -3.29,1.14 -3.29,1.14 C-3.36,0.94 -3.42,0.73 -3.45,0.52 C-4.14,0.4 -4.81,0.14 -5.4,-0.25 C-5.99,-0.64 -6.5,-1.14 -6.89,-1.73 C-6.96,-1.84 -7.06,-1.93 -7.19,-1.97 C-7.31,-2.02 -7.45,-2.02 -7.57,-1.99 C-7.7,-1.95 -7.81,-1.87 -7.89,-1.76 C-7.96,-1.66 -8,-1.53 -8,-1.39 C-8.07,-0.81 -7.99,-0.22 -7.78,0.33 C-7.57,0.88 -7.23,1.37 -6.78,1.75 C-6.54,1.9 -6.27,1.99 -5.99,2c M-0.33 -7.78 C-0.88,-7.57 -1.37,-7.23 -1.75,-6.78 C-1.9,-6.54 -1.99,-6.27 -2,-5.99 C-2.01,-5.7 -1.95,-5.42 -1.82,-5.17 C-1.82,-5.17 -1.14,-3.29 -1.14,-3.29 C-0.94,-3.36 -0.73,-3.41 -0.52,-3.45 C-0.4,-4.14 -0.13,-4.81 0.25,-5.4 C0.64,-5.99 1.14,-6.5 1.73,-6.89 C1.84,-6.96 1.93,-7.06 1.97,-7.19 C2.02,-7.31 2.03,-7.45 1.99,-7.57 C1.95,-7.7 1.87,-7.81 1.76,-7.89 C1.66,-7.96 1.53,-8 1.39,-8 C0.81,-8.07 0.22,-7.99 -0.33,-7.78c M-0.83 1.25 C-0.59,1.41 -0.3,1.5 0,1.5 C0.4,1.5 0.78,1.34 1.06,1.06 C1.34,0.78 1.5,0.4 1.5,0 C1.5,-0.3 1.41,-0.59 1.25,-0.83 C1.08,-1.08 0.85,-1.27 0.57,-1.39 C0.3,-1.5 0,-1.53 -0.29,-1.47 C-0.58,-1.41 -0.85,-1.27 -1.06,-1.06 C-1.27,-0.85 -1.41,-0.58 -1.47,-0.29 C-1.53,0 -1.5,0.3 -1.39,0.57 C-1.27,0.85 -1.08,1.08 -0.83,1.25c M2.06 -2.82 C2.06,-2.82 4.35,-3.64 4.35,-3.64 C6.99,-4.84 10,-3 10,1.39 C10,1.96 9.83,2.5 9.49,2.95 C9.16,3.41 8.69,3.74 8.15,3.9 C7.62,4.06 7.04,4.05 6.51,3.86 C5.99,3.67 5.54,3.31 5.23,2.84 C4.75,2.13 4.01,1.64 3.16,1.48 C3.07,1.68 2.95,1.87 2.82,2.06 C2.82,2.06 3.64,4.35 3.64,4.35 C4.84,6.99 3.01,10 -1.39,10 C-1.95,10 -2.5,9.83 -2.95,9.49 C-3.41,9.16 -3.74,8.69 -3.9,8.15 C-4.06,7.62 -4.05,7.04 -3.86,6.51 C-3.67,5.99 -3.31,5.54 -2.84,5.23 C-2.13,4.75 -1.64,4.01 -1.47,3.16 C-1.68,3.07 -1.87,2.95 -2.06,2.82 C-2.06,2.82 -4.34,3.64 -4.34,3.64 C-6.99,4.84 -10,3.01 -10,-1.39 C-10,-1.95 -9.83,-2.5 -9.49,-2.95 C-9.16,-3.41 -8.69,-3.74 -8.15,-3.9 C-7.62,-4.06 -7.04,-4.05 -6.51,-3.86 C-5.99,-3.66 -5.53,-3.31 -5.23,-2.84 C-4.75,-2.13 -4,-1.64 -3.16,-1.47 C-3.07,-1.68 -2.95,-1.87 -2.82,-2.06 C-2.82,-2.06 -3.64,-4.34 -3.64,-4.34 C-4.84,-6.99 -3.01,-10 1.39,-10 C1.96,-10 2.5,-9.83 2.95,-9.49 C3.41,-9.16 3.74,-8.69 3.9,-8.15 C4.06,-7.62 4.05,-7.04 3.86,-6.51 C3.67,-5.99 3.31,-5.53 2.84,-5.23 C2.13,-4.75 1.64,-4 1.47,-3.16 C1.68,-3.07 1.87,-2.95 2.06,-2.82c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_G" android:rotation="180">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M0.25 -12 C-6.37,-12.14 -11.86,-6.88 -12,-0.25 C-12.14,6.37 -6.88,11.86 -0.25,12 C6.37,12.14 11.86,6.88 12,0.25 C12.14,-6.37 6.88,-11.86 0.25,-12c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.83 1.25 C-0.59,1.41 -0.3,1.5 0,1.5 C0.4,1.5 0.78,1.34 1.06,1.06 C1.34,0.78 1.5,0.4 1.5,0 C1.5,-0.3 1.41,-0.59 1.25,-0.83 C1.08,-1.08 0.85,-1.27 0.57,-1.39 C0.3,-1.5 0,-1.53 -0.29,-1.47 C-0.58,-1.41 -0.85,-1.27 -1.06,-1.06 C-1.27,-0.85 -1.41,-0.58 -1.47,-0.29 C-1.53,0 -1.5,0.3 -1.39,0.57 C-1.27,0.85 -1.08,1.08 -0.83,1.25c M2.06 -2.82 C2.06,-2.82 4.35,-3.64 4.35,-3.64 C6.99,-4.84 10,-3 10,1.39 C10,1.96 9.83,2.5 9.49,2.95 C9.16,3.41 8.69,3.74 8.15,3.9 C7.62,4.06 7.04,4.05 6.51,3.86 C5.99,3.67 5.54,3.31 5.23,2.84 C4.75,2.13 4.01,1.64 3.16,1.48 C3.07,1.68 2.95,1.87 2.82,2.06 C2.82,2.06 3.64,4.35 3.64,4.35 C4.84,6.99 3.01,10 -1.39,10 C-1.95,10 -2.5,9.83 -2.95,9.49 C-3.41,9.16 -3.74,8.69 -3.9,8.15 C-4.06,7.62 -4.05,7.04 -3.86,6.51 C-3.67,5.99 -3.31,5.54 -2.84,5.23 C-2.13,4.75 -1.64,4.01 -1.47,3.16 C-1.68,3.07 -1.87,2.95 -2.06,2.82 C-2.06,2.82 -4.34,3.64 -4.34,3.64 C-6.99,4.84 -10,3.01 -10,-1.39 C-10,-1.95 -9.83,-2.5 -9.49,-2.95 C-9.16,-3.41 -8.69,-3.74 -8.15,-3.9 C-7.62,-4.06 -7.04,-4.05 -6.51,-3.86 C-5.99,-3.66 -5.53,-3.31 -5.23,-2.84 C-4.75,-2.13 -4,-1.64 -3.16,-1.47 C-3.07,-1.68 -2.95,-1.87 -2.82,-2.06 C-2.82,-2.06 -3.64,-4.34 -3.64,-4.34 C-4.84,-6.99 -3.01,-10 1.39,-10 C1.96,-10 2.5,-9.83 2.95,-9.49 C3.41,-9.16 3.74,-8.69 3.9,-8.15 C4.06,-7.62 4.05,-7.04 3.86,-6.51 C3.67,-5.99 3.31,-5.53 2.84,-5.23 C2.13,-4.75 1.64,-4 1.47,-3.16 C1.68,-3.07 1.87,-2.95 2.06,-2.82c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_G_N_2_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="rotation" android:duration="500" android:startOffset="0" android:valueFrom="180" android:valueTo="360" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M0.25 -12 C-6.37,-12.14 -11.86,-6.88 -12,-0.25 C-12.14,6.37 -6.88,11.86 -0.25,12 C6.37,12.14 11.86,6.88 12,0.25 C12.14,-6.37 6.88,-11.86 0.25,-12c " android:valueTo="M0.03 -1.6 C-0.85,-1.62 -1.58,-0.92 -1.6,-0.03 C-1.62,0.85 -0.92,1.58 -0.03,1.6 C0.85,1.62 1.58,0.92 1.6,0.03 C1.62,-0.85 0.92,-1.58 0.03,-1.6c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="rotation" android:duration="500" android:startOffset="0" android:valueFrom="180" android:valueTo="360" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="500" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="767" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_fan_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_fan_on_anim.xml
new file mode 100644
index 000000000000..5987b076ca70
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan_on_anim.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12" android:rotation="180">
+ <group android:name="_R_G_L_1_G" android:rotation="360">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5.4 0.25 C5.99,0.64 6.5,1.14 6.89,1.73 C6.89,1.73 6.89,1.73 6.89,1.73 C6.96,1.84 7.07,1.93 7.19,1.97 C7.31,2.02 7.45,2.03 7.57,1.99 C7.7,1.95 7.81,1.87 7.89,1.76 C7.97,1.66 8,1.53 8,1.39 C8.07,0.81 7.99,0.22 7.78,-0.33 C7.57,-0.88 7.23,-1.37 6.78,-1.76 C6.54,-1.91 6.27,-1.99 5.99,-2 C5.71,-2.01 5.42,-1.95 5.17,-1.82 C5.17,-1.82 3.29,-1.14 3.29,-1.14 C3.36,-0.94 3.42,-0.73 3.45,-0.52 C4.14,-0.4 4.81,-0.14 5.4,0.25c M0.33 7.78 C0.88,7.57 1.37,7.22 1.76,6.78 C1.76,6.78 1.76,6.78 1.76,6.78 C1.9,6.54 1.99,6.27 2,5.99 C2.01,5.71 1.95,5.42 1.82,5.17 C1.82,5.17 1.14,3.29 1.14,3.29 C0.94,3.36 0.73,3.42 0.52,3.45 C0.4,4.14 0.13,4.81 -0.25,5.4 C-0.64,5.99 -1.14,6.5 -1.73,6.89 C-1.84,6.96 -1.93,7.07 -1.97,7.19 C-2.02,7.31 -2.02,7.45 -1.99,7.57 C-1.95,7.7 -1.87,7.81 -1.76,7.89 C-1.66,7.97 -1.53,8 -1.39,8 C-0.81,8.07 -0.22,7.99 0.33,7.78c M-5.99 2 C-5.7,2.01 -5.42,1.95 -5.17,1.82 C-5.17,1.82 -3.29,1.14 -3.29,1.14 C-3.36,0.94 -3.42,0.73 -3.45,0.52 C-4.14,0.4 -4.81,0.14 -5.4,-0.25 C-5.99,-0.64 -6.5,-1.14 -6.89,-1.73 C-6.96,-1.84 -7.06,-1.93 -7.19,-1.97 C-7.31,-2.02 -7.45,-2.02 -7.57,-1.99 C-7.7,-1.95 -7.81,-1.87 -7.89,-1.76 C-7.96,-1.66 -8,-1.53 -8,-1.39 C-8.07,-0.81 -7.99,-0.22 -7.78,0.33 C-7.57,0.88 -7.23,1.37 -6.78,1.75 C-6.54,1.9 -6.27,1.99 -5.99,2c M-0.33 -7.78 C-0.88,-7.57 -1.37,-7.23 -1.75,-6.78 C-1.9,-6.54 -1.99,-6.27 -2,-5.99 C-2.01,-5.7 -1.95,-5.42 -1.82,-5.17 C-1.82,-5.17 -1.14,-3.29 -1.14,-3.29 C-0.94,-3.36 -0.73,-3.41 -0.52,-3.45 C-0.4,-4.14 -0.13,-4.81 0.25,-5.4 C0.64,-5.99 1.14,-6.5 1.73,-6.89 C1.84,-6.96 1.93,-7.06 1.97,-7.19 C2.02,-7.31 2.03,-7.45 1.99,-7.57 C1.95,-7.7 1.87,-7.81 1.76,-7.89 C1.66,-7.96 1.53,-8 1.39,-8 C0.81,-8.07 0.22,-7.99 -0.33,-7.78c M-0.83 1.25 C-0.59,1.41 -0.3,1.5 0,1.5 C0.4,1.5 0.78,1.34 1.06,1.06 C1.34,0.78 1.5,0.4 1.5,0 C1.5,-0.3 1.41,-0.59 1.25,-0.83 C1.08,-1.08 0.85,-1.27 0.57,-1.39 C0.3,-1.5 0,-1.53 -0.29,-1.47 C-0.58,-1.41 -0.85,-1.27 -1.06,-1.06 C-1.27,-0.85 -1.41,-0.58 -1.47,-0.29 C-1.53,0 -1.5,0.3 -1.39,0.57 C-1.27,0.85 -1.08,1.08 -0.83,1.25c M2.06 -2.82 C2.06,-2.82 4.35,-3.64 4.35,-3.64 C6.99,-4.84 10,-3 10,1.39 C10,1.96 9.83,2.5 9.49,2.95 C9.16,3.41 8.69,3.74 8.15,3.9 C7.62,4.06 7.04,4.05 6.51,3.86 C5.99,3.67 5.54,3.31 5.23,2.84 C4.75,2.13 4.01,1.64 3.16,1.48 C3.07,1.68 2.95,1.87 2.82,2.06 C2.82,2.06 3.64,4.35 3.64,4.35 C4.84,6.99 3.01,10 -1.39,10 C-1.95,10 -2.5,9.83 -2.95,9.49 C-3.41,9.16 -3.74,8.69 -3.9,8.15 C-4.06,7.62 -4.05,7.04 -3.86,6.51 C-3.67,5.99 -3.31,5.54 -2.84,5.23 C-2.13,4.75 -1.64,4.01 -1.47,3.16 C-1.68,3.07 -1.87,2.95 -2.06,2.82 C-2.06,2.82 -4.34,3.64 -4.34,3.64 C-6.99,4.84 -10,3.01 -10,-1.39 C-10,-1.95 -9.83,-2.5 -9.49,-2.95 C-9.16,-3.41 -8.69,-3.74 -8.15,-3.9 C-7.62,-4.06 -7.04,-4.05 -6.51,-3.86 C-5.99,-3.66 -5.53,-3.31 -5.23,-2.84 C-4.75,-2.13 -4,-1.64 -3.16,-1.47 C-3.07,-1.68 -2.95,-1.87 -2.82,-2.06 C-2.82,-2.06 -3.64,-4.34 -3.64,-4.34 C-4.84,-6.99 -3.01,-10 1.39,-10 C1.96,-10 2.5,-9.83 2.95,-9.49 C3.41,-9.16 3.74,-8.69 3.9,-8.15 C4.06,-7.62 4.05,-7.04 3.86,-6.51 C3.67,-5.99 3.31,-5.53 2.84,-5.23 C2.13,-4.75 1.64,-4 1.47,-3.16 C1.68,-3.07 1.87,-2.95 2.06,-2.82c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12" android:rotation="180">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M0.03 -1.6 C-0.85,-1.62 -1.58,-0.92 -1.6,-0.03 C-1.62,0.85 -0.92,1.58 -0.03,1.6 C0.85,1.62 1.58,0.92 1.6,0.03 C1.62,-0.85 0.92,-1.58 0.03,-1.6c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.83 1.25 C-0.59,1.41 -0.3,1.5 0,1.5 C0.4,1.5 0.78,1.34 1.06,1.06 C1.34,0.78 1.5,0.4 1.5,0 C1.5,-0.3 1.41,-0.59 1.25,-0.83 C1.08,-1.08 0.85,-1.27 0.57,-1.39 C0.3,-1.5 0,-1.53 -0.29,-1.47 C-0.58,-1.41 -0.85,-1.27 -1.06,-1.06 C-1.27,-0.85 -1.41,-0.58 -1.47,-0.29 C-1.53,0 -1.5,0.3 -1.39,0.57 C-1.27,0.85 -1.08,1.08 -0.83,1.25c M2.06 -2.82 C2.06,-2.82 4.35,-3.64 4.35,-3.64 C6.99,-4.84 10,-3 10,1.39 C10,1.96 9.83,2.5 9.49,2.95 C9.16,3.41 8.69,3.74 8.15,3.9 C7.62,4.06 7.04,4.05 6.51,3.86 C5.99,3.67 5.54,3.31 5.23,2.84 C4.75,2.13 4.01,1.64 3.16,1.48 C3.07,1.68 2.95,1.87 2.82,2.06 C2.82,2.06 3.64,4.35 3.64,4.35 C4.84,6.99 3.01,10 -1.39,10 C-1.95,10 -2.5,9.83 -2.95,9.49 C-3.41,9.16 -3.74,8.69 -3.9,8.15 C-4.06,7.62 -4.05,7.04 -3.86,6.51 C-3.67,5.99 -3.31,5.54 -2.84,5.23 C-2.13,4.75 -1.64,4.01 -1.47,3.16 C-1.68,3.07 -1.87,2.95 -2.06,2.82 C-2.06,2.82 -4.34,3.64 -4.34,3.64 C-6.99,4.84 -10,3.01 -10,-1.39 C-10,-1.95 -9.83,-2.5 -9.49,-2.95 C-9.16,-3.41 -8.69,-3.74 -8.15,-3.9 C-7.62,-4.06 -7.04,-4.05 -6.51,-3.86 C-5.99,-3.66 -5.53,-3.31 -5.23,-2.84 C-4.75,-2.13 -4,-1.64 -3.16,-1.47 C-3.07,-1.68 -2.95,-1.87 -2.82,-2.06 C-2.82,-2.06 -3.64,-4.34 -3.64,-4.34 C-4.84,-6.99 -3.01,-10 1.39,-10 C1.96,-10 2.5,-9.83 2.95,-9.49 C3.41,-9.16 3.74,-8.69 3.9,-8.15 C4.06,-7.62 4.05,-7.04 3.86,-6.51 C3.67,-5.99 3.31,-5.53 2.84,-5.23 C2.13,-4.75 1.64,-4 1.47,-3.16 C1.68,-3.07 1.87,-2.95 2.06,-2.82c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="rotation" android:duration="500" android:startOffset="0" android:valueFrom="180" android:valueTo="360" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M0.03 -1.6 C-0.85,-1.62 -1.58,-0.92 -1.6,-0.03 C-1.62,0.85 -0.92,1.58 -0.03,1.6 C0.85,1.62 1.58,0.92 1.6,0.03 C1.62,-0.85 0.92,-1.58 0.03,-1.6c " android:valueTo="M0.25 -12 C-6.37,-12.14 -11.86,-6.88 -12,-0.25 C-12.14,6.37 -6.88,11.86 -0.25,12 C6.37,12.14 11.86,6.88 12,0.25 C12.14,-6.37 6.88,-11.86 0.25,-12c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="rotation" android:duration="500" android:startOffset="0" android:valueFrom="180" android:valueTo="360" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_garage.xml b/packages/SystemUI/res/drawable/ic_device_garage.xml
new file mode 100644
index 000000000000..9a31f332fd3e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_garage_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_garage_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_garage_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_garage_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_garage_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_garage_off_anim.xml
new file mode 100644
index 000000000000..1a5bd286fde8
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage_off_anim.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_6_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_6_G">
+ <path android:name="_R_G_L_6_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M0 -9 C0,-9 8,-3 8,-3 C8,-3 8,9 8,9 C8,9 6,9 6,9 C6,9 6,-2 6,-2 C6,-2 0,-6.5 0,-6.5 C0,-6.5 -6,-2 -6,-2 C-6,-2 -6,9 -6,9 C-6,9 -8,9 -8,9 C-8,9 -8,-3 -8,-3 C-8,-3 0,-9 0,-9c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_5_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_5_G" android:translateX="0" android:translateY="4">
+ <group android:name="_R_G_L_5_C_0_G">
+ <clip-path android:name="_R_G_L_5_C_0" android:pathData=" M5.14 -5.06 C5.14,-5.06 -5.12,-5.06 -5.12,-5.06 C-5.12,-5.06 -5.12,4.88 -5.12,4.88 C-5.12,4.88 5.14,4.88 5.14,4.88 C5.14,4.88 5.14,-5.06 5.14,-5.06c "/>
+ <group android:name="_R_G_L_5_C_0_G_G">
+ <path android:name="_R_G_L_5_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3 -1 C3,-1 3,-3 3,-3 C3,-3 -3,-3 -3,-3 C-3,-3 -3,-1 -3,-1 C-3,-1 3,-1 3,-1c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_4_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_4_G_N_7_T_0" android:translateX="0" android:translateY="4">
+ <group android:name="_R_G_L_4_G" android:translateY="-8.125">
+ <group android:name="_R_G_L_4_C_0_G">
+ <clip-path android:name="_R_G_L_4_C_0" android:pathData=" M5.14 3.19 C5.14,3.19 -5.12,3.19 -5.12,3.19 C-5.12,3.19 -5.12,13.13 -5.12,13.13 C-5.12,13.13 5.14,13.13 5.14,13.13 C5.14,13.13 5.14,3.19 5.14,3.19c "/>
+ <group android:name="_R_G_L_4_C_0_G_G">
+ <path android:name="_R_G_L_4_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3.35 -1.34 C3.35,-1.34 0.75,-1.44 0.75,-1.44 C0.75,-1.44 -0.62,-1.44 -0.62,-1.44 C-0.62,-1.44 -2.65,-1.34 -2.65,-1.34 C-2.65,-1.34 3.35,-1.34 3.35,-1.34c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_3_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_3_G_N_7_T_0" android:translateX="0" android:translateY="4">
+ <group android:name="_R_G_L_3_G" android:translateX="0" android:translateY="-2">
+ <group android:name="_R_G_L_3_C_0_G">
+ <clip-path android:name="_R_G_L_3_C_0" android:pathData=" M4.96 -2.77 C4.96,-2.77 -4.87,-2.77 -4.87,-2.77 C-4.87,-2.77 -4.87,7.15 -4.87,7.15 C-4.87,7.15 4.96,7.15 4.96,7.15 C4.96,7.15 4.96,-2.77 4.96,-2.77c "/>
+ <group android:name="_R_G_L_3_C_0_G_G">
+ <path android:name="_R_G_L_3_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_2_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_2_G_N_7_T_0" android:translateX="0" android:translateY="4">
+ <group android:name="_R_G_L_2_G" android:translateX="0" android:translateY="2">
+ <group android:name="_R_G_L_2_C_0_G">
+ <clip-path android:name="_R_G_L_2_C_0" android:pathData=" M4.96 -6.95 C4.96,-6.95 -4.87,-6.95 -4.87,-6.95 C-4.87,-6.95 -4.87,2.97 -4.87,2.97 C-4.87,2.97 4.96,2.97 4.96,2.97 C4.96,2.97 4.96,-6.95 4.96,-6.95c "/>
+ <group android:name="_R_G_L_2_C_0_G_G">
+ <path android:name="_R_G_L_2_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G_N_7_T_0" android:translateX="0" android:translateY="4">
+ <group android:name="_R_G_L_1_G" android:translateY="-6.062">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.75 -0.22 C-0.75,-0.22 1,-0.25 1,-0.25 C1,-0.25 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -0.75,-0.22 -0.75,-0.22c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_G">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-8 -3 C-8,-3 0,-9 0,-9 C0,-9 8,-3 8,-3 C8,-3 8,9 8,9 C8,9 5,9 5,9 C5,9 5,-1 5,-1 C5,-1 -5,-1 -5,-1 C-5,-1 -5,9 -5,9 C-5,9 -8,9 -8,9 C-8,9 -8,-3 -8,-3c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_6_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M5.14 -5.06 C5.14,-5.06 -5.12,-5.06 -5.12,-5.06 C-5.12,-5.06 -5.12,4.88 -5.12,4.88 C-5.12,4.88 5.14,4.88 5.14,4.88 C5.14,4.88 5.14,-5.06 5.14,-5.06c " android:valueTo="M5.14 -12.94 C5.14,-12.94 -5.12,-12.94 -5.12,-12.94 C-5.12,-12.94 -5.12,-3 -5.12,-3 C-5.12,-3 5.14,-3 5.14,-3 C5.14,-3 5.14,-12.94 5.14,-12.94c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,4C 0,4.281 0,10.998999999999999 0,12.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M5.14 3.19 C5.14,3.19 -5.12,3.19 -5.12,3.19 C-5.12,3.19 -5.12,13.13 -5.12,13.13 C-5.12,13.13 5.14,13.13 5.14,13.13 C5.14,13.13 5.14,3.19 5.14,3.19c " android:valueTo="M5.14 -4.94 C5.14,-4.94 -5.12,-4.94 -5.12,-4.94 C-5.12,-4.94 -5.12,5 -5.12,5 C-5.12,5 5.14,5 5.14,5 C5.14,5 5.14,-4.94 5.14,-4.94c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3.35 -1.34 C3.35,-1.34 0.75,-1.44 0.75,-1.44 C0.75,-1.44 -0.62,-1.44 -0.62,-1.44 C-0.62,-1.44 -2.65,-1.34 -2.65,-1.34 C-2.65,-1.34 3.35,-1.34 3.35,-1.34c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c " android:valueTo=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3 -1 C3,-1 3,-3 3,-3 C3,-3 -3,-3 -3,-3 C-3,-3 -3,-1 -3,-1 C-3,-1 3,-1 3,-1c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,4C 0,4.281 0,10.998999999999999 0,12.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M4.96 -2.77 C4.96,-2.77 -4.87,-2.77 -4.87,-2.77 C-4.87,-2.77 -4.87,7.15 -4.87,7.15 C-4.87,7.15 4.96,7.15 4.96,7.15 C4.96,7.15 4.96,-2.77 4.96,-2.77c " android:valueTo="M4.96 -7.02 C4.96,-7.02 -4.87,-7.02 -4.87,-7.02 C-4.87,-7.02 -4.87,2.9 -4.87,2.9 C-4.87,2.9 4.96,2.9 4.96,2.9 C4.96,2.9 4.96,-7.02 4.96,-7.02c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-2C 0,-1.844 0,-1.218 0,-1.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,4C 0,4.281 0,10.998999999999999 0,12.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M4.96 -6.95 C4.96,-6.95 -4.87,-6.95 -4.87,-6.95 C-4.87,-6.95 -4.87,2.97 -4.87,2.97 C-4.87,2.97 4.96,2.97 4.96,2.97 C4.96,2.97 4.96,-6.95 4.96,-6.95c " android:valueTo="M4.96 -16.33 C4.96,-16.33 -4.87,-16.33 -4.87,-16.33 C-4.87,-16.33 -4.87,-6.41 -4.87,-6.41 C-4.87,-6.41 4.96,-6.41 4.96,-6.41 C4.96,-6.41 4.96,-16.33 4.96,-16.33c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,2C 0,2.208 0,3.042 0,3.25">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,4C 0,4.281 0,10.998999999999999 0,12.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="0" android:valueFrom="M-0.75 -0.22 C-0.75,-0.22 1,-0.25 1,-0.25 C1,-0.25 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -0.75,-0.22 -0.75,-0.22c " android:valueTo="M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,4C 0,4.281 0,10.998999999999999 0,12.062">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="267" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_garage_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_garage_on_anim.xml
new file mode 100644
index 000000000000..a1999e03436d
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage_on_anim.xml
@@ -0,0 +1,295 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_6_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_6_G">
+ <path android:name="_R_G_L_6_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M0 -9 C0,-9 8,-3 8,-3 C8,-3 8,9 8,9 C8,9 6,9 6,9 C6,9 6,-2 6,-2 C6,-2 0,-6.5 0,-6.5 C0,-6.5 -6,-2 -6,-2 C-6,-2 -6,9 -6,9 C-6,9 -8,9 -8,9 C-8,9 -8,-3 -8,-3 C-8,-3 0,-9 0,-9c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_5_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_5_G" android:translateX="0" android:translateY="12.062">
+ <group android:name="_R_G_L_5_C_0_G">
+ <clip-path android:name="_R_G_L_5_C_0" android:pathData=" M5.14 -12.94 C5.14,-12.94 -5.12,-12.94 -5.12,-12.94 C-5.12,-12.94 -5.12,-3 -5.12,-3 C-5.12,-3 5.14,-3 5.14,-3 C5.14,-3 5.14,-12.94 5.14,-12.94c "/>
+ <group android:name="_R_G_L_5_C_0_G_G">
+ <path android:name="_R_G_L_5_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3 -1 C3,-1 3,-3 3,-3 C3,-3 -3,-3 -3,-3 C-3,-3 -3,-1 -3,-1 C-3,-1 3,-1 3,-1c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_4_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_4_G_N_7_T_0" android:translateX="0" android:translateY="12.062">
+ <group android:name="_R_G_L_4_G" android:translateY="-8.125">
+ <group android:name="_R_G_L_4_C_0_G">
+ <clip-path android:name="_R_G_L_4_C_0" android:pathData=" M5.14 -4.94 C5.14,-4.94 -5.12,-4.94 -5.12,-4.94 C-5.12,-4.94 -5.12,5 -5.12,5 C-5.12,5 5.14,5 5.14,5 C5.14,5 5.14,-4.94 5.14,-4.94c "/>
+ <group android:name="_R_G_L_4_C_0_G_G">
+ <path android:name="_R_G_L_4_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3 -1 C3,-1 3,-3 3,-3 C3,-3 -3,-3 -3,-3 C-3,-3 -3,-1 -3,-1 C-3,-1 3,-1 3,-1c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_3_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_3_G_N_7_T_0" android:translateX="0" android:translateY="12.062">
+ <group android:name="_R_G_L_3_G" android:translateX="0" android:translateY="-1.062">
+ <group android:name="_R_G_L_3_C_0_G">
+ <clip-path android:name="_R_G_L_3_C_0" android:pathData=" M4.96 -7.02 C4.96,-7.02 -4.87,-7.02 -4.87,-7.02 C-4.87,-7.02 -4.87,2.9 -4.87,2.9 C-4.87,2.9 4.96,2.9 4.96,2.9 C4.96,2.9 4.96,-7.02 4.96,-7.02c "/>
+ <group android:name="_R_G_L_3_C_0_G_G">
+ <path android:name="_R_G_L_3_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_2_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_2_G_N_7_T_0" android:translateX="0" android:translateY="12.062">
+ <group android:name="_R_G_L_2_G" android:translateX="0" android:translateY="3.25">
+ <group android:name="_R_G_L_2_C_0_G">
+ <clip-path android:name="_R_G_L_2_C_0" android:pathData=" M4.96 -16.33 C4.96,-16.33 -4.87,-16.33 -4.87,-16.33 C-4.87,-16.33 -4.87,-6.41 -4.87,-6.41 C-4.87,-6.41 4.96,-6.41 4.96,-6.41 C4.96,-6.41 4.96,-16.33 4.96,-16.33c "/>
+ <group android:name="_R_G_L_2_C_0_G_G">
+ <path android:name="_R_G_L_2_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_7_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_1_G_N_7_T_0" android:translateX="0" android:translateY="12.062">
+ <group android:name="_R_G_L_1_G" android:translateY="-6.062">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_0_G">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-8 -3 C-8,-3 0,-9 0,-9 C0,-9 8,-3 8,-3 C8,-3 8,9 8,9 C8,9 5,9 5,9 C5,9 5,-1 5,-1 C5,-1 -5,-1 -5,-1 C-5,-1 -5,9 -5,9 C-5,9 -8,9 -8,9 C-8,9 -8,-3 -8,-3c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_6_G_N_1_T_0">
+
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M5.14 -12.94 C5.14,-12.94 -5.12,-12.94 -5.12,-12.94 C-5.12,-12.94 -5.12,-3 -5.12,-3 C-5.12,-3 5.14,-3 5.14,-3 C5.14,-3 5.14,-12.94 5.14,-12.94c " android:valueTo="M5.14 -5.06 C5.14,-5.06 -5.12,-5.06 -5.12,-5.06 C-5.12,-5.06 -5.12,4.88 -5.12,4.88 C-5.12,4.88 5.14,4.88 5.14,4.88 C5.14,4.88 5.14,-5.06 5.14,-5.06c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,12.062C 0,10.998999999999999 0,4.281 0,4">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_5_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M5.14 -4.94 C5.14,-4.94 -5.12,-4.94 -5.12,-4.94 C-5.12,-4.94 -5.12,5 -5.12,5 C-5.12,5 5.14,5 5.14,5 C5.14,5 5.14,-4.94 5.14,-4.94c " android:valueTo="M5.14 3.19 C5.14,3.19 -5.12,3.19 -5.12,3.19 C-5.12,3.19 -5.12,13.13 -5.12,13.13 C-5.12,13.13 5.14,13.13 5.14,13.13 C5.14,13.13 5.14,3.19 5.14,3.19c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3 -1 C3,-1 3,-3 3,-3 C3,-3 -3,-3 -3,-3 C-3,-3 -3,-1 -3,-1 C-3,-1 3,-1 3,-1c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c " android:valueTo=" M-3 1 C-3,1 -3,3 -3,3 C-3,3 3,3 3,3 C3,3 3,1 3,1 C3,1 -3,1 -3,1c M3.35 -1.34 C3.35,-1.34 0.75,-1.44 0.75,-1.44 C0.75,-1.44 -0.62,-1.44 -0.62,-1.44 C-0.62,-1.44 -2.65,-1.34 -2.65,-1.34 C-2.65,-1.34 3.35,-1.34 3.35,-1.34c M-5 5 C-5,5 -5,-5 -5,-5 C-5,-5 5,-5 5,-5 C5,-5 5,5 5,5 C5,5 -5,5 -5,5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,12.062C 0,10.998999999999999 0,4.281 0,4">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M4.96 -7.02 C4.96,-7.02 -4.87,-7.02 -4.87,-7.02 C-4.87,-7.02 -4.87,2.9 -4.87,2.9 C-4.87,2.9 4.96,2.9 4.96,2.9 C4.96,2.9 4.96,-7.02 4.96,-7.02c " android:valueTo="M4.96 -2.77 C4.96,-2.77 -4.87,-2.77 -4.87,-2.77 C-4.87,-2.77 -4.87,7.15 -4.87,7.15 C-4.87,7.15 4.96,7.15 4.96,7.15 C4.96,7.15 4.96,-2.77 4.96,-2.77c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,-1.062C 0,-1.218 0,-1.844 0,-2">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,12.062C 0,10.998999999999999 0,4.281 0,4">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="517" android:startOffset="0" android:valueFrom="M4.96 -16.33 C4.96,-16.33 -4.87,-16.33 -4.87,-16.33 C-4.87,-16.33 -4.87,-6.41 -4.87,-6.41 C-4.87,-6.41 4.96,-6.41 4.96,-6.41 C4.96,-6.41 4.96,-16.33 4.96,-16.33c " android:valueTo="M4.96 -6.95 C4.96,-6.95 -4.87,-6.95 -4.87,-6.95 C-4.87,-6.95 -4.87,2.97 -4.87,2.97 C-4.87,2.97 4.96,2.97 4.96,2.97 C4.96,2.97 4.96,-6.95 4.96,-6.95c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,3.25C 0,3.042 0,2.208 0,2">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,12.062C 0,10.998999999999999 0,4.281 0,4">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="200" android:startOffset="0" android:valueFrom="M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c " android:valueTo="M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="200" android:valueFrom="M-3 -1 C-3,-1 3,-1 3,-1 C3,-1 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -3,-1 -3,-1c " android:valueTo="M-0.75 -0.22 C-0.75,-0.22 1,-0.25 1,-0.25 C1,-0.25 3,1 3,1 C3,1 -3,1 -3,1 C-3,1 -0.75,-0.22 -0.75,-0.22c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_7_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="517" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 0,12.062C 0,10.998999999999999 0,4.281 0,4">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_7_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="250" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_gate.xml b/packages/SystemUI/res/drawable/ic_device_gate.xml
new file mode 100644
index 000000000000..8fbf08bfeb48
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_gate.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_gate_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_gate_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_hood.xml b/packages/SystemUI/res/drawable/ic_device_hood.xml
new file mode 100644
index 000000000000..e376db872884
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_hood.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_hood_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_hood_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_kettle.xml b/packages/SystemUI/res/drawable/ic_device_kettle.xml
new file mode 100644
index 000000000000..81ea3901e9de
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_kettle.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_kettle_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_kettle_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_light.xml b/packages/SystemUI/res/drawable/ic_device_light.xml
new file mode 100644
index 000000000000..ebd6c18b9699
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_light_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_light_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_light_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_light_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_light_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_light_off_anim.xml
new file mode 100644
index 000000000000..213aa4e4413a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light_off_anim.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M13.41 21.41 C13.04,21.79 12.53,22 12,22 C11.47,22 10.96,21.79 10.59,21.41 C10.21,21.04 10,20.53 10,20 C10,20 14,20 14,20 C14,20.53 13.79,21.04 13.41,21.41c "/>
+ <path android:name="_R_G_L_1_G_D_1_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8 17 C8,17 16,17 16,17 C16,17 16,19 16,19 C16,19 8,19 8,19 C8,19 8,17 8,17c "/>
+ <path android:name="_R_G_L_1_G_D_2_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8.85 14 C8.85,14 15.15,14 15.15,14 C15.15,14 15.15,14 15.15,14 C15.88,13.5 16.47,12.83 16.88,12.04 C17.29,11.26 17.5,10.39 17.5,9.5 C17.5,8.04 16.92,6.64 15.89,5.61 C14.85,4.58 13.46,4 12,4 C10.54,4 9.14,4.58 8.11,5.61 C7.08,6.64 6.5,8.04 6.5,9.5 C6.49,10.39 6.7,11.26 7.11,12.04 C7.52,12.83 8.12,13.5 8.85,14c M7.44 3.56 C8.75,2.55 10.35,2 12,2 C12,2 12,2 12,2 C13.65,2 15.26,2.55 16.56,3.56 C17.87,4.56 18.81,5.97 19.24,7.57 C19.66,9.16 19.55,10.86 18.92,12.38 C18.28,13.9 17.16,15.18 15.73,16 C15.73,16 8.27,16 8.27,16 C6.84,15.18 5.72,13.9 5.09,12.38 C4.45,10.86 4.34,9.16 4.76,7.57 C5.19,5.97 6.13,4.56 7.44,3.56c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateY="0.25" android:pivotX="11.996" android:pivotY="14" android:scaleX="1.1" android:scaleY="1.1">
+ <path android:name="_R_G_L_0_G_D_1_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8.85 14 C8.85,14 15.15,14 15.15,14 C15.15,14 15.15,14 15.15,14 C15.88,13.5 16.47,12.83 16.88,12.04 C17.29,11.26 17.5,10.39 17.5,9.5 C17.5,8.04 16.92,6.64 15.89,5.61 C14.85,4.58 13.46,4 12,4 C10.54,4 9.14,4.58 8.11,5.61 C7.08,6.64 6.5,8.04 6.5,9.5 C6.49,10.39 6.7,11.26 7.11,12.04 C7.52,12.83 8.12,13.5 8.85,14c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleX" android:duration="417" android:startOffset="0" android:valueFrom="1.1" android:valueTo="0" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="scaleY" android:duration="417" android:startOffset="0" android:valueFrom="1.1" android:valueTo="0" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="417" android:valueFrom="1.1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_light_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_light_on_anim.xml
new file mode 100644
index 000000000000..bb9c58bf9958
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light_on_anim.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateY="0.25" android:pivotX="11.996" android:pivotY="14" android:scaleX="0" android:scaleY="0">
+ <path android:name="_R_G_L_1_G_D_1_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8.85 14 C8.85,14 15.15,14 15.15,14 C15.15,14 15.15,14 15.15,14 C15.88,13.5 16.47,12.83 16.88,12.04 C17.29,11.26 17.5,10.39 17.5,9.5 C17.5,8.04 16.92,6.64 15.89,5.61 C14.85,4.58 13.46,4 12,4 C10.54,4 9.14,4.58 8.11,5.61 C7.08,6.64 6.5,8.04 6.5,9.5 C6.49,10.39 6.7,11.26 7.11,12.04 C7.52,12.83 8.12,13.5 8.85,14c "/>
+ </group>
+ <group android:name="_R_G_L_0_G">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M13.41 21.41 C13.04,21.79 12.53,22 12,22 C11.47,22 10.96,21.79 10.59,21.41 C10.21,21.04 10,20.53 10,20 C10,20 14,20 14,20 C14,20.53 13.79,21.04 13.41,21.41c "/>
+ <path android:name="_R_G_L_0_G_D_1_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8 17 C8,17 16,17 16,17 C16,17 16,19 16,19 C16,19 8,19 8,19 C8,19 8,17 8,17c "/>
+ <path android:name="_R_G_L_0_G_D_2_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M8.85 14 C8.85,14 15.15,14 15.15,14 C15.15,14 15.15,14 15.15,14 C15.88,13.5 16.47,12.83 16.88,12.04 C17.29,11.26 17.5,10.39 17.5,9.5 C17.5,8.04 16.92,6.64 15.89,5.61 C14.85,4.58 13.46,4 12,4 C10.54,4 9.14,4.58 8.11,5.61 C7.08,6.64 6.5,8.04 6.5,9.5 C6.49,10.39 6.7,11.26 7.11,12.04 C7.52,12.83 8.12,13.5 8.85,14c M7.44 3.56 C8.75,2.55 10.35,2 12,2 C12,2 12,2 12,2 C13.65,2 15.26,2.55 16.56,3.56 C17.87,4.56 18.81,5.97 19.24,7.57 C19.66,9.16 19.55,10.86 18.92,12.38 C18.28,13.9 17.16,15.18 15.73,16 C15.73,16 8.27,16 8.27,16 C6.84,15.18 5.72,13.9 5.09,12.38 C4.45,10.86 4.34,9.16 4.76,7.57 C5.19,5.97 6.13,4.56 7.44,3.56c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleX" android:duration="417" android:startOffset="0" android:valueFrom="0" android:valueTo="1.1" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="scaleY" android:duration="417" android:startOffset="0" android:valueFrom="0" android:valueTo="1.1" android:valueType="floatType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_lock.xml b/packages/SystemUI/res/drawable/ic_device_lock.xml
new file mode 100644
index 000000000000..d291ba452852
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_lock_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_lock_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_lock_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_lock_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_lock_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_lock_off_anim.xml
new file mode 100644
index 000000000000..321bf1033fec
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock_off_anim.xml
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992">
+ <group android:name="_R_G_L_2_G" android:translateY="-0.5">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-3.48 -3.1,-3.47 C-3.1,-3.47 -5,-3.47 -5,-3.47 C-5,-3.48 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992" android:scaleY="0">
+ <group android:name="_R_G_L_1_G" android:translateY="-0.5">
+ <group android:name="_R_G_L_1_C_0_G">
+ <clip-path android:name="_R_G_L_1_C_0" android:pathData=" M0 -4.8 C-4.6,-4.8 -8.32,-1.09 -8.32,3.5 C-8.32,8.08 -4.6,11.8 0,11.8 C4.59,11.8 8.32,8.08 8.32,3.5 C8.32,-1.09 4.59,-4.8 0,-4.8c "/>
+ <group android:name="_R_G_L_1_C_0_G_G">
+ <path android:name="_R_G_L_1_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992">
+ <group android:name="_R_G_L_0_G" android:translateX="-0.006" android:translateY="-0.5">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M7.6 -2.1 C7.6,-2.1 -7.42,-2.1 -7.42,-2.1 C-7.42,-2.1 -7.42,9.61 -7.42,9.61 C-7.42,9.61 7.6,9.61 7.6,9.61 C7.6,9.61 7.6,-2.1 7.6,-2.1c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1.11 5.16 C-0.78,5.38 -0.4,5.5 0,5.5 C0,5.5 0,5.5 0,5.5 C0.53,5.5 1.04,5.29 1.41,4.91 C1.79,4.54 2,4.03 2,3.5 C2,3.1 1.88,2.72 1.66,2.39 C1.44,2.06 1.13,1.8 0.77,1.65 C0.4,1.5 0,1.46 -0.39,1.54 C-0.78,1.62 -1.13,1.81 -1.41,2.09 C-1.69,2.37 -1.88,2.72 -1.96,3.11 C-2.04,3.5 -2,3.9 -1.85,4.26 C-1.7,4.63 -1.44,4.94 -1.11,5.16c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="283" android:startOffset="0" android:valueFrom=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-3.48 -3.1,-3.47 C-3.1,-3.47 -5,-3.47 -5,-3.47 C-5,-3.48 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-3.48 -3.1,-3.47 C-3.1,-3.47 -5,-3.47 -5,-3.47 C-5,-3.48 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="217" android:startOffset="283" android:valueFrom=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-3.48 -3.1,-3.47 C-3.1,-3.47 -5,-3.47 -5,-3.47 C-5,-3.48 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-5.51 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-5.51 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.6,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="211" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="200" android:startOffset="0" android:valueFrom="M0 -4.8 C-4.6,-4.8 -8.32,-1.09 -8.32,3.5 C-8.32,8.08 -4.6,11.8 0,11.8 C4.59,11.8 8.32,8.08 8.32,3.5 C8.32,-1.09 4.59,-4.8 0,-4.8c " android:valueTo="M0 -4.8 C-4.6,-4.8 -8.32,-1.09 -8.32,3.5 C-8.32,8.08 -4.6,11.8 0,11.8 C4.59,11.8 8.32,8.08 8.32,3.5 C8.32,-1.09 4.59,-4.8 0,-4.8c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="300" android:startOffset="200" android:valueFrom="M0 -4.8 C-4.6,-4.8 -8.32,-1.09 -8.32,3.5 C-8.32,8.08 -4.6,11.8 0,11.8 C4.59,11.8 8.32,8.08 8.32,3.5 C8.32,-1.09 4.59,-4.8 0,-4.8c " android:valueTo="M0 1.5 C-1.11,1.5 -2,2.4 -2,3.5 C-2,4.6 -1.11,5.49 0,5.49 C1.1,5.49 2,4.6 2,3.5 C2,2.4 1.1,1.5 0,1.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.6,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="211" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="200" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="300" android:startOffset="0" android:valueFrom="M-1.11 5.16 C-0.78,5.38 -0.4,5.5 0,5.5 C0,5.5 0,5.5 0,5.5 C0.53,5.5 1.04,5.29 1.41,4.91 C1.79,4.54 2,4.03 2,3.5 C2,3.1 1.88,2.72 1.66,2.39 C1.44,2.06 1.13,1.8 0.77,1.65 C0.4,1.5 0,1.46 -0.39,1.54 C-0.78,1.62 -1.13,1.81 -1.41,2.09 C-1.69,2.37 -1.88,2.72 -1.96,3.11 C-2.04,3.5 -2,3.9 -1.85,4.26 C-1.7,4.63 -1.44,4.94 -1.11,5.16c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo="M-0.03 3.5 C-0.03,3.5 -0.02,3.5 -0.02,3.5 C-0.02,3.5 -0.02,3.5 -0.02,3.5 C-0.01,3.5 -0.01,3.5 -0.01,3.49 C0,3.49 0,3.49 0,3.48 C0,3.48 0,3.47 0,3.47 C0,3.47 -0.01,3.46 -0.01,3.46 C-0.02,3.46 -0.02,3.46 -0.02,3.46 C-0.03,3.46 -0.03,3.46 -0.03,3.47 C-0.04,3.47 -0.04,3.47 -0.04,3.48 C-0.04,3.48 -0.04,3.48 -0.04,3.49 C-0.04,3.49 -0.03,3.5 -0.03,3.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.6,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="211" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="283" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_lock_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_lock_on_anim.xml
new file mode 100644
index 000000000000..3c19a7b24794
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock_on_anim.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992">
+ <group android:name="_R_G_L_2_G" android:translateY="-0.5">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-5.51 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-5.51 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992">
+ <group android:name="_R_G_L_1_G" android:translateY="-0.5">
+ <group android:name="_R_G_L_1_C_0_G">
+ <clip-path android:name="_R_G_L_1_C_0" android:pathData=" M0 1.5 C-1.11,1.5 -2,2.4 -2,3.5 C-2,4.6 -1.11,5.49 0,5.49 C1.1,5.49 2,4.6 2,3.5 C2,2.4 1.1,1.5 0,1.5c "/>
+ <group android:name="_R_G_L_1_C_0_G_G">
+ <path android:name="_R_G_L_1_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12.008" android:translateY="11.992" android:scaleY="0">
+ <group android:name="_R_G_L_0_G" android:translateX="-0.006" android:translateY="-0.5">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M7.08 -2 C7.08,-2 -6.89,-2 -6.89,-2 C-6.89,-2 -6.89,9.51 -6.89,9.51 C-6.89,9.51 7.08,9.51 7.08,9.51 C7.08,9.51 7.08,-2 7.08,-2c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.03 3.5 C-0.03,3.5 -0.02,3.5 -0.02,3.5 C-0.02,3.5 -0.02,3.5 -0.02,3.5 C-0.01,3.5 -0.01,3.5 -0.01,3.49 C0,3.49 0,3.49 0,3.48 C0,3.48 0,3.47 0,3.47 C0,3.47 -0.01,3.46 -0.01,3.46 C-0.02,3.46 -0.02,3.46 -0.02,3.46 C-0.03,3.46 -0.03,3.46 -0.03,3.47 C-0.04,3.47 -0.04,3.47 -0.04,3.48 C-0.04,3.48 -0.04,3.48 -0.04,3.49 C-0.04,3.49 -0.03,3.5 -0.03,3.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="217" android:startOffset="0" android:valueFrom=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-5.51 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-5.51 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo=" M-6 8.5 C-6,8.5 6,8.5 6,8.5 C6,8.5 6,-1.5 6,-1.5 C6,-1.5 -6,-1.5 -6,-1.5 C-6,-1.5 -6,8.5 -6,8.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-6.32 2.77,-7.11 2.19,-7.69 C1.61,-8.27 0.82,-8.6 0,-8.6 C-0.82,-8.6 -1.61,-8.27 -2.19,-7.69 C-2.76,-7.12 -3.09,-6.34 -3.1,-5.53 C-3.1,-5.52 -3.1,-3.48 -3.1,-3.47 C-3.1,-3.47 -5,-3.47 -5,-3.47 C-5,-3.48 -5,-5.52 -5,-5.54 C-4.99,-6.85 -4.46,-8.11 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="106" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="300" android:startOffset="0" android:valueFrom="M0 1.5 C-1.11,1.5 -2,2.4 -2,3.5 C-2,4.6 -1.11,5.49 0,5.49 C1.1,5.49 2,4.6 2,3.5 C2,2.4 1.1,1.5 0,1.5c " android:valueTo="M0 -4.8 C-4.6,-4.8 -8.32,-1.09 -8.32,3.5 C-8.32,8.08 -4.6,11.8 0,11.8 C4.59,11.8 8.32,8.08 8.32,3.5 C8.32,-1.09 4.59,-4.8 0,-4.8c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="106" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="217" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="200" android:startOffset="0" android:valueFrom="M-0.03 3.5 C-0.03,3.5 -0.02,3.5 -0.02,3.5 C-0.02,3.5 -0.02,3.5 -0.02,3.5 C-0.01,3.5 -0.01,3.5 -0.01,3.49 C0,3.49 0,3.49 0,3.48 C0,3.48 0,3.47 0,3.47 C0,3.47 -0.01,3.46 -0.01,3.46 C-0.02,3.46 -0.02,3.46 -0.02,3.46 C-0.03,3.46 -0.03,3.46 -0.03,3.47 C-0.04,3.47 -0.04,3.47 -0.04,3.48 C-0.04,3.48 -0.04,3.48 -0.04,3.49 C-0.04,3.49 -0.03,3.5 -0.03,3.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo="M-0.03 3.5 C-0.03,3.5 -0.02,3.5 -0.02,3.5 C-0.02,3.5 -0.02,3.5 -0.02,3.5 C-0.01,3.5 -0.01,3.5 -0.01,3.49 C0,3.49 0,3.49 0,3.48 C0,3.48 0,3.47 0,3.47 C0,3.47 -0.01,3.46 -0.01,3.46 C-0.02,3.46 -0.02,3.46 -0.02,3.46 C-0.03,3.46 -0.03,3.46 -0.03,3.47 C-0.04,3.47 -0.04,3.47 -0.04,3.48 C-0.04,3.48 -0.04,3.48 -0.04,3.49 C-0.04,3.49 -0.03,3.5 -0.03,3.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="300" android:startOffset="200" android:valueFrom="M-0.03 3.5 C-0.03,3.5 -0.02,3.5 -0.02,3.5 C-0.02,3.5 -0.02,3.5 -0.02,3.5 C-0.01,3.5 -0.01,3.5 -0.01,3.49 C0,3.49 0,3.49 0,3.48 C0,3.48 0,3.47 0,3.47 C0,3.47 -0.01,3.46 -0.01,3.46 C-0.02,3.46 -0.02,3.46 -0.02,3.46 C-0.03,3.46 -0.03,3.46 -0.03,3.47 C-0.04,3.47 -0.04,3.47 -0.04,3.48 C-0.04,3.48 -0.04,3.48 -0.04,3.49 C-0.04,3.49 -0.03,3.5 -0.03,3.5c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueTo="M-1.11 5.16 C-0.78,5.38 -0.4,5.5 0,5.5 C0,5.5 0,5.5 0,5.5 C0.53,5.5 1.04,5.29 1.41,4.91 C1.79,4.54 2,4.03 2,3.5 C2,3.1 1.88,2.72 1.66,2.39 C1.44,2.06 1.13,1.8 0.77,1.65 C0.4,1.5 0,1.46 -0.39,1.54 C-0.78,1.62 -1.13,1.81 -1.41,2.09 C-1.69,2.37 -1.88,2.72 -1.96,3.11 C-2.04,3.5 -2,3.9 -1.85,4.26 C-1.7,4.63 -1.44,4.94 -1.11,5.16c M5 -3.5 C5,-3.5 6,-3.5 6,-3.5 C6,-3.5 6,-3.5 6,-3.5 C6.53,-3.5 7.04,-3.29 7.41,-2.91 C7.79,-2.54 8,-2.03 8,-1.5 C8,-1.5 8,8.5 8,8.5 C8,9.03 7.79,9.54 7.41,9.91 C7.04,10.29 6.53,10.5 6,10.5 C6,10.5 -6,10.5 -6,10.5 C-6.53,10.5 -7.04,10.29 -7.41,9.91 C-7.79,9.54 -8,9.03 -8,8.5 C-8,8.5 -8,-1.5 -8,-1.5 C-8,-2.03 -7.79,-2.54 -7.41,-2.91 C-7.04,-3.29 -6.53,-3.5 -6,-3.5 C-6,-3.5 3.1,-3.5 3.1,-3.5 C3.1,-3.5 3.1,-5.5 3.1,-5.5 C3.1,-5.91 3.02,-6.31 2.86,-6.69 C2.71,-7.06 2.48,-7.4 2.19,-7.69 C1.9,-7.98 1.56,-8.21 1.19,-8.36 C0.81,-8.52 0.41,-8.6 0,-8.6 C-0.41,-8.6 -0.81,-8.52 -1.19,-8.36 C-1.56,-8.21 -1.9,-7.98 -2.19,-7.69 C-2.48,-7.4 -2.71,-7.06 -2.86,-6.69 C-3.02,-6.31 -3.1,-5.91 -3.1,-5.5 C-3.1,-5.5 -5,-5.5 -5,-5.5 C-5,-6.83 -4.47,-8.1 -3.54,-9.04 C-2.6,-9.97 -1.33,-10.5 0,-10.5 C1.33,-10.5 2.6,-9.97 3.54,-9.04 C4.47,-8.1 5,-6.83 5,-5.5 C5,-5.5 5,-3.5 5,-3.5c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="106" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,11.992C 12.008,12.159 12.008,12.992 12.008,12.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="translateXY" android:duration="211" android:startOffset="106" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12.008,12.992C 12.008,12.992 12.008,12.159 12.008,11.992">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="217" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_microwave.xml b/packages/SystemUI/res/drawable/ic_device_microwave.xml
new file mode 100644
index 000000000000..59d9284ac552
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_microwave.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_microwave_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_microwave_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_mop.xml b/packages/SystemUI/res/drawable/ic_device_mop.xml
new file mode 100644
index 000000000000..7b36078c3198
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_mop.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_mop_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_mop_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_multicooker.xml b/packages/SystemUI/res/drawable/ic_device_multicooker.xml
new file mode 100644
index 000000000000..8c9f60836eb5
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_multicooker.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_multicooker_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_multicooker_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_outdoor_garden.xml b/packages/SystemUI/res/drawable/ic_device_outdoor_garden.xml
new file mode 100644
index 000000000000..a6cb2d8cbd04
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outdoor_garden.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_outdoor_garden_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_outdoor_garden_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_outlet.xml b/packages/SystemUI/res/drawable/ic_device_outlet.xml
new file mode 100644
index 000000000000..17f140e71ffa
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_outlet_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_outlet_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_outlet_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_outlet_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_outlet_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_outlet_off_anim.xml
new file mode 100644
index 000000000000..85d645ebb383
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet_off_anim.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_3_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_3_G" android:translateX="-4" android:translateY="-1">
+ <path android:name="_R_G_L_3_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -2 C-1,-2 1,-2 1,-2 C1,-2 1,2 1,2 C1,2 -1,2 -1,2 C-1,2 -1,-2 -1,-2c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_2_G" android:translateY="4">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.71 -0.71 C-0.52,-0.89 -0.26,-1 0,-1 C0.27,-1 0.52,-0.89 0.71,-0.71 C0.9,-0.52 1,-0.26 1,0 C1,0 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,0 -1,0 C-1,-0.26 -0.89,-0.52 -0.71,-0.71c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <group android:name="_R_G_L_1_G" android:translateX="4" android:translateY="-1">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -2 C-1,-2 1,-2 1,-2 C1,-2 1,2 1,2 C1,2 -1,2 -1,2 C-1,2 -1,-2 -1,-2c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_G">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 5 C-1,5 0,5 0,5 C0,5 1,5 1,5 C1,5 1,4.5 1,4.5 C1,4.5 1,4 1,4 C1,3.87 0.97,3.74 0.92,3.62 C0.87,3.5 0.8,3.39 0.71,3.29 C0.52,3.11 0.27,3 0,3 C-0.26,3 -0.52,3.11 -0.71,3.29 C-0.89,3.48 -1,3.74 -1,4 C-1,4 -1,5 -1,5c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_3_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="217" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="217" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="217" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-1 5 C-1,5 0,5 0,5 C0,5 1,5 1,5 C1,5 1,4.5 1,4.5 C1,4.5 1,4 1,4 C1,3.87 0.97,3.74 0.92,3.62 C0.87,3.5 0.8,3.39 0.71,3.29 C0.52,3.11 0.27,3 0,3 C-0.26,3 -0.52,3.11 -0.71,3.29 C-0.89,3.48 -1,3.74 -1,4 C-1,4 -1,5 -1,5c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-0.02 4.03 C-0.02,4.03 0.03,4.03 0.03,4.03 C0.03,4.03 0.03,4 0.03,4 C0.03,3.99 0.02,3.99 0.02,3.98 C0.01,3.98 0.01,3.98 0,3.98 C-0.01,3.98 -0.01,3.98 -0.02,3.98 C-0.02,3.99 -0.02,3.99 -0.02,4 C-0.02,4 -0.02,4.03 -0.02,4.03c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c " android:valueTo="M-4.44 6.65 C-3.13,7.53 -1.58,8 0,8 C2.12,8 4.16,7.16 5.66,5.66 C7.16,4.16 8,2.12 8,0 C8,-1.58 7.53,-3.13 6.65,-4.44 C5.77,-5.76 4.52,-6.79 3.06,-7.39 C1.6,-8 -0.01,-8.15 -1.56,-7.85 C-3.11,-7.54 -4.54,-6.78 -5.66,-5.66 C-6.78,-4.54 -7.54,-3.11 -7.85,-1.56 C-8.15,-0.01 -8,1.6 -7.39,3.06 C-6.79,4.52 -5.76,5.77 -4.44,6.65c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-1 5 C-1,5 1,5 1,5 C1,5 1,4 1,4 C1,3.74 0.9,3.48 0.71,3.29 C0.52,3.11 0.27,3 0,3 C-0.26,3 -0.52,3.11 -0.71,3.29 C-0.89,3.48 -1,3.74 -1,4 C-1,4 -1,5 -1,5c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_outlet_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_outlet_on_anim.xml
new file mode 100644
index 000000000000..756f0282e9a4
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet_on_anim.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_3_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_3_G" android:translateX="-4" android:translateY="-1">
+ <path android:name="_R_G_L_3_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -2 C-1,-2 1,-2 1,-2 C1,-2 1,2 1,2 C1,2 -1,2 -1,2 C-1,2 -1,-2 -1,-2c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_2_G" android:translateY="4">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-0.71 -0.71 C-0.52,-0.89 -0.26,-1 0,-1 C0.27,-1 0.52,-0.89 0.71,-0.71 C0.9,-0.52 1,-0.26 1,0 C1,0 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,0 -1,0 C-1,-0.26 -0.89,-0.52 -0.71,-0.71c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_1_G" android:translateX="4" android:translateY="-1">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -2 C-1,-2 1,-2 1,-2 C1,-2 1,2 1,2 C1,2 -1,2 -1,2 C-1,2 -1,-2 -1,-2c "/>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_G">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4.44 6.65 C-3.13,7.53 -1.58,8 0,8 C2.12,8 4.16,7.16 5.66,5.66 C7.16,4.16 8,2.12 8,0 C8,-1.58 7.53,-3.13 6.65,-4.44 C5.77,-5.76 4.52,-6.79 3.06,-7.39 C1.6,-8 -0.01,-8.15 -1.56,-7.85 C-3.11,-7.54 -4.54,-6.78 -5.66,-5.66 C-6.78,-4.54 -7.54,-3.11 -7.85,-1.56 C-8.15,-0.01 -8,1.6 -7.39,3.06 C-6.79,4.52 -5.76,5.77 -4.44,6.65c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_3_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_3_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="100" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="100" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G_N_1_T_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="100" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-4.44 6.65 C-3.13,7.53 -1.58,8 0,8 C2.12,8 4.16,7.16 5.66,5.66 C7.16,4.16 8,2.12 8,0 C8,-1.58 7.53,-3.13 6.65,-4.44 C5.77,-5.76 4.52,-6.79 3.06,-7.39 C1.6,-8 -0.01,-8.15 -1.56,-7.85 C-3.11,-7.54 -4.54,-6.78 -5.66,-5.66 C-6.78,-4.54 -7.54,-3.11 -7.85,-1.56 C-8.15,-0.01 -8,1.6 -7.39,3.06 C-6.79,4.52 -5.76,5.77 -4.44,6.65c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-1 5 C-1,5 1,5 1,5 C1,5 1,4 1,4 C1,3.74 0.9,3.48 0.71,3.29 C0.52,3.11 0.27,3 0,3 C-0.26,3 -0.52,3.11 -0.71,3.29 C-0.89,3.48 -1,3.74 -1,4 C-1,4 -1,5 -1,5c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c " android:valueTo="M-1 5 C-1,5 0,5 0,5 C0,5 1,5 1,5 C1,5 1,4.5 1,4.5 C1,4.5 1,4 1,4 C1,3.87 0.97,3.74 0.92,3.62 C0.87,3.5 0.8,3.39 0.71,3.29 C0.52,3.11 0.27,3 0,3 C-0.26,3 -0.52,3.11 -0.71,3.29 C-0.89,3.48 -1,3.74 -1,4 C-1,4 -1,5 -1,5c M-5.56 -8.31 C-3.91,-9.41 -1.98,-10 0,-10 C0,-10 0,-10 0,-10 C2.65,-10 5.2,-8.95 7.07,-7.07 C8.95,-5.2 10,-2.65 10,0 C10,1.98 9.41,3.91 8.32,5.56 C7.22,7.2 5.65,8.48 3.83,9.24 C2,10 -0.01,10.19 -1.95,9.81 C-3.89,9.42 -5.67,8.47 -7.07,7.07 C-8.47,5.67 -9.42,3.89 -9.81,1.95 C-10.19,0.01 -10,-2 -9.24,-3.83 C-8.48,-5.65 -7.2,-7.22 -5.56,-8.31c M3 1 C3,1 5,1 5,1 C5,1 5,-3 5,-3 C5,-3 3,-3 3,-3 C3,-3 3,1 3,1c M-0.02 4.03 C-0.02,4.03 0.03,4.03 0.03,4.03 C0.03,4.03 0.03,4 0.03,4 C0.03,3.99 0.02,3.99 0.02,3.98 C0.01,3.98 0.01,3.98 0,3.98 C-0.01,3.98 -0.01,3.98 -0.02,3.98 C-0.02,3.99 -0.02,3.99 -0.02,4 C-0.02,4 -0.02,4.03 -0.02,4.03c M-5 1 C-5,1 -3,1 -3,1 C-3,1 -3,-3 -3,-3 C-3,-3 -5,-3 -5,-3 C-5,-3 -5,1 -5,1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_pergola.xml b/packages/SystemUI/res/drawable/ic_device_pergola.xml
new file mode 100644
index 000000000000..347ed3df6d55
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_pergola.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_pergola_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_pergola_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_refrigerator.xml b/packages/SystemUI/res/drawable/ic_device_refrigerator.xml
new file mode 100644
index 000000000000..d9d73a3e30bd
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_refrigerator.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_refrigerator_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_refrigerator_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_remote_control.xml b/packages/SystemUI/res/drawable/ic_device_remote_control.xml
new file mode 100644
index 000000000000..a950238899d2
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_remote_control.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_remote_control_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_remote_control_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_security_system.xml b/packages/SystemUI/res/drawable/ic_device_security_system.xml
new file mode 100644
index 000000000000..a607c108ab5b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_security_system_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_security_system_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_security_system_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_security_system_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_security_system_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_security_system_off_anim.xml
new file mode 100644
index 000000000000..5d6c014c7b44
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system_off_anim.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M3.54 -3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 4.96,-2.46 4.96,-2.46 C4.96,-2.46 3.54,-3.89 3.54,-3.89c "/>
+ </group>
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M4.37 4.43 C5.44,2.86 6.01,1 6,-0.91 C6,-0.91 6,-5.61 6,-5.61 C6,-5.61 0,-7.86 0,-7.86 C0,-7.86 -6,-5.61 -6,-5.61 C-6,-5.61 -6,-0.91 -6,-0.91 C-6,1 -5.44,2.86 -4.36,4.43 C-3.29,6.01 -1.77,7.22 0,7.92 C1.77,7.22 3.3,6.01 4.37,4.43c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M-0.2 -11.3 C-6.22,-11.3 -11.1,-6.42 -11.1,-0.4 C-11.1,5.62 -6.22,10.5 -0.2,10.5 C5.82,10.5 10.7,5.62 10.7,-0.4 C10.7,-6.42 5.82,-11.3 -0.2,-11.3c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 3.54,-3.89 3.54,-3.89 C3.54,-3.89 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="167" android:startOffset="0" android:valueFrom="M3.54 -3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 4.96,-2.46 4.96,-2.46 C4.96,-2.46 3.54,-3.89 3.54,-3.89c " android:valueTo="M-2.83 2.45 C-2.83,2.45 -1.42,1.06 -1.42,1.06 C-1.42,1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -2.83,2.45 -2.83,2.45c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="333" android:startOffset="167" android:valueFrom="M-2.83 2.45 C-2.83,2.45 -1.42,1.06 -1.42,1.06 C-1.42,1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -2.83,2.45 -2.83,2.45c " android:valueTo="M-4.95 0.35 C-4.95,0.35 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -4.95,0.35 -4.95,0.35c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-0.2 -11.3 C-6.22,-11.3 -11.1,-6.42 -11.1,-0.4 C-11.1,5.62 -6.22,10.5 -0.2,10.5 C5.82,10.5 10.7,5.62 10.7,-0.4 C10.7,-6.42 5.82,-11.3 -0.2,-11.3c " android:valueTo="M-0.2 10.1 C-4.17,10.1 -7.4,13.33 -7.4,17.3 C-7.4,21.28 -4.17,24.5 -0.2,24.5 C3.78,24.5 7,21.28 7,17.3 C7,13.33 3.78,10.1 -0.2,10.1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="333" android:startOffset="0" android:valueFrom="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 3.54,-3.89 3.54,-3.89 C3.54,-3.89 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueTo="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 0,2.46 0,2.46 C0,2.46 -1.41,1.05 -1.41,1.05 C-1.41,1.05 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="167" android:startOffset="333" android:valueFrom="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 0,2.46 0,2.46 C0,2.46 -1.41,1.05 -1.41,1.05 C-1.41,1.05 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueTo="M-4.95 0.35 C-4.95,0.35 -4.95,0.35 -4.95,0.35 C-4.95,0.35 -3.54,-1.07 -3.54,-1.07 C-3.54,-1.07 -3.55,-1.09 -3.55,-1.09 C-3.55,-1.09 -3.55,-1.08 -3.55,-1.08 C-3.55,-1.08 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_security_system_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_security_system_on_anim.xml
new file mode 100644
index 000000000000..445c6758dc41
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system_on_anim.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_2_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4.95 0.35 C-4.95,0.35 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -4.95,0.35 -4.95,0.35c "/>
+ </group>
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M4.37 4.43 C5.44,2.86 6.01,1 6,-0.91 C6,-0.91 6,-5.61 6,-5.61 C6,-5.61 0,-7.86 0,-7.86 C0,-7.86 -6,-5.61 -6,-5.61 C-6,-5.61 -6,-0.91 -6,-0.91 C-6,1 -5.44,2.86 -4.36,4.43 C-3.29,6.01 -1.77,7.22 0,7.92 C1.77,7.22 3.3,6.01 4.37,4.43c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M-0.2 10.1 C-4.17,10.1 -7.4,13.33 -7.4,17.3 C-7.4,21.28 -4.17,24.5 -0.2,24.5 C3.78,24.5 7,21.28 7,17.3 C7,13.33 3.78,10.1 -0.2,10.1c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4.95 0.35 C-4.95,0.35 -4.95,0.35 -4.95,0.35 C-4.95,0.35 -3.54,-1.07 -3.54,-1.07 C-3.54,-1.07 -3.55,-1.09 -3.55,-1.09 C-3.55,-1.09 -3.55,-1.08 -3.55,-1.08 C-3.55,-1.08 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="167" android:startOffset="0" android:valueFrom="M-4.95 0.35 C-4.95,0.35 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -4.95,0.35 -4.95,0.35c " android:valueTo="M-2.83 2.45 C-2.83,2.45 -1.42,1.06 -1.42,1.06 C-1.42,1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -2.83,2.45 -2.83,2.45c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="233" android:startOffset="167" android:valueFrom="M-2.83 2.45 C-2.83,2.45 -1.42,1.06 -1.42,1.06 C-1.42,1.06 -1.41,1.06 -1.41,1.06 C-1.41,1.06 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 -1.41,3.89 -1.41,3.89 C-1.41,3.89 -2.83,2.45 -2.83,2.45c " android:valueTo="M3.54 -3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 3.54,-3.89 3.54,-3.89 C3.54,-3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 4.96,-2.46 4.96,-2.46 C4.96,-2.46 3.54,-3.89 3.54,-3.89c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M-0.2 10.1 C-4.17,10.1 -7.4,13.33 -7.4,17.3 C-7.4,21.28 -4.17,24.5 -0.2,24.5 C3.78,24.5 7,21.28 7,17.3 C7,13.33 3.78,10.1 -0.2,10.1c " android:valueTo="M-0.2 -11.3 C-6.22,-11.3 -11.1,-6.42 -11.1,-0.4 C-11.1,5.62 -6.22,10.5 -0.2,10.5 C5.82,10.5 10.7,5.62 10.7,-0.4 C10.7,-6.42 5.82,-11.3 -0.2,-11.3c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G_G_0_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="167" android:startOffset="0" android:valueFrom="M-4.95 0.35 C-4.95,0.35 -4.95,0.35 -4.95,0.35 C-4.95,0.35 -3.54,-1.07 -3.54,-1.07 C-3.54,-1.07 -3.55,-1.09 -3.55,-1.09 C-3.55,-1.09 -3.55,-1.08 -3.55,-1.08 C-3.55,-1.08 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueTo="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 0,2.46 0,2.46 C0,2.46 -1.41,1.05 -1.41,1.05 C-1.41,1.05 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="333" android:startOffset="167" android:valueFrom="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 0,2.46 0,2.46 C0,2.46 -1.41,1.05 -1.41,1.05 C-1.41,1.05 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueTo="M-4.95 0.35 C-4.95,0.35 -1.41,3.89 -1.41,3.89 C-1.41,3.89 4.95,-2.47 4.95,-2.47 C4.95,-2.47 3.54,-3.89 3.54,-3.89 C3.54,-3.89 -1.41,1.06 -1.41,1.06 C-1.41,1.06 -3.54,-1.06 -3.54,-1.06 C-3.54,-1.06 -4.95,0.35 -4.95,0.35c M-8 -7 C-8,-7 0,-10 0,-10 C0,-10 8,-7 8,-7 C8,-7 8,-0.91 8,-0.91 C8,4.14 4.59,8.85 0,10 C-4.59,8.85 -8,4.14 -8,-0.91 C-8,-0.91 -8,-7 -8,-7c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_set_top.xml b/packages/SystemUI/res/drawable/ic_device_set_top.xml
new file mode 100644
index 000000000000..23a58c1b1a16
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_set_top.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_set_top_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_set_top_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_sprinkler.xml b/packages/SystemUI/res/drawable/ic_device_sprinkler.xml
new file mode 100644
index 000000000000..e1a1e0460f35
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_sprinkler.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_sprinkler_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_sprinkler_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_styler.xml b/packages/SystemUI/res/drawable/ic_device_styler.xml
new file mode 100644
index 000000000000..486290559091
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_styler.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_styler_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_styler_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_switch.xml b/packages/SystemUI/res/drawable/ic_device_switch.xml
new file mode 100644
index 000000000000..554612d4b4b3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_switch_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_switch_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_switch_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_switch_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_switch_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_switch_off_anim.xml
new file mode 100644
index 000000000000..ecfc5c1635df
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch_off_anim.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_7_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_7_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_6_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_6_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-2 3 C-2,3 2,3 2,3 C2,3 2,-3 2,-3 C2,-3 -2,-3 -2,-3 C-2,-3 -2,3 -2,3c M-4 -5 C-4,-5 4,-5 4,-5 C4,-5 4,5 4,5 C4,5 -4,5 -4,5 C-4,5 -4,-5 -4,-5c "/>
+ </group>
+ <group android:name="_R_G_L_5_G" android:translateX="12" android:translateY="11" android:scaleY="0">
+ <path android:name="_R_G_L_5_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -1 C-1,-1 1,-1 1,-1 C1,-1 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,-1 -1,-1c "/>
+ </group>
+ <group android:name="_R_G_L_4_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_4_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 0 C-1,0 1,0 1,0 C1,0 1,-2 1,-2 C1,-2 -1,-2 -1,-2 C-1,-2 -1,0 -1,0c M-2 -3 C-2,-3 2,-3 2,-3 C2,-3 2,3 2,3 C2,3 -2,3 -2,3 C-2,3 -2,-3 -2,-3c "/>
+ </group>
+ <group android:name="_R_G_L_3_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_3_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4 5 C-4,5 4,5 4,5 C4,5 4,-5 4,-5 C4,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_2_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4 5 C-4,5 4.01,5 4.01,5 C4.01,5 4.01,-5 4.01,-5 C4.01,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-2 3 C-2,3 2,3 2,3 C2,3 2,-3 2,-3 C2,-3 -2,-3 -2,-3 C-2,-3 -2,3 -2,3c M-4 -5 C-4,-5 4,-5 4,-5 C4,-5 4,5 4,5 C4,5 -4,5 -4,5 C-4,5 -4,-5 -4,-5c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="13" android:scaleY="0">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -1 C-1,-1 1,-1 1,-1 C1,-1 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,-1 -1,-1c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_4_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="350" android:startOffset="0" android:valueFrom="M-1 0 C-1,0 1,0 1,0 C1,0 1,-2 1,-2 C1,-2 -1,-2 -1,-2 C-1,-2 -1,0 -1,0c M-2 -3 C-2,-3 2,-3 2,-3 C2,-3 2,3 2,3 C2,3 -2,3 -2,3 C-2,3 -2,-3 -2,-3c " android:valueTo="M-1 2 C-1,2 1,2 1,2 C1,2 1,0 1,0 C1,0 -1,0 -1,0 C-1,0 -1,2 -1,2c M-2 -3 C-2,-3 2,-3 2,-3 C2,-3 2,3 2,3 C2,3 -2,3 -2,3 C-2,3 -2,-3 -2,-3c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_4_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="333" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="133" android:startOffset="0" android:valueFrom="M-4 5 C-4,5 4.01,5 4.01,5 C4.01,5 4.01,-5 4.01,-5 C4.01,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueTo="M-4 5 C-4,5 4.01,5 4.01,5 C4.01,5 4.01,-5 4.01,-5 C4.01,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="217" android:startOffset="133" android:valueFrom="M-4 5 C-4,5 4.01,5 4.01,5 C4.01,5 4.01,-5 4.01,-5 C4.01,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueTo="M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="317" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="317" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_switch_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_switch_on_anim.xml
new file mode 100644
index 000000000000..bd2851970b4f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch_on_anim.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_7_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_7_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_6_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_6_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-2 3 C-2,3 2,3 2,3 C2,3 2,-3 2,-3 C2,-3 -2,-3 -2,-3 C-2,-3 -2,3 -2,3c M-4 -5 C-4,-5 4,-5 4,-5 C4,-5 4,5 4,5 C4,5 -4,5 -4,5 C-4,5 -4,-5 -4,-5c "/>
+ </group>
+ <group android:name="_R_G_L_5_G" android:translateX="12" android:translateY="11" android:scaleY="0">
+ <path android:name="_R_G_L_5_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -1 C-1,-1 1,-1 1,-1 C1,-1 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,-1 -1,-1c "/>
+ </group>
+ <group android:name="_R_G_L_4_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_4_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 0 C-1,0 1,0 1,0 C1,0 1,-2 1,-2 C1,-2 -1,-2 -1,-2 C-1,-2 -1,0 -1,0c M-2 -3 C-2,-3 2,-3 2,-3 C2,-3 2,3 2,3 C2,3 -2,3 -2,3 C-2,3 -2,-3 -2,-3c "/>
+ </group>
+ <group android:name="_R_G_L_3_G" android:translateX="12" android:translateY="12" android:scaleY="0">
+ <path android:name="_R_G_L_3_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-4 5 C-4,5 4,5 4,5 C4,5 4,-5 4,-5 C4,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_2_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c "/>
+ </group>
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-2 3 C-2,3 2,3 2,3 C2,3 2,-3 2,-3 C2,-3 -2,-3 -2,-3 C-2,-3 -2,3 -2,3c M-4 -5 C-4,-5 4,-5 4,-5 C4,-5 4,5 4,5 C4,5 -4,5 -4,5 C-4,5 -4,-5 -4,-5c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="13">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-1 -1 C-1,-1 1,-1 1,-1 C1,-1 1,1 1,1 C1,1 -1,1 -1,1 C-1,1 -1,-1 -1,-1c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_4_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="300" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_2_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="133" android:startOffset="0" android:valueFrom="M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueTo="M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="217" android:startOffset="133" android:valueFrom="M-7 7 C-7,7 7,7 7,7 C7,7 7,-7 7,-7 C7,-7 -7,-7 -7,-7 C-7,-7 -7,7 -7,7c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueTo="M-4 5 C-4,5 4.01,5 4.01,5 C4.01,5 4.01,-5 4.01,-5 C4.01,-5 -4,-5 -4,-5 C-4,-5 -4,5 -4,5c M-7 -9 C-7,-9 7,-9 7,-9 C7.53,-9 8.04,-8.79 8.41,-8.41 C8.79,-8.04 9,-7.53 9,-7 C9,-7 9,7 9,7 C9,7.53 8.79,8.04 8.41,8.41 C8.04,8.79 7.53,9 7,9 C7,9 -7,9 -7,9 C-7.53,9 -8.04,8.79 -8.41,8.41 C-8.79,8.04 -9,7.53 -9,7 C-9,7 -9,-7 -9,-7 C-9,-7.53 -8.79,-8.04 -8.41,-8.41 C-8.04,-8.79 -7.53,-9 -7,-9c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_1_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="333" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateXY" android:duration="350" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,13C 12,12.667 12,11.333 12,11">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.8,0 0.4,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_G">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="scaleY" android:duration="0" android:startOffset="333" android:valueFrom="1" android:valueTo="0" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_thermostat.xml b/packages/SystemUI/res/drawable/ic_device_thermostat.xml
new file mode 100644
index 000000000000..f73387dcbbd7
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_thermostat_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_thermostat_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_thermostat_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_thermostat_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_thermostat_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_thermostat_off_anim.xml
new file mode 100644
index 000000000000..28ac6150ee63
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat_off_anim.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="11.9" android:scaleX="1.05" android:scaleY="1.05">
+ <group android:name="_R_G_L_1_C_0_G">
+ <clip-path android:name="_R_G_L_1_C_0" android:pathData=" M5.32 -2.1 C5.32,-2.1 -4.85,-2.1 -4.85,-2.1 C-4.85,-2.1 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,-2.1 5.32,-2.1c "/>
+ <group android:name="_R_G_L_1_C_0_G_G">
+ <path android:name="_R_G_L_1_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M2.37 5.82 C2.37,5.82 2.4,5.77 2.4,5.77 C2.4,5.77 2.4,5.77 2.4,5.77 C2.79,5.26 3,4.64 3,4 C3,3.54 2.89,3.08 2.68,2.66 C2.47,2.24 2.17,1.88 1.8,1.6 C1.8,1.6 1,1 1,1 C1,1 1,-6 1,-6 C1,-6.26 0.9,-6.52 0.71,-6.71 C0.52,-6.89 0.27,-7 0,-7 C-0.26,-7 -0.52,-6.89 -0.71,-6.71 C-0.89,-6.52 -1,-6.26 -1,-6 C-1,-6 -1,1 -1,1 C-1,1 -1.8,1.6 -1.8,1.6 C-2.17,1.88 -2.47,2.24 -2.68,2.66 C-2.89,3.08 -3,3.54 -3,4 C-3,4.64 -2.78,5.27 -2.4,5.78 C-2.4,5.78 -2.32,5.88 -2.32,5.88 C-2.04,6.23 -1.68,6.52 -1.27,6.71 C-0.86,6.91 -0.41,7.01 0.04,7 C0.49,6.99 0.94,6.89 1.34,6.68 C1.75,6.48 2.09,6.18 2.37,5.82c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M2.37 5.82 C2.37,5.82 2.4,5.77 2.4,5.77 C2.4,5.77 2.4,5.77 2.4,5.77 C2.79,5.26 3,4.64 3,4 C3,3.54 2.89,3.08 2.68,2.66 C2.47,2.24 2.17,1.88 1.8,1.6 C1.8,1.6 1,1 1,1 C1,1 1,-6 1,-6 C1,-6.26 0.9,-6.52 0.71,-6.71 C0.52,-6.89 0.27,-7 0,-7 C-0.26,-7 -0.52,-6.89 -0.71,-6.71 C-0.89,-6.52 -1,-6.26 -1,-6 C-1,-6 -1,1 -1,1 C-1,1 -1.8,1.6 -1.8,1.6 C-2.17,1.88 -2.47,2.24 -2.68,2.66 C-2.89,3.08 -3,3.54 -3,4 C-3,4.64 -2.78,5.27 -2.4,5.78 C-2.4,5.78 -2.32,5.88 -2.32,5.88 C-2.04,6.23 -1.68,6.52 -1.27,6.71 C-0.86,6.91 -0.41,7.01 0.04,7 C0.49,6.99 0.94,6.89 1.34,6.68 C1.75,6.48 2.09,6.18 2.37,5.82c M3 -6 C3,-6 3,0 3,0 C3.62,0.47 4.12,1.07 4.47,1.76 C4.82,2.46 5,3.22 5,4 C5,5.07 4.65,6.12 4,6.97 C4,6.97 4,7 4,7 C4,7 3.98,7 3.98,7 C3.52,7.62 2.92,8.13 2.23,8.47 C1.54,8.82 0.77,9 0,9 C-0.77,9 -1.54,8.82 -2.23,8.47 C-2.92,8.13 -3.52,7.62 -3.98,7 C-3.98,7 -4,7 -4,7 C-4,7 -4,6.97 -4,6.97 C-4.65,6.12 -5,5.07 -5,4 C-5,3.22 -4.82,2.46 -4.47,1.76 C-4.12,1.07 -3.62,0.47 -3,0 C-3,0 -3,-6 -3,-6 C-3,-6.8 -2.68,-7.56 -2.12,-8.12 C-1.56,-8.68 -0.8,-9 0,-9 C0.8,-9 1.56,-8.68 2.12,-8.12 C2.68,-7.56 3,-6.8 3,-6c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M5.32 -2.1 C5.32,-2.1 -4.85,-2.1 -4.85,-2.1 C-4.85,-2.1 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,-2.1 5.32,-2.1c " android:valueTo="M5.32 7.6 C5.32,7.6 -4.85,7.6 -4.85,7.6 C-4.85,7.6 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,7.6 5.32,7.6c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_thermostat_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_thermostat_on_anim.xml
new file mode 100644
index 000000000000..36acf3359aa8
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat_on_anim.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="11.9" android:scaleX="1.05" android:scaleY="1.05">
+ <group android:name="_R_G_L_1_C_0_G">
+ <clip-path android:name="_R_G_L_1_C_0" android:pathData=" M5.32 7.6 C5.32,7.6 -4.85,7.6 -4.85,7.6 C-4.85,7.6 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,7.6 5.32,7.6c "/>
+ <group android:name="_R_G_L_1_C_0_G_G">
+ <path android:name="_R_G_L_1_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M2.37 5.82 C2.37,5.82 2.4,5.77 2.4,5.77 C2.4,5.77 2.4,5.77 2.4,5.77 C2.79,5.26 3,4.64 3,4 C3,3.54 2.89,3.08 2.68,2.66 C2.47,2.24 2.17,1.88 1.8,1.6 C1.8,1.6 1,1 1,1 C1,1 1,-6 1,-6 C1,-6.26 0.9,-6.52 0.71,-6.71 C0.52,-6.89 0.27,-7 0,-7 C-0.26,-7 -0.52,-6.89 -0.71,-6.71 C-0.89,-6.52 -1,-6.26 -1,-6 C-1,-6 -1,1 -1,1 C-1,1 -1.8,1.6 -1.8,1.6 C-2.17,1.88 -2.47,2.24 -2.68,2.66 C-2.89,3.08 -3,3.54 -3,4 C-3,4.64 -2.78,5.27 -2.4,5.78 C-2.4,5.78 -2.32,5.88 -2.32,5.88 C-2.04,6.23 -1.68,6.52 -1.27,6.71 C-0.86,6.91 -0.41,7.01 0.04,7 C0.49,6.99 0.94,6.89 1.34,6.68 C1.75,6.48 2.09,6.18 2.37,5.82c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M2.37 5.82 C2.37,5.82 2.4,5.77 2.4,5.77 C2.4,5.77 2.4,5.77 2.4,5.77 C2.79,5.26 3,4.64 3,4 C3,3.54 2.89,3.08 2.68,2.66 C2.47,2.24 2.17,1.88 1.8,1.6 C1.8,1.6 1,1 1,1 C1,1 1,-6 1,-6 C1,-6.26 0.9,-6.52 0.71,-6.71 C0.52,-6.89 0.27,-7 0,-7 C-0.26,-7 -0.52,-6.89 -0.71,-6.71 C-0.89,-6.52 -1,-6.26 -1,-6 C-1,-6 -1,1 -1,1 C-1,1 -1.8,1.6 -1.8,1.6 C-2.17,1.88 -2.47,2.24 -2.68,2.66 C-2.89,3.08 -3,3.54 -3,4 C-3,4.64 -2.78,5.27 -2.4,5.78 C-2.4,5.78 -2.32,5.88 -2.32,5.88 C-2.04,6.23 -1.68,6.52 -1.27,6.71 C-0.86,6.91 -0.41,7.01 0.04,7 C0.49,6.99 0.94,6.89 1.34,6.68 C1.75,6.48 2.09,6.18 2.37,5.82c M3 -6 C3,-6 3,0 3,0 C3.62,0.47 4.12,1.07 4.47,1.76 C4.82,2.46 5,3.22 5,4 C5,5.07 4.65,6.12 4,6.97 C4,6.97 4,7 4,7 C4,7 3.98,7 3.98,7 C3.52,7.62 2.92,8.13 2.23,8.47 C1.54,8.82 0.77,9 0,9 C-0.77,9 -1.54,8.82 -2.23,8.47 C-2.92,8.13 -3.52,7.62 -3.98,7 C-3.98,7 -4,7 -4,7 C-4,7 -4,6.97 -4,6.97 C-4.65,6.12 -5,5.07 -5,4 C-5,3.22 -4.82,2.46 -4.47,1.76 C-4.12,1.07 -3.62,0.47 -3,0 C-3,0 -3,-6 -3,-6 C-3,-6.8 -2.68,-7.56 -2.12,-8.12 C-1.56,-8.68 -0.8,-9 0,-9 C0.8,-9 1.56,-8.68 2.12,-8.12 C2.68,-7.56 3,-6.8 3,-6c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M5.32 7.6 C5.32,7.6 -4.85,7.6 -4.85,7.6 C-4.85,7.6 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,7.6 5.32,7.6c " android:valueTo="M5.32 -2.1 C5.32,-2.1 -4.85,-2.1 -4.85,-2.1 C-4.85,-2.1 -4.85,7.57 -4.85,7.57 C-4.85,7.57 5.32,7.57 5.32,7.57 C5.32,7.57 5.32,-2.1 5.32,-2.1c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_tv.xml b/packages/SystemUI/res/drawable/ic_device_tv.xml
new file mode 100644
index 000000000000..4baf8a11b5eb
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_tv_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_tv_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_tv_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_tv_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_tv_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_tv_off_anim.xml
new file mode 100644
index 000000000000..0f5a5f5fd199
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv_off_anim.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="12.5">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-8 4.5 C-8,4.5 8,4.5 8,4.5 C8,4.5 8,-6.5 8,-6.5 C8,-6.5 -8,-6.5 -8,-6.5 C-8,-6.5 -8,4.5 -8,4.5c M-8 -8.5 C-8,-8.5 8,-8.5 8,-8.5 C8,-8.5 8,-8.5 8,-8.5 C8.53,-8.5 9.04,-8.29 9.41,-7.91 C9.79,-7.54 10,-7.03 10,-6.5 C10,-6.5 10,4.5 10,4.5 C10,5.03 9.79,5.54 9.41,5.91 C9.04,6.29 8.53,6.5 8,6.5 C8,6.5 8,8.5 8,8.5 C8,8.5 7,8.5 7,8.5 C7,8.5 6.33,6.5 6.33,6.5 C6.33,6.5 -6.33,6.5 -6.33,6.5 C-6.33,6.5 -7,8.5 -7,8.5 C-7,8.5 -8,8.5 -8,8.5 C-8,8.5 -8,6.5 -8,6.5 C-8.53,6.5 -9.04,6.29 -9.41,5.91 C-9.79,5.54 -10,5.03 -10,4.5 C-10,4.5 -10,-6.5 -10,-6.5 C-10,-7.03 -9.79,-7.54 -9.41,-7.91 C-9.04,-8.29 -8.53,-8.5 -8,-8.5c "/>
+ </group>
+ <group android:name="_R_G_L_0_G">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M11.94 32.38 C11.74,11.73 -9.06,11.38 -9.06,11.38 C-9.06,11.38 11.64,11.11 11.94,-9.62 C11.85,11.21 32.94,11.38 32.94,11.38 C32.94,11.38 11.74,11.52 11.94,32.38c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5 7 C5,7 19,7 19,7 C19,7 19,16 19,16 C19,16 5,16 5,16 C5,16 5,7 5,7c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M11.94 32.38 C11.74,11.73 -9.06,11.38 -9.06,11.38 C-9.06,11.38 11.64,11.11 11.94,-9.62 C11.85,11.21 32.94,11.38 32.94,11.38 C32.94,11.38 11.74,11.52 11.94,32.38c " android:valueTo="M11.94 11.56 C11.94,11.38 11.75,11.38 11.75,11.38 C11.75,11.38 11.94,11.37 11.94,11.19 C11.94,11.37 12.13,11.38 12.13,11.38 C12.13,11.38 11.94,11.38 11.94,11.56c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_tv_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_tv_on_anim.xml
new file mode 100644
index 000000000000..0bd7cf2c526e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv_on_anim.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G">
+ <group android:name="_R_G_L_1_C_0_G">
+ <clip-path android:name="_R_G_L_1_C_0" android:pathData=" M11.94 11.56 C11.94,11.38 11.75,11.38 11.75,11.38 C11.75,11.38 11.94,11.37 11.94,11.19 C11.94,11.37 12.13,11.38 12.13,11.38 C12.13,11.38 11.94,11.38 11.94,11.56c "/>
+ <group android:name="_R_G_L_1_C_0_G_G">
+ <path android:name="_R_G_L_1_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M5 7 C5,7 19,7 19,7 C19,7 19,16 19,16 C19,16 5,16 5,16 C5,16 5,7 5,7c "/>
+ </group>
+ </group>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12" android:translateY="12.5">
+ <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-8 4.5 C-8,4.5 8,4.5 8,4.5 C8,4.5 8,-6.5 8,-6.5 C8,-6.5 -8,-6.5 -8,-6.5 C-8,-6.5 -8,4.5 -8,4.5c M-8 -8.5 C-8,-8.5 8,-8.5 8,-8.5 C8,-8.5 8,-8.5 8,-8.5 C8.53,-8.5 9.04,-8.29 9.41,-7.91 C9.79,-7.54 10,-7.03 10,-6.5 C10,-6.5 10,4.5 10,4.5 C10,5.03 9.79,5.54 9.41,5.91 C9.04,6.29 8.53,6.5 8,6.5 C8,6.5 8,8.5 8,8.5 C8,8.5 7,8.5 7,8.5 C7,8.5 6.33,6.5 6.33,6.5 C6.33,6.5 -6.33,6.5 -6.33,6.5 C-6.33,6.5 -7,8.5 -7,8.5 C-7,8.5 -8,8.5 -8,8.5 C-8,8.5 -8,6.5 -8,6.5 C-8.53,6.5 -9.04,6.29 -9.41,5.91 C-9.79,5.54 -10,5.03 -10,4.5 C-10,4.5 -10,-6.5 -10,-6.5 C-10,-7.03 -9.79,-7.54 -9.41,-7.91 C-9.04,-8.29 -8.53,-8.5 -8,-8.5c "/>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M11.94 11.56 C11.94,11.38 11.75,11.38 11.75,11.38 C11.75,11.38 11.94,11.37 11.94,11.19 C11.94,11.37 12.13,11.38 12.13,11.38 C12.13,11.38 11.94,11.38 11.94,11.56c " android:valueTo="M11.94 32.38 C11.74,11.73 -9.06,11.38 -9.06,11.38 C-9.06,11.38 11.64,11.11 11.94,-9.62 C11.85,11.21 32.94,11.38 32.94,11.38 C32.94,11.38 11.74,11.52 11.94,32.38c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_unknown.xml b/packages/SystemUI/res/drawable/ic_device_unknown.xml
new file mode 100644
index 000000000000..b8bfe242277e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_unknown.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_unknown_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_unknown_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_vacuum.xml b/packages/SystemUI/res/drawable/ic_device_vacuum.xml
new file mode 100644
index 000000000000..cbe42b9d12aa
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_vacuum_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_vacuum_on" />
+ <transition
+ android:fromId="@id/off"
+ android:toId="@id/on"
+ android:drawable="@drawable/ic_device_vacuum_on_anim" />
+ <transition
+ android:fromId="@id/on"
+ android:toId="@id/off"
+ android:drawable="@drawable/ic_device_vacuum_off_anim" />
+</animated-selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_vacuum_off_anim.xml b/packages/SystemUI/res/drawable/ic_device_vacuum_off_anim.xml
new file mode 100644
index 000000000000..7e2d1df3357a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum_off_anim.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="11.5">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12.5" android:translateY="11.5">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M2.15 -2.94 C2.15,-2.94 -12,-2.94 -12,-2.94 C-12,-2.94 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,-2.94 2.15,-2.94c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-5.5 -2.5 C-5.5,-2.5 -3.5,-2.5 -3.5,-2.5 C-2.44,-2.5 -1.42,-2.08 -0.67,-1.33 C0.08,-0.58 0.5,0.44 0.5,1.5 C0.5,1.5 0.5,10.5 0.5,10.5 C0.5,10.5 -4.52,10.5 -4.52,10.5 C-3.86,9.64 -3.5,8.59 -3.5,7.5 C-3.5,6.67 -3.7,5.85 -4.1,5.12 C-4.49,4.39 -5.06,3.77 -5.76,3.31 C-6.45,2.86 -7.25,2.59 -8.08,2.52 C-8.91,2.45 -9.74,2.59 -10.5,2.93 C-10.5,2.93 -10.5,-2.5 -10.5,-2.5 C-10.5,-2.5 -7.5,-2.5 -7.5,-2.5 C-7.5,-2.5 -5.5,-2.5 -5.5,-2.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="83" android:startOffset="0" android:valueFrom="M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueTo="M6.47 10.5 C6.47,10.5 6.47,8.5 6.47,8.5 C6.47,8.5 4.13,8.5 4.13,8.5 C4.13,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 1.96,8.5 1.96,8.5 C1.96,8.5 -0.53,8.5 -0.53,8.5 C-0.53,8.5 -0.53,10.5 -0.53,10.5 C-0.53,10.5 6.47,10.5 6.47,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="417" android:startOffset="83" android:valueFrom="M6.47 10.5 C6.47,10.5 6.47,8.5 6.47,8.5 C6.47,8.5 4.13,8.5 4.13,8.5 C4.13,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 1.96,8.5 1.96,8.5 C1.96,8.5 -0.53,8.5 -0.53,8.5 C-0.53,8.5 -0.53,10.5 -0.53,10.5 C-0.53,10.5 6.47,10.5 6.47,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueTo="M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M2.15 -2.94 C2.15,-2.94 -12,-2.94 -12,-2.94 C-12,-2.94 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,-2.94 2.15,-2.94c " android:valueTo="M2.15 11.63 C2.15,11.63 -12,11.63 -12,11.63 C-12,11.63 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,11.63 2.15,11.63c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_vacuum_on_anim.xml b/packages/SystemUI/res/drawable/ic_device_vacuum_on_anim.xml
new file mode 100644
index 000000000000..3c101d3c123a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum_on_anim.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<animated-vector
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:aapt="http://schemas.android.com/aapt">
+ <aapt:attr name="android:drawable">
+ <vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24">
+ <group android:name="_R_G">
+ <group android:name="_R_G_L_1_G" android:translateX="12" android:translateY="11.5">
+ <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c "/>
+ </group>
+ <group android:name="_R_G_L_0_G" android:translateX="12.5" android:translateY="11.5">
+ <group android:name="_R_G_L_0_C_0_G">
+ <clip-path android:name="_R_G_L_0_C_0" android:pathData=" M2.15 11.63 C2.15,11.63 -12,11.63 -12,11.63 C-12,11.63 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,11.63 2.15,11.63c "/>
+ <group android:name="_R_G_L_0_C_0_G_G">
+ <path android:name="_R_G_L_0_G_G_0_D_0_P_0" android:fillColor="#000000" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M-5.5 -2.5 C-5.5,-2.5 -3.5,-2.5 -3.5,-2.5 C-2.44,-2.5 -1.42,-2.08 -0.67,-1.33 C0.08,-0.58 0.5,0.44 0.5,1.5 C0.5,1.5 0.5,10.5 0.5,10.5 C0.5,10.5 -4.52,10.5 -4.52,10.5 C-3.86,9.64 -3.5,8.59 -3.5,7.5 C-3.5,6.67 -3.7,5.85 -4.1,5.12 C-4.49,4.39 -5.06,3.77 -5.76,3.31 C-6.45,2.86 -7.25,2.59 -8.08,2.52 C-8.91,2.45 -9.74,2.59 -10.5,2.93 C-10.5,2.93 -10.5,-2.5 -10.5,-2.5 C-10.5,-2.5 -7.5,-2.5 -7.5,-2.5 C-7.5,-2.5 -5.5,-2.5 -5.5,-2.5c "/>
+ </group>
+ </group>
+ </group>
+ </group>
+ <group android:name="time_group"/>
+ </vector>
+ </aapt:attr>
+ <target android:name="_R_G_L_1_G_D_0_P_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="83" android:startOffset="0" android:valueFrom="M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueTo="M6.47 10.5 C6.47,10.5 6.47,8.5 6.47,8.5 C6.47,8.5 4.13,8.5 4.13,8.5 C4.13,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 1.96,8.5 1.96,8.5 C1.96,8.5 -0.53,8.5 -0.53,8.5 C-0.53,8.5 -0.53,10.5 -0.53,10.5 C-0.53,10.5 6.47,10.5 6.47,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ <objectAnimator android:propertyName="pathData" android:duration="417" android:startOffset="83" android:valueFrom="M6.47 10.5 C6.47,10.5 6.47,8.5 6.47,8.5 C6.47,8.5 4.13,8.5 4.13,8.5 C4.13,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 1.96,8.5 1.96,8.5 C1.96,8.5 -0.53,8.5 -0.53,8.5 C-0.53,8.5 -0.53,10.5 -0.53,10.5 C-0.53,10.5 6.47,10.5 6.47,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueTo="M11 10.5 C11,10.5 11,8.5 11,8.5 C11,8.5 8.66,8.5 8.66,8.5 C8.66,8.5 1.86,-7.68 1.86,-7.68 C1.45,-8.66 0.71,-9.47 -0.23,-9.97 C-1.17,-10.46 -2.26,-10.62 -3.3,-10.41 C-4.34,-10.2 -5.28,-9.63 -5.96,-8.81 C-6.63,-7.98 -7,-6.95 -7,-5.89 C-7,-5.89 -7,-2.5 -7,-2.5 C-7,-2.5 -10,-2.5 -10,-2.5 C-10,-2.5 -10,2.92 -10,2.92 C-9.37,2.64 -8.69,2.5 -8,2.5 C-8,2.5 -8,-0.5 -8,-0.5 C-8,-0.5 -3,-0.5 -3,-0.5 C-2.47,-0.5 -1.96,-0.29 -1.59,0.09 C-1.21,0.46 -1,0.97 -1,1.5 C-1,1.5 -1,8.5 -1,8.5 C-1,8.5 -3.1,8.5 -3.1,8.5 C-3.25,9.23 -3.56,9.91 -4.01,10.5 C-4.01,10.5 1,10.5 1,10.5 C1,10.5 1,1.5 1,1.5 C1,0.44 0.58,-0.58 -0.17,-1.33 C-0.92,-2.08 -1.94,-2.5 -3,-2.5 C-3,-2.5 -5,-2.5 -5,-2.5 C-5,-2.5 -5,-5.89 -5,-5.89 C-5,-6.49 -4.79,-7.07 -4.41,-7.54 C-4.03,-8.01 -3.5,-8.33 -2.91,-8.45 C-2.32,-8.57 -1.71,-8.48 -1.18,-8.2 C-0.64,-7.92 -0.22,-7.46 0.01,-6.91 C0.01,-6.91 6.49,8.5 6.49,8.5 C6.49,8.5 4,8.5 4,8.5 C4,8.5 4,10.5 4,10.5 C4,10.5 11,10.5 11,10.5c M-8.56 8.33 C-8.39,8.44 -8.2,8.5 -8,8.5 C-7.73,8.5 -7.48,8.4 -7.29,8.21 C-7.1,8.02 -7,7.77 -7,7.5 C-7,7.3 -7.06,7.11 -7.17,6.94 C-7.28,6.78 -7.43,6.65 -7.62,6.58 C-7.8,6.5 -8,6.48 -8.19,6.52 C-8.39,6.56 -8.57,6.65 -8.71,6.79 C-8.85,6.93 -8.94,7.11 -8.98,7.31 C-9.02,7.5 -9,7.7 -8.92,7.88 C-8.85,8.07 -8.72,8.22 -8.56,8.33c M-9.67 5.01 C-9.17,4.68 -8.59,4.5 -8,4.5 C-8,4.5 -8,4.5 -8,4.5 C-7.2,4.5 -6.44,4.82 -5.88,5.38 C-5.32,5.94 -5,6.7 -5,7.5 C-5,8.09 -5.18,8.67 -5.51,9.17 C-5.84,9.66 -6.3,10.05 -6.85,10.27 C-7.4,10.5 -8,10.56 -8.59,10.44 C-9.17,10.33 -9.7,10.04 -10.12,9.62 C-10.54,9.2 -10.83,8.67 -10.94,8.09 C-11.06,7.5 -11,6.9 -10.77,6.35 C-10.54,5.8 -10.16,5.34 -9.67,5.01c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="_R_G_L_0_C_0">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="pathData" android:duration="500" android:startOffset="0" android:valueFrom="M2.15 11.63 C2.15,11.63 -12,11.63 -12,11.63 C-12,11.63 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,11.63 2.15,11.63c " android:valueTo="M2.15 -2.94 C2.15,-2.94 -12,-2.94 -12,-2.94 C-12,-2.94 -12,10.58 -12,10.58 C-12,10.58 2.15,10.58 2.15,10.58 C2.15,10.58 2.15,-2.94 2.15,-2.94c " android:valueType="pathType">
+ <aapt:attr name="android:interpolator">
+ <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+ </aapt:attr>
+ </objectAnimator>
+ </set>
+ </aapt:attr>
+ </target>
+ <target android:name="time_group">
+ <aapt:attr name="android:animation">
+ <set android:ordering="together">
+ <objectAnimator android:propertyName="translateX" android:duration="750" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/>
+ </set>
+ </aapt:attr>
+ </target>
+</animated-vector>
diff --git a/packages/SystemUI/res/drawable/ic_device_valve.xml b/packages/SystemUI/res/drawable/ic_device_valve.xml
new file mode 100644
index 000000000000..ce8342a153dd
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_valve.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_valve_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_valve_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_washer.xml b/packages/SystemUI/res/drawable/ic_device_washer.xml
new file mode 100644
index 000000000000..5cc82d9cb1f9
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_washer.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_washer_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_washer_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_water.xml b/packages/SystemUI/res/drawable/ic_device_water.xml
new file mode 100644
index 000000000000..2ec76dffc2f4
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_water.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_water_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_water_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_water_heater.xml b/packages/SystemUI/res/drawable/ic_device_water_heater.xml
new file mode 100644
index 000000000000..71eddf9eaca3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_water_heater.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_water_heater_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_water_heater_on" />
+</selector>
diff --git a/packages/SystemUI/res/drawable/ic_device_window.xml b/packages/SystemUI/res/drawable/ic_device_window.xml
new file mode 100644
index 000000000000..4ec61c1bb372
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_window.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 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
+ -->
+<selector
+ xmlns:android="http://schemas.android.com/apk/res/android">
+ <item
+ android:id="@+id/off"
+ android:state_enabled="false"
+ android:drawable="@drawable/ic_device_window_off" />
+ <item
+ android:id="@+id/on"
+ android:state_enabled="true"
+ android:drawable="@drawable/ic_device_window_on" />
+</selector>
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
index 2f917107cc23..26124f7f3285 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlAdapter.kt
@@ -251,7 +251,7 @@ internal class ControlHolder(
component: ComponentName,
@DeviceTypes.DeviceType deviceType: Int
): RenderInfo {
- return RenderInfo.lookup(itemView.context, component, deviceType, true)
+ return RenderInfo.lookup(itemView.context, component, deviceType)
}
private fun applyRenderInfo(ri: RenderInfo) {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt
index 9b8c036659cd..15d15e8ffbc7 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/management/ControlsRequestDialog.kt
@@ -136,7 +136,7 @@ class ControlsRequestDialog @Inject constructor(
}
fun createDialog(label: CharSequence): Dialog {
- val renderInfo = RenderInfo.lookup(this, component, control.deviceType, true)
+ val renderInfo = RenderInfo.lookup(this, component, control.deviceType)
val frame = LayoutInflater.from(this).inflate(R.layout.controls_dialog, null).apply {
requireViewById<ImageView>(R.id.icon).apply {
setImageDrawable(renderInfo.icon)
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
index f979bbb7af35..f07f3168d246 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlViewHolder.kt
@@ -29,6 +29,7 @@ import android.graphics.drawable.ClipDrawable
import android.graphics.drawable.Drawable
import android.graphics.drawable.GradientDrawable
import android.graphics.drawable.LayerDrawable
+import android.graphics.drawable.StateListDrawable
import android.service.controls.Control
import android.service.controls.DeviceTypes
import android.service.controls.actions.ControlAction
@@ -75,7 +76,8 @@ class ControlViewHolder(
DeviceTypes.TYPE_THERMOSTAT,
DeviceTypes.TYPE_CAMERA
)
-
+ private val ATTR_ENABLED = intArrayOf(android.R.attr.state_enabled)
+ private val ATTR_DISABLED = intArrayOf(-android.R.attr.state_enabled)
const val MIN_LEVEL = 0
const val MAX_LEVEL = 10000
@@ -243,7 +245,7 @@ class ControlViewHolder(
}
internal fun applyRenderInfo(enabled: Boolean, offset: Int, animated: Boolean = true) {
- val ri = RenderInfo.lookup(context, cws.componentName, deviceType, enabled, offset)
+ val ri = RenderInfo.lookup(context, cws.componentName, deviceType, offset)
val fg = context.resources.getColorStateList(ri.foreground, context.theme)
val newText = nextStatusText
nextStatusText = ""
@@ -394,7 +396,17 @@ class ControlViewHolder(
icon.imageTintList = null
icon.setImageIcon(it)
} ?: run {
- icon.setImageDrawable(drawable)
+ if (drawable is StateListDrawable) {
+ // Only reset the drawable if it is a different resource, as it will interfere
+ // with the image state and animation.
+ if (icon.drawable == null || !(icon.drawable is StateListDrawable)) {
+ icon.setImageDrawable(drawable)
+ }
+ val state = if (enabled) ATTR_ENABLED else ATTR_DISABLED
+ icon.setImageState(state, true)
+ } else {
+ icon.setImageDrawable(drawable)
+ }
// do not color app icons
if (deviceType != DeviceTypes.TYPE_ROUTINE) {
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt
index ba331f459a0d..09d41bdd6927 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/RenderInfo.kt
@@ -28,16 +28,6 @@ import android.util.SparseArray
import com.android.systemui.R
-data class IconState(val disabledResourceId: Int, val enabledResourceId: Int) {
- operator fun get(state: Boolean): Int {
- return if (state) {
- enabledResourceId
- } else {
- disabledResourceId
- }
- }
-}
-
data class RenderInfo(
val icon: Drawable,
val foreground: Int,
@@ -53,7 +43,6 @@ data class RenderInfo(
context: Context,
componentName: ComponentName,
deviceType: Int,
- enabled: Boolean,
offset: Int = 0
): RenderInfo {
val key = if (offset > 0) {
@@ -61,8 +50,7 @@ data class RenderInfo(
} else deviceType
val (fg, bg) = deviceColorMap.getValue(key)
- val iconState = deviceIconMap.getValue(key)
- val resourceId = iconState[enabled]
+ val resourceId = deviceIconMap.getValue(key)
var icon: Drawable?
if (resourceId == APP_ICON_ID) {
icon = appIconMap.get(componentName)
@@ -75,11 +63,10 @@ data class RenderInfo(
icon = iconMap.get(resourceId)
if (icon == null) {
icon = context.resources.getDrawable(resourceId, null)
- icon.mutate()
iconMap.put(resourceId, icon)
}
}
- return RenderInfo(icon!!, fg, bg)
+ return RenderInfo(icon!!.constantState.newDrawable(context.resources), fg, bg)
}
fun registerComponentIcon(componentName: ComponentName, icon: Drawable) {
@@ -109,230 +96,67 @@ private val deviceColorMap = mapOf<Int, Pair<Int, Int>>(
Pair(R.color.control_foreground, R.color.control_enabled_default_background)
}
-private val deviceIconMap = mapOf<Int, IconState>(
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_OFF) to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_off
- ),
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT) to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_COOL) to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT_COOL) to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_ECO) to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_off
- ),
- DeviceTypes.TYPE_THERMOSTAT to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- DeviceTypes.TYPE_LIGHT to IconState(
- R.drawable.ic_device_light_off,
- R.drawable.ic_device_light_on
- ),
- DeviceTypes.TYPE_CAMERA to IconState(
- R.drawable.ic_device_camera_off,
- R.drawable.ic_device_camera_on
- ),
- DeviceTypes.TYPE_LOCK to IconState(
- R.drawable.ic_device_lock_off,
- R.drawable.ic_device_lock_on
- ),
- DeviceTypes.TYPE_SWITCH to IconState(
- R.drawable.ic_device_switch_off,
- R.drawable.ic_device_switch_on
- ),
- DeviceTypes.TYPE_OUTLET to IconState(
- R.drawable.ic_device_outlet_off,
- R.drawable.ic_device_outlet_on
- ),
- DeviceTypes.TYPE_VACUUM to IconState(
- R.drawable.ic_device_vacuum_off,
- R.drawable.ic_device_vacuum_on
- ),
- DeviceTypes.TYPE_MOP to IconState(
- R.drawable.ic_device_mop_off,
- R.drawable.ic_device_mop_on
- ),
- DeviceTypes.TYPE_AIR_FRESHENER to IconState(
- R.drawable.ic_device_air_freshener_off,
- R.drawable.ic_device_air_freshener_on
- ),
- DeviceTypes.TYPE_AIR_PURIFIER to IconState(
- R.drawable.ic_device_air_purifier_off,
- R.drawable.ic_device_air_purifier_on
- ),
- DeviceTypes.TYPE_FAN to IconState(
- R.drawable.ic_device_fan_off,
- R.drawable.ic_device_fan_on
- ),
- DeviceTypes.TYPE_HOOD to IconState(
- R.drawable.ic_device_hood_off,
- R.drawable.ic_device_hood_on
- ),
- DeviceTypes.TYPE_KETTLE to IconState(
- R.drawable.ic_device_kettle_off,
- R.drawable.ic_device_kettle_on
- ),
- DeviceTypes.TYPE_MICROWAVE to IconState(
- R.drawable.ic_device_microwave_off,
- R.drawable.ic_device_microwave_on
- ),
- DeviceTypes.TYPE_REMOTE_CONTROL to IconState(
- R.drawable.ic_device_remote_control_off,
- R.drawable.ic_device_remote_control_on
- ),
- DeviceTypes.TYPE_SET_TOP to IconState(
- R.drawable.ic_device_set_top_off,
- R.drawable.ic_device_set_top_on
- ),
- DeviceTypes.TYPE_STYLER to IconState(
- R.drawable.ic_device_styler_off,
- R.drawable.ic_device_styler_on
- ),
- DeviceTypes.TYPE_TV to IconState(
- R.drawable.ic_device_tv_off,
- R.drawable.ic_device_tv_on
- ),
- DeviceTypes.TYPE_WATER_HEATER to IconState(
- R.drawable.ic_device_water_heater_off,
- R.drawable.ic_device_water_heater_on
- ),
- DeviceTypes.TYPE_DISHWASHER to IconState(
- R.drawable.ic_device_dishwasher_off,
- R.drawable.ic_device_dishwasher_on
- ),
- DeviceTypes.TYPE_MULTICOOKER to IconState(
- R.drawable.ic_device_multicooker_off,
- R.drawable.ic_device_multicooker_on
- ),
- DeviceTypes.TYPE_SPRINKLER to IconState(
- R.drawable.ic_device_sprinkler_off,
- R.drawable.ic_device_sprinkler_on
- ),
- DeviceTypes.TYPE_WASHER to IconState(
- R.drawable.ic_device_washer_off,
- R.drawable.ic_device_washer_on
- ),
- DeviceTypes.TYPE_BLINDS to IconState(
- R.drawable.ic_device_blinds_off,
- R.drawable.ic_device_blinds_on
- ),
- DeviceTypes.TYPE_DRAWER to IconState(
- R.drawable.ic_device_drawer_off,
- R.drawable.ic_device_drawer_on
- ),
- DeviceTypes.TYPE_GARAGE to IconState(
- R.drawable.ic_device_garage_off,
- R.drawable.ic_device_garage_on
- ),
- DeviceTypes.TYPE_GATE to IconState(
- R.drawable.ic_device_gate_off,
- R.drawable.ic_device_gate_on
- ),
- DeviceTypes.TYPE_PERGOLA to IconState(
- R.drawable.ic_device_pergola_off,
- R.drawable.ic_device_pergola_on
- ),
- DeviceTypes.TYPE_WINDOW to IconState(
- R.drawable.ic_device_window_off,
- R.drawable.ic_device_window_on
- ),
- DeviceTypes.TYPE_VALVE to IconState(
- R.drawable.ic_device_valve_off,
- R.drawable.ic_device_valve_on
- ),
- DeviceTypes.TYPE_SECURITY_SYSTEM to IconState(
- R.drawable.ic_device_security_system_off,
- R.drawable.ic_device_security_system_on
- ),
- DeviceTypes.TYPE_REFRIGERATOR to IconState(
- R.drawable.ic_device_refrigerator_off,
- R.drawable.ic_device_refrigerator_on
- ),
- DeviceTypes.TYPE_DOORBELL to IconState(
- R.drawable.ic_device_doorbell_off,
- R.drawable.ic_device_doorbell_on
- ),
- DeviceTypes.TYPE_ROUTINE to IconState(
- RenderInfo.APP_ICON_ID,
- RenderInfo.APP_ICON_ID
- ),
- DeviceTypes.TYPE_AC_HEATER to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- DeviceTypes.TYPE_AC_UNIT to IconState(
- R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- DeviceTypes.TYPE_COFFEE_MAKER to IconState(
- R.drawable.ic_device_kettle_off,
- R.drawable.ic_device_kettle_on
- ),
- DeviceTypes.TYPE_DEHUMIDIFIER to IconState(
- R.drawable.ic_device_air_freshener_off,
- R.drawable.ic_device_air_freshener_on
- ),
- DeviceTypes.TYPE_RADIATOR to IconState(
+private val deviceIconMap = mapOf<Int, Int>(
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_OFF) to
R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- ),
- DeviceTypes.TYPE_STANDMIXER to IconState(
- R.drawable.ic_device_cooking_off,
- R.drawable.ic_device_cooking_on
- ),
- DeviceTypes.TYPE_DISPLAY to IconState(
- R.drawable.ic_device_display_off,
- R.drawable.ic_device_display_on
- ),
- DeviceTypes.TYPE_DRYER to IconState(
- R.drawable.ic_device_washer_off,
- R.drawable.ic_device_washer_on
- ),
- DeviceTypes.TYPE_MOWER to IconState(
- R.drawable.ic_device_outdoor_garden_off,
- R.drawable.ic_device_outdoor_garden_on
- ),
- DeviceTypes.TYPE_SHOWER to IconState(
- R.drawable.ic_device_water_off,
- R.drawable.ic_device_water_on
- ),
- DeviceTypes.TYPE_AWNING to IconState(
- R.drawable.ic_device_pergola_off,
- R.drawable.ic_device_pergola_on
- ),
- DeviceTypes.TYPE_CLOSET to IconState(
- R.drawable.ic_device_drawer_off,
- R.drawable.ic_device_drawer_on
- ),
- DeviceTypes.TYPE_CURTAIN to IconState(
- R.drawable.ic_device_blinds_off,
- R.drawable.ic_device_blinds_on
- ),
- DeviceTypes.TYPE_DOOR to IconState(
- R.drawable.ic_device_door_off,
- R.drawable.ic_device_door_on
- ),
- DeviceTypes.TYPE_SHUTTER to IconState(
- R.drawable.ic_device_window_off,
- R.drawable.ic_device_window_on
- ),
- DeviceTypes.TYPE_HEATER to IconState(
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT) to
+ R.drawable.ic_device_thermostat,
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_COOL) to
+ R.drawable.ic_device_thermostat,
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT_COOL) to
+ R.drawable.ic_device_thermostat,
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_ECO) to
R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_on
- )
+ DeviceTypes.TYPE_THERMOSTAT to R.drawable.ic_device_thermostat,
+ DeviceTypes.TYPE_LIGHT to R.drawable.ic_device_light,
+ DeviceTypes.TYPE_CAMERA to R.drawable.ic_device_camera,
+ DeviceTypes.TYPE_LOCK to R.drawable.ic_device_lock,
+ DeviceTypes.TYPE_SWITCH to R.drawable.ic_device_switch,
+ DeviceTypes.TYPE_OUTLET to R.drawable.ic_device_outlet,
+ DeviceTypes.TYPE_VACUUM to R.drawable.ic_device_vacuum,
+ DeviceTypes.TYPE_MOP to R.drawable.ic_device_mop,
+ DeviceTypes.TYPE_AIR_FRESHENER to R.drawable.ic_device_air_freshener,
+ DeviceTypes.TYPE_AIR_PURIFIER to R.drawable.ic_device_air_purifier,
+ DeviceTypes.TYPE_FAN to R.drawable.ic_device_fan,
+ DeviceTypes.TYPE_HOOD to R.drawable.ic_device_hood,
+ DeviceTypes.TYPE_KETTLE to R.drawable.ic_device_kettle,
+ DeviceTypes.TYPE_MICROWAVE to R.drawable.ic_device_microwave,
+ DeviceTypes.TYPE_REMOTE_CONTROL to R.drawable.ic_device_remote_control,
+ DeviceTypes.TYPE_SET_TOP to R.drawable.ic_device_set_top,
+ DeviceTypes.TYPE_STYLER to R.drawable.ic_device_styler,
+ DeviceTypes.TYPE_TV to R.drawable.ic_device_tv,
+ DeviceTypes.TYPE_WATER_HEATER to R.drawable.ic_device_water_heater,
+ DeviceTypes.TYPE_DISHWASHER to R.drawable.ic_device_dishwasher,
+ DeviceTypes.TYPE_MULTICOOKER to R.drawable.ic_device_multicooker,
+ DeviceTypes.TYPE_SPRINKLER to R.drawable.ic_device_sprinkler,
+ DeviceTypes.TYPE_WASHER to R.drawable.ic_device_washer,
+ DeviceTypes.TYPE_BLINDS to R.drawable.ic_device_blinds,
+ DeviceTypes.TYPE_DRAWER to R.drawable.ic_device_drawer,
+ DeviceTypes.TYPE_GARAGE to R.drawable.ic_device_garage,
+ DeviceTypes.TYPE_GATE to R.drawable.ic_device_gate,
+ DeviceTypes.TYPE_PERGOLA to R.drawable.ic_device_pergola,
+ DeviceTypes.TYPE_WINDOW to R.drawable.ic_device_window,
+ DeviceTypes.TYPE_VALVE to R.drawable.ic_device_valve,
+ DeviceTypes.TYPE_SECURITY_SYSTEM to R.drawable.ic_device_security_system,
+ DeviceTypes.TYPE_REFRIGERATOR to R.drawable.ic_device_refrigerator,
+ DeviceTypes.TYPE_DOORBELL to R.drawable.ic_device_doorbell,
+ DeviceTypes.TYPE_ROUTINE to RenderInfo.APP_ICON_ID,
+ DeviceTypes.TYPE_AC_HEATER to R.drawable.ic_device_thermostat,
+ DeviceTypes.TYPE_AC_UNIT to R.drawable.ic_device_thermostat,
+ DeviceTypes.TYPE_COFFEE_MAKER to R.drawable.ic_device_kettle,
+ DeviceTypes.TYPE_DEHUMIDIFIER to R.drawable.ic_device_air_freshener,
+ DeviceTypes.TYPE_RADIATOR to R.drawable.ic_device_thermostat,
+ DeviceTypes.TYPE_STANDMIXER to R.drawable.ic_device_cooking,
+ DeviceTypes.TYPE_DISPLAY to R.drawable.ic_device_display,
+ DeviceTypes.TYPE_DRYER to R.drawable.ic_device_washer,
+ DeviceTypes.TYPE_MOWER to R.drawable.ic_device_outdoor_garden,
+ DeviceTypes.TYPE_SHOWER to R.drawable.ic_device_water,
+ DeviceTypes.TYPE_AWNING to R.drawable.ic_device_pergola,
+ DeviceTypes.TYPE_CLOSET to R.drawable.ic_device_drawer,
+ DeviceTypes.TYPE_CURTAIN to R.drawable.ic_device_blinds,
+ DeviceTypes.TYPE_DOOR to R.drawable.ic_device_door,
+ DeviceTypes.TYPE_SHUTTER to R.drawable.ic_device_window,
+ DeviceTypes.TYPE_HEATER to R.drawable.ic_device_thermostat
).withDefault {
- IconState(
- R.drawable.ic_device_unknown_off,
- R.drawable.ic_device_unknown_on
- )
+ R.drawable.ic_device_unknown
}