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 0000000000000..5050223302b32
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_air_freshener.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..7de46bf24be4b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_air_purifier.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..104da7e668876
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..1eaccf58ac9f5
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds_off_anim.xml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..de87f8112a9b7
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_blinds_on_anim.xml
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..a76142ab2cc12
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..32d1a0eb755aa
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera_off_anim.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..1a1a3ffe48555
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_camera_on_anim.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..e3922e2f11ea3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_cooking.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..cc7f7f98d07e5
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_dishwasher.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..9a2ee2995de81
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_display.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..367f97f2d3eea
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_door.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..6f96a1b719d32
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_doorbell.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..0f86f90d997a1
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_drawer.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..34dc712ace65e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..189d85a70f790
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan_off_anim.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..5987b076ca701
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_fan_on_anim.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..9a31f332fd3eb
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..1a5bd286fde8c
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage_off_anim.xml
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..a1999e03436de
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_garage_on_anim.xml
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..8fbf08bfeb48e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_gate.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..e376db872884d
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_hood.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..81ea3901e9dec
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_kettle.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..ebd6c18b96991
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..213aa4e4413a9
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light_off_anim.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..bb9c58bf99589
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_light_on_anim.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..d291ba452852a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..321bf1033fec5
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock_off_anim.xml
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..3c19a7b24794a
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_lock_on_anim.xml
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..59d9284ac552d
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_microwave.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..7b36078c31982
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_mop.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..8c9f60836eb5f
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_multicooker.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..a6cb2d8cbd044
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outdoor_garden.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..17f140e71ffaa
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..85d645ebb3833
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet_off_anim.xml
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..756f0282e9a4e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_outlet_on_anim.xml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..347ed3df6d55b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_pergola.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..d9d73a3e30bdc
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_refrigerator.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..a950238899d2e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_remote_control.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..a607c108ab5b3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..5d6c014c7b444
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system_off_anim.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..445c6758dc411
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_security_system_on_anim.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..23a58c1b1a16b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_set_top.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..e1a1e0460f358
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_sprinkler.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..4862905590917
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_styler.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..554612d4b4b30
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..ecfc5c1635dfc
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch_off_anim.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..bd2851970b4f7
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_switch_on_anim.xml
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..f73387dcbbd7e
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..28ac6150ee634
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat_off_anim.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..36acf3359aa8b
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_thermostat_on_anim.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..4baf8a11b5ebb
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..0f5a5f5fd1998
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv_off_anim.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..0bd7cf2c526ef
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_tv_on_anim.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..b8bfe242277e6
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_unknown.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..cbe42b9d12aa3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
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 0000000000000..7e2d1df3357a6
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum_off_anim.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..3c101d3c123a4
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_vacuum_on_anim.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 0000000000000..ce8342a153dd2
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_valve.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..5cc82d9cb1f9c
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_washer.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..2ec76dffc2f46
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_water.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..71eddf9eaca30
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_water_heater.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 0000000000000..4ec61c1bb3723
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_device_window.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
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 2f917107cc231..26124f7f32854 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 9b8c036659cd4..15d15e8ffbc73 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(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 f979bbb7af35d..f07f3168d2460 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 ba331f459a0d9..09d41bdd6927f 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>(
Pair(R.color.control_foreground, R.color.control_enabled_default_background)
}
-private val deviceIconMap = mapOf(
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_OFF) to IconState(
+private val deviceIconMap = mapOf(
+ (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_OFF) to
R.drawable.ic_device_thermostat_off,
- R.drawable.ic_device_thermostat_off
- ),
- (THERMOSTAT_RANGE + TemperatureControlTemplate.MODE_HEAT) 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
- ),
- (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(
- 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(
- 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
}