Merge "Add pin shortcut to Dock items" into main
diff --git a/app/res/values-af/strings.xml b/app/res/values-af/strings.xml
index 8c185b3..026c73c 100644
--- a/app/res/values-af/strings.xml
+++ b/app/res/values-af/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Geen onlangse items nie"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Vee alles uit"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App is nie beskikbaar nie"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Kalmmodus"</string>
 </resources>
diff --git a/app/res/values-am/strings.xml b/app/res/values-am/strings.xml
index 9475d26..6b1b6c1 100644
--- a/app/res/values-am/strings.xml
+++ b/app/res/values-am/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ምንም የቅርብ ጊዜ ንጥሎች የሉም"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ሁሉንም አጽዳ"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"መተግበሪያ አይገኝም"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"የእርጋታ ሁነታ"</string>
 </resources>
diff --git a/app/res/values-ar/strings.xml b/app/res/values-ar/strings.xml
index 13d7128..345de0d 100644
--- a/app/res/values-ar/strings.xml
+++ b/app/res/values-ar/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ما مِن عناصر تم استخدامها مؤخرًا"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"محو الكل"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"التطبيق غير متاح."</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"وضع الهدوء"</string>
 </resources>
diff --git a/app/res/values-as/strings.xml b/app/res/values-as/strings.xml
index c752fbd..23500ec 100644
--- a/app/res/values-as/strings.xml
+++ b/app/res/values-as/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"কোনো শেহতীয়া বস্তু নাই"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"আটাইবোৰ মচক"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"এপ্‌টো উপলব্ধ নহয়"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"শান্ত ম’ড"</string>
 </resources>
diff --git a/app/res/values-az/strings.xml b/app/res/values-az/strings.xml
index 1f89465..130ebd6 100644
--- a/app/res/values-az/strings.xml
+++ b/app/res/values-az/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Son element yoxdur"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Hamısını silin"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Tətbiq əlçatan deyil"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Sakit rejim"</string>
 </resources>
diff --git a/app/res/values-b+sr+Latn/strings.xml b/app/res/values-b+sr+Latn/strings.xml
index 7f7dc1c..2061112 100644
--- a/app/res/values-b+sr+Latn/strings.xml
+++ b/app/res/values-b+sr+Latn/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nema nedavnih stavki"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Obriši sve"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacija nije dostupna"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Režim opuštanja"</string>
 </resources>
diff --git a/app/res/values-be/strings.xml b/app/res/values-be/strings.xml
index b430ec4..2e6f4da 100644
--- a/app/res/values-be/strings.xml
+++ b/app/res/values-be/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Няма нядаўніх элементаў"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Ачысціць усё"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Праграма недаступная"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Рэжым спакою"</string>
 </resources>
diff --git a/app/res/values-bg/strings.xml b/app/res/values-bg/strings.xml
index 8cb53ba..8425793 100644
--- a/app/res/values-bg/strings.xml
+++ b/app/res/values-bg/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Няма скорошни елементи"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Изчистване на всичко"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Приложението не е налично"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Режим на покой"</string>
 </resources>
diff --git a/app/res/values-bn/strings.xml b/app/res/values-bn/strings.xml
index 535fb03..d9b579c 100644
--- a/app/res/values-bn/strings.xml
+++ b/app/res/values-bn/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"কোনও সাম্প্রতিক আইটেম নেই"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"সব মুছে দিন"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"অ্যাপ উপলভ্য নেই"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"\'কাম\' মোড"</string>
 </resources>
diff --git a/app/res/values-bs/strings.xml b/app/res/values-bs/strings.xml
index 385eaa2..23c696f 100644
--- a/app/res/values-bs/strings.xml
+++ b/app/res/values-bs/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nema nedavnih stavki"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Obriši sve"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacija nije dostupna"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Način rada za opuštanje"</string>
 </resources>
diff --git a/app/res/values-ca/strings.xml b/app/res/values-ca/strings.xml
index 7b70215..e2d8eec 100644
--- a/app/res/values-ca/strings.xml
+++ b/app/res/values-ca/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No hi ha cap element recent"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Esborra-ho tot"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"L\'aplicació no està disponible"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Mode de calma"</string>
 </resources>
diff --git a/app/res/values-cs/strings.xml b/app/res/values-cs/strings.xml
index d94ce1c..8fd05bd 100644
--- a/app/res/values-cs/strings.xml
+++ b/app/res/values-cs/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Žádné nedávné položky"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Vymazat vše"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikace není k dispozici"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Klidný režim"</string>
 </resources>
diff --git a/app/res/values-da/strings.xml b/app/res/values-da/strings.xml
index ee2a03f..f17d3fa 100644
--- a/app/res/values-da/strings.xml
+++ b/app/res/values-da/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ingen nye elementer"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Ryd alt"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Appen er ikke tilgængelig"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Beroligende tilstand"</string>
 </resources>
diff --git a/app/res/values-de/strings.xml b/app/res/values-de/strings.xml
index fe506f3..ef60b01 100644
--- a/app/res/values-de/strings.xml
+++ b/app/res/values-de/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Keine kürzlich verwendeten Elemente"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Alles löschen"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App nicht verfügbar"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Ruhemodus"</string>
 </resources>
diff --git a/app/res/values-el/strings.xml b/app/res/values-el/strings.xml
index 31e20c0..9c9bf06 100644
--- a/app/res/values-el/strings.xml
+++ b/app/res/values-el/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Δεν υπάρχουν πρόσφατα στοιχεία"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Διαγραφή όλων"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Η εφαρμογή δεν είναι διαθέσιμη"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Λειτουργία ηρεμίας"</string>
 </resources>
diff --git a/app/res/values-en-rAU/strings.xml b/app/res/values-en-rAU/strings.xml
index 3ede0e4..9c42c4d 100644
--- a/app/res/values-en-rAU/strings.xml
+++ b/app/res/values-en-rAU/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No recent items"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Clear all"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App isn\'t available"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Calm mode"</string>
 </resources>
diff --git a/app/res/values-en-rGB/strings.xml b/app/res/values-en-rGB/strings.xml
index 3ede0e4..9c42c4d 100644
--- a/app/res/values-en-rGB/strings.xml
+++ b/app/res/values-en-rGB/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No recent items"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Clear all"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App isn\'t available"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Calm mode"</string>
 </resources>
diff --git a/app/res/values-en-rIN/strings.xml b/app/res/values-en-rIN/strings.xml
index 3ede0e4..9c42c4d 100644
--- a/app/res/values-en-rIN/strings.xml
+++ b/app/res/values-en-rIN/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No recent items"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Clear all"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App isn\'t available"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Calm mode"</string>
 </resources>
diff --git a/app/res/values-es-rUS/strings.xml b/app/res/values-es-rUS/strings.xml
index ead728c..bc3a90d 100644
--- a/app/res/values-es-rUS/strings.xml
+++ b/app/res/values-es-rUS/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No hay elementos recientes"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Borrar todo"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"La app no está disponible"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modo calma"</string>
 </resources>
diff --git a/app/res/values-es/strings.xml b/app/res/values-es/strings.xml
index b1a7c87..961c95b 100644
--- a/app/res/values-es/strings.xml
+++ b/app/res/values-es/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"No hay elementos recientes"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Borrar todo"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"La aplicación no está disponible"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modo Calma"</string>
 </resources>
diff --git a/app/res/values-et/strings.xml b/app/res/values-et/strings.xml
index 2f9fb9d..db6e3e6 100644
--- a/app/res/values-et/strings.xml
+++ b/app/res/values-et/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Hiljutisi üksusi pole"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Kustuta kõik"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Rakendus ei ole saadaval"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Lõõgastusrežiim"</string>
 </resources>
diff --git a/app/res/values-eu/strings.xml b/app/res/values-eu/strings.xml
index 4454253..c53b647 100644
--- a/app/res/values-eu/strings.xml
+++ b/app/res/values-eu/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ez dago azkenaldiko elementurik"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Garbitu guztia"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Ez dago erabilgarri aplikazioa"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modu lasaia"</string>
 </resources>
diff --git a/app/res/values-fa/strings.xml b/app/res/values-fa/strings.xml
index 20a4370..c4ceec8 100644
--- a/app/res/values-fa/strings.xml
+++ b/app/res/values-fa/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"مورد جدیدی وجود ندارد"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"پاک کردن همه"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"برنامه دردسترس نیست"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"حالت آرام"</string>
 </resources>
diff --git a/app/res/values-fi/strings.xml b/app/res/values-fi/strings.xml
index 5eb8045..8d31ddc 100644
--- a/app/res/values-fi/strings.xml
+++ b/app/res/values-fi/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ei viimeaikaisia kohteita"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Tyhjennä kaikki"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Sovellus ei ole käytettävissä"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Rauhallinen tila"</string>
 </resources>
diff --git a/app/res/values-fr/strings.xml b/app/res/values-fr/strings.xml
index fd74e0f..8573c01 100644
--- a/app/res/values-fr/strings.xml
+++ b/app/res/values-fr/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Aucun élément récent"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Tout effacer"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Appli indisponible"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Mode calme"</string>
 </resources>
diff --git a/app/res/values-gl/strings.xml b/app/res/values-gl/strings.xml
index 31fbc7b..b581569 100644
--- a/app/res/values-gl/strings.xml
+++ b/app/res/values-gl/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Non hai ningún elemento recente"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Borrar todo"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"A aplicación non está dispoñible"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modo de calma"</string>
 </resources>
diff --git a/app/res/values-gu/strings.xml b/app/res/values-gu/strings.xml
index cf3665e..ff9c5b7 100644
--- a/app/res/values-gu/strings.xml
+++ b/app/res/values-gu/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"તાજેતરની કોઈ આઇટમ નથી"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"બધું સાફ કરો"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ઍપ ઉપલબ્ધ નથી"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"શાંત મોડ"</string>
 </resources>
diff --git a/app/res/values-hi/strings.xml b/app/res/values-hi/strings.xml
index c7e9594..bbc3ee2 100644
--- a/app/res/values-hi/strings.xml
+++ b/app/res/values-hi/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"हाल ही का कोई आइटम मौजूद नहीं है"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"सभी मिटाएं"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ऐप्लिकेशन उपलब्ध नहीं है"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"काम (शांत) मोड"</string>
 </resources>
diff --git a/app/res/values-hr/strings.xml b/app/res/values-hr/strings.xml
index 144c983..1c33dff 100644
--- a/app/res/values-hr/strings.xml
+++ b/app/res/values-hr/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nema nedavnih stavki"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Izbriši sve"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacija nije dostupna"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Način opuštanja"</string>
 </resources>
diff --git a/app/res/values-hu/strings.xml b/app/res/values-hu/strings.xml
index c5bd0cf..4c08fa7 100644
--- a/app/res/values-hu/strings.xml
+++ b/app/res/values-hu/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nincsenek mostanában használt elemek"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Összes törlése"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Az alkalmazás nem áll rendelkezésre"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Nyugalom mód"</string>
 </resources>
diff --git a/app/res/values-hy/strings.xml b/app/res/values-hy/strings.xml
index 1c84bfe..906fb6b 100644
--- a/app/res/values-hy/strings.xml
+++ b/app/res/values-hy/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Նոր տարրեր չկան"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Ջնջել բոլորը"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Հավելվածը հասանելի չէ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Հանգստի ռեժիմ"</string>
 </resources>
diff --git a/app/res/values-in/strings.xml b/app/res/values-in/strings.xml
index 1824ff6..ab9c491 100644
--- a/app/res/values-in/strings.xml
+++ b/app/res/values-in/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Tidak ada item baru"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Hapus Semua"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikasi tidak tersedia"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Mode tenang"</string>
 </resources>
diff --git a/app/res/values-is/strings.xml b/app/res/values-is/strings.xml
index d982f53..3362bd4 100644
--- a/app/res/values-is/strings.xml
+++ b/app/res/values-is/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Engin nýleg atriði"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Hreinsa allt"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Forritið er ekki í boði"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Róleg stilling"</string>
 </resources>
diff --git a/app/res/values-it/strings.xml b/app/res/values-it/strings.xml
index dcc9e2c..15b9890 100644
--- a/app/res/values-it/strings.xml
+++ b/app/res/values-it/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nessun elemento recente"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Cancella tutto"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App non disponibile"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modalità Calma"</string>
 </resources>
diff --git a/app/res/values-iw/strings.xml b/app/res/values-iw/strings.xml
index fb31d16..050d187 100644
--- a/app/res/values-iw/strings.xml
+++ b/app/res/values-iw/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"אין פריטים מהזמן האחרון"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ניקוי הכול"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"האפליקציה לא זמינה"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"מצב רגיעה"</string>
 </resources>
diff --git a/app/res/values-ja/strings.xml b/app/res/values-ja/strings.xml
index a9c6d98..ce968b5 100644
--- a/app/res/values-ja/strings.xml
+++ b/app/res/values-ja/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"最近のアイテムはありません"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"すべて消去"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"このアプリは使用できません"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Calm モード"</string>
 </resources>
diff --git a/app/res/values-ka/strings.xml b/app/res/values-ka/strings.xml
index b2679ca..9920b17 100644
--- a/app/res/values-ka/strings.xml
+++ b/app/res/values-ka/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ბოლოდროინდელი ერთეულები არ არის"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ყველას გასუფთავება"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"აპი მიუწვდომელია"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"წყნარი რეჟიმი"</string>
 </resources>
diff --git a/app/res/values-kk/strings.xml b/app/res/values-kk/strings.xml
index 623ada8..fe1b8d9 100644
--- a/app/res/values-kk/strings.xml
+++ b/app/res/values-kk/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Cоңғы қосылған элемент жоқ."</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Барлығын өшіру"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Қолданба қолжетімді емес."</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Тыныштық режимі"</string>
 </resources>
diff --git a/app/res/values-km/strings.xml b/app/res/values-km/strings.xml
index 33405aa..0ca0780 100644
--- a/app/res/values-km/strings.xml
+++ b/app/res/values-km/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"មិនមានធាតុថ្មីៗទេ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"សម្អាតទាំងអស់"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"មិន​មាន​កម្មវិធី"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"មុខងារស្ងាត់"</string>
 </resources>
diff --git a/app/res/values-kn/strings.xml b/app/res/values-kn/strings.xml
index f1ab3b0..2d42f2f 100644
--- a/app/res/values-kn/strings.xml
+++ b/app/res/values-kn/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ಯಾವುದೇ ಇತ್ತೀಚಿನ ಐಟಂಗಳಿಲ್ಲ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ಎಲ್ಲವನ್ನೂ ಅಳಿಸಿ"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ಆ್ಯಪ್ ಲಭ್ಯವಿಲ್ಲ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"ಶಾಂತ ಮೋಡ್"</string>
 </resources>
diff --git a/app/res/values-ko/strings.xml b/app/res/values-ko/strings.xml
index 4b74b38..b85a262 100644
--- a/app/res/values-ko/strings.xml
+++ b/app/res/values-ko/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"최근 항목이 없습니다."</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"모두 지우기"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"앱을 사용할 수 없음"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"고요 모드"</string>
 </resources>
diff --git a/app/res/values-ky/strings.xml b/app/res/values-ky/strings.xml
index 6699e67..5ff6cb1 100644
--- a/app/res/values-ky/strings.xml
+++ b/app/res/values-ky/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Жакында колдонулган нерселер жок"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Баарын тазалоо"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Колдонмо жеткиликтүү эмес"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Тынчтык режими"</string>
 </resources>
diff --git a/app/res/values-lo/strings.xml b/app/res/values-lo/strings.xml
index 4141a8c..6cd8049 100644
--- a/app/res/values-lo/strings.xml
+++ b/app/res/values-lo/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ບໍ່ມີລາຍການຫຼ້າສຸດ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ລຶບລ້າງທັງໝົດ"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ແອັບບໍ່ພ້ອມໃຫ້ນຳໃຊ້"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"ໂໝດສະຫງົບ"</string>
 </resources>
diff --git a/app/res/values-lt/strings.xml b/app/res/values-lt/strings.xml
index 7aeb280..1c0d051 100644
--- a/app/res/values-lt/strings.xml
+++ b/app/res/values-lt/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nėra jokių naujausių elementų"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Išvalyti viską"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Programa nepasiekiama"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Ramybės režimas"</string>
 </resources>
diff --git a/app/res/values-lv/strings.xml b/app/res/values-lv/strings.xml
index b30a68c..4d8b539 100644
--- a/app/res/values-lv/strings.xml
+++ b/app/res/values-lv/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nav nesenu vienumu"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Notīrīt visu"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Lietotne nav pieejama"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Miera režīms"</string>
 </resources>
diff --git a/app/res/values-mk/strings.xml b/app/res/values-mk/strings.xml
index 1dced8c..a7f5d5c 100644
--- a/app/res/values-mk/strings.xml
+++ b/app/res/values-mk/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Нема неодамнешни ставки"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Избриши ги сите"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Апликацијата не е достапна"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Режим на мирување"</string>
 </resources>
diff --git a/app/res/values-ml/strings.xml b/app/res/values-ml/strings.xml
index 3ebb2e2..c65d5bb 100644
--- a/app/res/values-ml/strings.xml
+++ b/app/res/values-ml/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"സമീപകാല ഇനങ്ങൾ ഒന്നുമില്ല"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"എല്ലാം മായ്‌ക്കുക"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ആപ്പ് ലഭ്യമല്ല"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"\'ശാന്തം\' മോഡ്"</string>
 </resources>
diff --git a/app/res/values-mn/strings.xml b/app/res/values-mn/strings.xml
index 7936f09..7a0ec37 100644
--- a/app/res/values-mn/strings.xml
+++ b/app/res/values-mn/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ямар ч саяхны зүйл байхгүй"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Бүгдийг арилгах"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Апп боломжгүй байна"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Тайван горим"</string>
 </resources>
diff --git a/app/res/values-mr/strings.xml b/app/res/values-mr/strings.xml
index 5df4722..dc2bce3 100644
--- a/app/res/values-mr/strings.xml
+++ b/app/res/values-mr/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"कोणतेही अलीकडील आयटम नाहीत"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"सर्व साफ करा"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"अ‍ॅप उपलब्ध नाही"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"शांत मोड"</string>
 </resources>
diff --git a/app/res/values-ms/strings.xml b/app/res/values-ms/strings.xml
index 9215b1f..fe43262 100644
--- a/app/res/values-ms/strings.xml
+++ b/app/res/values-ms/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Tiada item terbaharu"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Kosongkan Semua"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Apl tidak tersedia"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Mod Calm"</string>
 </resources>
diff --git a/app/res/values-my/strings.xml b/app/res/values-my/strings.xml
index 7521f0b..57b5005 100644
--- a/app/res/values-my/strings.xml
+++ b/app/res/values-my/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"မကြာသေးမီက သုံးထားသည်များ မရှိပါ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"အားလုံးရှင်းရန်"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"အက်ပ် မရနိုင်ပါ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"အငြိမ်မုဒ်"</string>
 </resources>
diff --git a/app/res/values-nb/strings.xml b/app/res/values-nb/strings.xml
index 4de002d..e9f4b4a 100644
--- a/app/res/values-nb/strings.xml
+++ b/app/res/values-nb/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ingen nylige elementer"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Fjern alt"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Appen er ikke tilgjengelig"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Roligmodus"</string>
 </resources>
diff --git a/app/res/values-ne/strings.xml b/app/res/values-ne/strings.xml
index 6ad4980..4053971 100644
--- a/app/res/values-ne/strings.xml
+++ b/app/res/values-ne/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"हालसालैको कुनै पनि सामग्री छैन"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"सबै सामग्री मेटाउनुहोस्"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"एप उपलब्ध छैन"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"शान्त मोड"</string>
 </resources>
diff --git a/app/res/values-nl/strings.xml b/app/res/values-nl/strings.xml
index bc8f9e6..86a9cdb 100644
--- a/app/res/values-nl/strings.xml
+++ b/app/res/values-nl/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Geen recente items"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Alles wissen"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"App is niet beschikbaar"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Kalme modus"</string>
 </resources>
diff --git a/app/res/values-or/strings.xml b/app/res/values-or/strings.xml
index 5c9638e..410bac8 100644
--- a/app/res/values-or/strings.xml
+++ b/app/res/values-or/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"କୌଣସି ସାମ୍ପ୍ରତିକ ଆଇଟମ ନାହିଁ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ସବୁ ଖାଲି କରନ୍ତୁ"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ଆପ ଉପଲବ୍ଧ ନାହିଁ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"ଶାନ୍ତ ମୋଡ"</string>
 </resources>
diff --git a/app/res/values-pa/strings.xml b/app/res/values-pa/strings.xml
index e522f21..1e52c85 100644
--- a/app/res/values-pa/strings.xml
+++ b/app/res/values-pa/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ਕੋਈ ਹਾਲੀਆ ਆਈਟਮ ਨਹੀਂ"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ਸਭ ਕਲੀਅਰ ਕਰੋ"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ਐਪ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"ਸ਼ਾਂਤ ਮੋਡ"</string>
 </resources>
diff --git a/app/res/values-pl/strings.xml b/app/res/values-pl/strings.xml
index 02fb6e0..3fbe11a 100644
--- a/app/res/values-pl/strings.xml
+++ b/app/res/values-pl/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Brak ostatnich elementów"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Wyczyść wszystko"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacja jest niedostępna"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Tryb cichy"</string>
 </resources>
diff --git a/app/res/values-pt-rPT/strings.xml b/app/res/values-pt-rPT/strings.xml
index 86326b7..ff491a2 100644
--- a/app/res/values-pt-rPT/strings.xml
+++ b/app/res/values-pt-rPT/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nenhum item recente"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Limpar tudo"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"A app não está disponível"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modo Calm"</string>
 </resources>
diff --git a/app/res/values-pt/strings.xml b/app/res/values-pt/strings.xml
index 189f97d..daa7dd9 100644
--- a/app/res/values-pt/strings.xml
+++ b/app/res/values-pt/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nenhum item recente"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Limpar tudo"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"O app não está disponível"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modo foco"</string>
 </resources>
diff --git a/app/res/values-ro/strings.xml b/app/res/values-ro/strings.xml
index 46b9d9f..5d46cd8 100644
--- a/app/res/values-ro/strings.xml
+++ b/app/res/values-ro/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Niciun element recent"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Șterge tot"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplicația nu este disponibilă"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modul Calm"</string>
 </resources>
diff --git a/app/res/values-ru/strings.xml b/app/res/values-ru/strings.xml
index 3370ef0..33dc160 100644
--- a/app/res/values-ru/strings.xml
+++ b/app/res/values-ru/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Нет недавних объектов"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Очистить"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Приложение недоступно"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Режим покоя"</string>
 </resources>
diff --git a/app/res/values-si/strings.xml b/app/res/values-si/strings.xml
index c76f8db..c18a55c 100644
--- a/app/res/values-si/strings.xml
+++ b/app/res/values-si/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"මෑත අයිතම නැත"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"සියල්ල හිස් කරන්න"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"යෙදුම නොතිබේ"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"සන්සුන් ප්‍රකාරය"</string>
 </resources>
diff --git a/app/res/values-sk/strings.xml b/app/res/values-sk/strings.xml
index bc4e278..46f6548 100644
--- a/app/res/values-sk/strings.xml
+++ b/app/res/values-sk/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Žiadne nedávne položky"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Vymazať všetko"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikácia nie je k dispozícii"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Pokojný režim"</string>
 </resources>
diff --git a/app/res/values-sl/strings.xml b/app/res/values-sl/strings.xml
index 272784c..9a408fc 100644
--- a/app/res/values-sl/strings.xml
+++ b/app/res/values-sl/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Ni nedavnih elementov"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Izbriši vse"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacija ni na voljo"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Umirjeni način"</string>
 </resources>
diff --git a/app/res/values-sq/strings.xml b/app/res/values-sq/strings.xml
index 5bb1c56..3d7d39b 100644
--- a/app/res/values-sq/strings.xml
+++ b/app/res/values-sq/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Nuk ka asnjë artikull të fundit"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Pastro të gjitha"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Aplikacioni nuk ofrohet"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Modaliteti i qetësisë"</string>
 </resources>
diff --git a/app/res/values-sr/strings.xml b/app/res/values-sr/strings.xml
index b6c2b79..3a3ae8f 100644
--- a/app/res/values-sr/strings.xml
+++ b/app/res/values-sr/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Нема недавних ставки"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Обриши све"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Апликација није доступна"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Режим опуштања"</string>
 </resources>
diff --git a/app/res/values-sv/strings.xml b/app/res/values-sv/strings.xml
index 8be8889..af06154 100644
--- a/app/res/values-sv/strings.xml
+++ b/app/res/values-sv/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Listan är tom"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Rensa allt"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Appen är inte tillgänglig"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Lugnt läge"</string>
 </resources>
diff --git a/app/res/values-sw/strings.xml b/app/res/values-sw/strings.xml
index 3a2ee2b..9e71a9d 100644
--- a/app/res/values-sw/strings.xml
+++ b/app/res/values-sw/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Hakuna vipengee vya hivi karibuni"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Futa Zote"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Programu haipatikani"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Hali ya utulivu"</string>
 </resources>
diff --git a/app/res/values-ta/strings.xml b/app/res/values-ta/strings.xml
index 92bd8a7..fb29415 100644
--- a/app/res/values-ta/strings.xml
+++ b/app/res/values-ta/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"சமீபத்தியவை இல்லை"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"அனைத்தையும் அழி"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ஆப்ஸ் கிடைக்கவில்லை"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"அமைதிப் பயன்முறை"</string>
 </resources>
diff --git a/app/res/values-te/strings.xml b/app/res/values-te/strings.xml
index f98c31e..887b13f 100644
--- a/app/res/values-te/strings.xml
+++ b/app/res/values-te/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ఇటీవలి ఐటెమ్‌లు ఏవీ లేవు"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"అన్నీ తీసివేయండి"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"యాప్ అందుబాటులో లేదు"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"క్లెయిమ్ మోడ్"</string>
 </resources>
diff --git a/app/res/values-th/strings.xml b/app/res/values-th/strings.xml
index 95d91e4..f84e327 100644
--- a/app/res/values-th/strings.xml
+++ b/app/res/values-th/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"ไม่มีรายการล่าสุด"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"ล้างทั้งหมด"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"แอปไม่พร้อมใช้งาน"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"โหมด Calm"</string>
 </resources>
diff --git a/app/res/values-tl/strings.xml b/app/res/values-tl/strings.xml
index e9f03d7..3c76a8b 100644
--- a/app/res/values-tl/strings.xml
+++ b/app/res/values-tl/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Walang kamakailang item"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"I-clear Lahat"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Hindi available ang app"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Calm mode"</string>
 </resources>
diff --git a/app/res/values-tr/strings.xml b/app/res/values-tr/strings.xml
index 4d5479d..eecca89 100644
--- a/app/res/values-tr/strings.xml
+++ b/app/res/values-tr/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Yeni öğe yok"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Tümünü Temizle"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Uygulama kullanılamıyor"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Sakin mod"</string>
 </resources>
diff --git a/app/res/values-uk/strings.xml b/app/res/values-uk/strings.xml
index f05ffc5..1aa273e 100644
--- a/app/res/values-uk/strings.xml
+++ b/app/res/values-uk/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Немає нещодавніх об’єктів"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Очистити все"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Додаток недоступний"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Спокійний режим"</string>
 </resources>
diff --git a/app/res/values-ur/strings.xml b/app/res/values-ur/strings.xml
index bd25482..230dc64 100644
--- a/app/res/values-ur/strings.xml
+++ b/app/res/values-ur/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"کوئی حالیہ آئٹم نہیں"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"تمام صاف کریں"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"ایپ دستیاب نہیں ہے"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"پُرسکون وضع"</string>
 </resources>
diff --git a/app/res/values-uz/strings.xml b/app/res/values-uz/strings.xml
index e629f4a..97bc0cc 100644
--- a/app/res/values-uz/strings.xml
+++ b/app/res/values-uz/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Yaqinda ishlatilgan ilovalar yoʻq"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Hammasini yopish"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"Ilova mavjud emas"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Dam olish rejimi"</string>
 </resources>
diff --git a/app/res/values-zh-rCN/strings.xml b/app/res/values-zh-rCN/strings.xml
index 93b4dbb..1992d3b 100644
--- a/app/res/values-zh-rCN/strings.xml
+++ b/app/res/values-zh-rCN/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"没有最近用过的项目"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"全部清除"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"应用无法打开"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"平静模式"</string>
 </resources>
diff --git a/app/res/values-zh-rHK/strings.xml b/app/res/values-zh-rHK/strings.xml
index 01837ff..031c0af 100644
--- a/app/res/values-zh-rHK/strings.xml
+++ b/app/res/values-zh-rHK/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"沒有最近項目"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"全部清除"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"目前無法使用這個應用程式"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"平靜模式"</string>
 </resources>
diff --git a/app/res/values-zh-rTW/strings.xml b/app/res/values-zh-rTW/strings.xml
index 810bd57..128f739 100644
--- a/app/res/values-zh-rTW/strings.xml
+++ b/app/res/values-zh-rTW/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"沒有最近使用的項目"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"全部清除"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"應用程式目前無法使用"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"平靜模式"</string>
 </resources>
diff --git a/app/res/values-zu/strings.xml b/app/res/values-zu/strings.xml
index dda65d6..7abc29f 100644
--- a/app/res/values-zu/strings.xml
+++ b/app/res/values-zu/strings.xml
@@ -34,6 +34,5 @@
     <string name="recents_empty_state_text" msgid="8228569970506899117">"Azikho izinto zakamuva"</string>
     <string name="recents_clear_all_text" msgid="3594272268167720553">"Sula Konke"</string>
     <string name="failure_opening_recent_task_message" msgid="963567570097465902">"I-app ayitholakali"</string>
-    <!-- no translation found for calm_mode_title (4364804976931157567) -->
-    <skip />
+    <string name="calm_mode_title" msgid="4364804976931157567">"Imodi ezolile"</string>
 </resources>
diff --git a/app/src/com/android/car/carlauncher/CarLauncher.java b/app/src/com/android/car/carlauncher/CarLauncher.java
index 05a90db..c686584 100644
--- a/app/src/com/android/car/carlauncher/CarLauncher.java
+++ b/app/src/com/android/car/carlauncher/CarLauncher.java
@@ -20,23 +20,17 @@
 import static android.car.settings.CarSettings.Secure.KEY_USER_TOS_ACCEPTED;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY;
 
+import static com.android.car.carlauncher.CarLauncherViewModel.CarLauncherViewModelFactory;
+
 import android.app.ActivityManager;
 import android.app.ActivityOptions;
 import android.app.TaskStackListener;
 import android.car.Car;
-import android.car.app.CarActivityManager;
-import android.car.app.CarTaskViewController;
-import android.car.app.CarTaskViewControllerCallback;
-import android.car.app.ControlledRemoteCarTaskView;
-import android.car.app.ControlledRemoteCarTaskViewCallback;
-import android.car.app.ControlledRemoteCarTaskViewConfig;
 import android.car.user.CarUserManager;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.database.ContentObserver;
-import android.graphics.Color;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserManager;
@@ -46,7 +40,6 @@
 import android.view.ViewGroup;
 import android.view.WindowManager;
 
-import androidx.annotation.NonNull;
 import androidx.collection.ArraySet;
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentTransaction;
@@ -76,15 +69,13 @@
  */
 public class CarLauncher extends FragmentActivity {
     public static final String TAG = "CarLauncher";
-    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
-    private static boolean sAutoRestartOnCrash = false;
+    public static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     private ActivityManager mActivityManager;
     private TaskViewManager mTaskViewManager;
 
     private Car mCar;
     private CarTaskView mTaskView;
-    private ControlledRemoteCarTaskView mRemoteCarTaskView;
     private int mCarLauncherTaskId = INVALID_TASK_ID;
     private Set<HomeCardModule> mHomeCardModules;
 
@@ -93,6 +84,7 @@
     private boolean mUseSmallCanvasOptimizedMap;
     private boolean mUseRemoteCarTaskView;
     private ViewGroup mMapsCard;
+    private CarLauncherViewModel mCarLauncherViewModel;
 
     @VisibleForTesting
     ContentObserver mTosContentObserver;
@@ -212,93 +204,17 @@
     }
 
     private void setupRemoteCarTaskView(ViewGroup parent) {
-        long createCarStartTime = System.nanoTime();
-        mCar = Car.createCar(this);
-        if (DEBUG) {
-            long createCarEndTime = System.nanoTime();
-            Log.d(TAG, "Initialization of the CarApi took "
-                    + (createCarEndTime - createCarStartTime)
-                    + " nanoseconds");
-        }
-        CarActivityManager carAM = mCar.getCarManager(CarActivityManager.class);
+        mCarLauncherViewModel = new ViewModelProvider(this,
+                new CarLauncherViewModelFactory(this, getMapsIntent()))
+                .get(CarLauncherViewModel.class);
 
-        if (Build.IS_USER) {
-            sAutoRestartOnCrash = true;
-        }
+        getLifecycle().addObserver(mCarLauncherViewModel);
 
-        carAM.getCarTaskViewController(
-                this,
-                getMainExecutor(),
-                new CarTaskViewControllerCallback() {
-                    @Override
-                    public void onConnected(
-                            CarTaskViewController carTaskViewController) {
-                        carTaskViewController.createControlledRemoteCarTaskView(
-                                new ControlledRemoteCarTaskViewConfig.Builder()
-                                        .setActivityIntent(getMapsIntent())
-                                        .setShouldAutoRestartOnTaskRemoval(sAutoRestartOnCrash)
-                                        .build(),
-                                getMainExecutor(),
-                                new ControlledRemoteCarTaskViewCallback() {
-                                    @Override
-                                    public void onTaskViewCreated(
-                                            ControlledRemoteCarTaskView taskView) {
-                                        mRemoteCarTaskView = taskView;
-                                        parent.addView(taskView);
-                                    }
-
-                                    @Override
-                                    public void onTaskViewInitialized() {
-                                        maybeLogReady();
-                                    }
-
-                                    @Override
-                                    public void onTaskViewReleased() {
-                                        mRemoteCarTaskView = null;
-                                        parent.removeAllViews();
-                                    }
-
-                                    @Override
-                                    public void onTaskAppeared(
-                                            @NonNull ActivityManager.RunningTaskInfo taskInfo) {
-                                        if (DEBUG) {
-                                            Log.d(TAG, "MapsTaskView: onTaskAppeared: taskId="
-                                                    + taskInfo.taskId + " at "
-                                                    + System.currentTimeMillis() + " milliseconds");
-                                        }
-                                        if (!sAutoRestartOnCrash) {
-                                            mRemoteCarTaskView.setBackgroundColor(
-                                                    Color.TRANSPARENT);
-                                        }
-                                    }
-
-                                    @Override
-                                    public void onTaskVanished(
-                                            @NonNull ActivityManager.RunningTaskInfo taskInfo) {
-                                        if (DEBUG) {
-                                            Log.d(TAG, "MapsTaskView: onTaskVanished: taskId="
-                                                    + taskInfo.taskId + " at "
-                                                    + System.currentTimeMillis() + " milliseconds");
-                                        }
-                                        if (!sAutoRestartOnCrash) {
-                                            // RemoteCarTaskView color is set to red to indicate
-                                            // that nothing is wrong with the task view but maps
-                                            // in the task view has crashed. More details in
-                                            // b/247156851.
-                                            mRemoteCarTaskView.setBackgroundColor(Color.RED);
-                                        }
-                                    }
-                                });
-                    }
-
-                    @Override
-                    public void onDisconnected(
-                            CarTaskViewController carTaskViewController) {
-                        Log.d(TAG, "onDisconnected");
-                        mRemoteCarTaskView = null;
-                        parent.removeAllViews();
-                    }
-                });
+        mCarLauncherViewModel.getRemoteCarTaskView().observe(this, taskView -> {
+            if (taskView != null && taskView.getParent() == null) {
+                parent.addView(taskView);
+            }
+        });
     }
 
     private void setUpTaskView(ViewGroup parent) {
@@ -361,25 +277,22 @@
         release();
     }
 
-    private boolean isTaskViewInitialized() {
-        return (mTaskView != null && mTaskView.isInitialized())
-                || (mRemoteCarTaskView != null && mRemoteCarTaskView.isInitialized());
-    }
-
     private int getTaskViewTaskId() {
         if (mTaskView != null) {
             return mTaskView.getTaskId();
         }
-        if (mRemoteCarTaskView != null) {
-            return mRemoteCarTaskView.getTaskInfo() == null
-                    ? INVALID_TASK_ID : mRemoteCarTaskView.getTaskInfo().taskId;
+        if (mCarLauncherViewModel != null) {
+            return mCarLauncherViewModel.getRemoteCarTaskViewTaskId();
         }
         return INVALID_TASK_ID;
     }
 
     private void release() {
         mTaskView = null;
-        mRemoteCarTaskView = null;
+        // When using a ViewModel for the RemoteCarTaskViews, the task view can still be attached
+        // to the mMapsCard due to which the CarLauncher activity does not get garbage collected
+        // during activity recreation.
+        mMapsCard = null;
         if (mCar != null) {
             mCar.disconnect();
             mCar = null;
@@ -424,7 +337,7 @@
     /** Logs that the Activity is ready. Used for startup time diagnostics. */
     private void maybeLogReady() {
         boolean isResumed = isResumed();
-        boolean taskViewInitialized = isTaskViewInitialized();
+        boolean taskViewInitialized = mTaskView != null && mTaskView.isInitialized();
         if (DEBUG) {
             Log.d(TAG, "maybeLogReady(" + getUserId() + "): mapsReady="
                     + taskViewInitialized + ", started=" + isResumed + ", alreadyLogged: "
diff --git a/app/src/com/android/car/carlauncher/CarLauncherViewModel.java b/app/src/com/android/car/carlauncher/CarLauncherViewModel.java
new file mode 100644
index 0000000..3bafbd5
--- /dev/null
+++ b/app/src/com/android/car/carlauncher/CarLauncherViewModel.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2023 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.
+ */
+
+package com.android.car.carlauncher;
+
+import static android.app.ActivityTaskManager.INVALID_TASK_ID;
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
+
+import static java.util.Objects.requireNonNull;
+
+import android.annotation.NonNull;
+import android.annotation.SuppressLint;
+import android.annotation.UiContext;
+import android.app.ActivityManager;
+import android.car.Car;
+import android.car.app.CarActivityManager;
+import android.car.app.CarTaskViewController;
+import android.car.app.CarTaskViewControllerCallback;
+import android.car.app.CarTaskViewControllerHostLifecycle;
+import android.car.app.ControlledRemoteCarTaskView;
+import android.car.app.ControlledRemoteCarTaskViewCallback;
+import android.car.app.ControlledRemoteCarTaskViewConfig;
+import android.car.app.RemoteCarTaskView;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Color;
+import android.os.Build;
+import android.util.Log;
+
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+import androidx.lifecycle.ViewModel;
+import androidx.lifecycle.ViewModelProvider;
+
+/**
+ * A car launcher view model to manage the lifecycle of {@link RemoteCarTaskView}.
+ */
+public final class CarLauncherViewModel extends ViewModel implements DefaultLifecycleObserver {
+    private static final String TAG = CarLauncher.TAG;
+    private static final boolean DEBUG = CarLauncher.DEBUG;
+    private static final boolean sAutoRestartOnCrash = Build.IS_USER;
+
+    private final CarActivityManager mCarActivityManager;
+    private final Car mCar;
+    private final CarTaskViewControllerHostLifecycle mHostLifecycle;
+    @SuppressLint("StaticFieldLeak") // We're not leaking this context as it is the window context.
+    private final Context mWindowContext;
+    private final Intent mMapsIntent;
+    private final MutableLiveData<RemoteCarTaskView> mRemoteCarTaskView;
+
+    public CarLauncherViewModel(@UiContext Context context, @NonNull Intent mapsIntent) {
+        mWindowContext = context.createWindowContext(TYPE_APPLICATION_STARTING, /* options */ null);
+        mMapsIntent = mapsIntent;
+        mCar = Car.createCar(mWindowContext);
+        mCarActivityManager = mCar.getCarManager(CarActivityManager.class);
+        mHostLifecycle = new CarTaskViewControllerHostLifecycle();
+        mRemoteCarTaskView = new MutableLiveData<>(null);
+        ControlledRemoteCarTaskViewCallback controlledRemoteCarTaskViewCallback =
+                new ControlledRemoteCarTaskViewCallbackImpl(mRemoteCarTaskView);
+
+        CarTaskViewControllerCallback carTaskViewControllerCallback =
+                new CarTaskViewControllerCallbackImpl(controlledRemoteCarTaskViewCallback);
+
+        mCarActivityManager.getCarTaskViewController(mWindowContext, mHostLifecycle,
+                mWindowContext.getMainExecutor(), carTaskViewControllerCallback);
+    }
+
+    LiveData<RemoteCarTaskView> getRemoteCarTaskView() {
+        return mRemoteCarTaskView;
+    }
+
+    /**
+     * Returns remote car task view task Id.
+     */
+    public int getRemoteCarTaskViewTaskId() {
+        if (mRemoteCarTaskView != null && mRemoteCarTaskView.getValue() != null
+                && mRemoteCarTaskView.getValue().getTaskInfo() != null) {
+            return mRemoteCarTaskView.getValue().getTaskInfo().taskId;
+        }
+        return INVALID_TASK_ID;
+    }
+
+    /**
+     * Shows remote car task view when activity is resumed.
+     */
+    @Override
+    public void onResume(@NonNull LifecycleOwner owner) {
+        DefaultLifecycleObserver.super.onResume(owner);
+        mHostLifecycle.hostAppeared();
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        DefaultLifecycleObserver.super.onStop(owner);
+        mHostLifecycle.hostDisappeared();
+    }
+
+    @Override
+    protected void onCleared() {
+        if (mRemoteCarTaskView != null) {
+            mRemoteCarTaskView.setValue(null);
+        }
+        if (mCar != null) {
+            mCar.disconnect();
+        }
+        mHostLifecycle.hostDestroyed();
+        super.onCleared();
+    }
+
+    private static final class ControlledRemoteCarTaskViewCallbackImpl implements
+            ControlledRemoteCarTaskViewCallback {
+        private final MutableLiveData<RemoteCarTaskView> mRemoteCarTaskView;
+
+        private ControlledRemoteCarTaskViewCallbackImpl(
+                MutableLiveData<RemoteCarTaskView> remoteCarTaskView) {
+            mRemoteCarTaskView = remoteCarTaskView;
+        }
+
+        @Override
+        public void onTaskViewCreated(@NonNull ControlledRemoteCarTaskView taskView) {
+            mRemoteCarTaskView.setValue(taskView);
+        }
+
+        @Override
+        public void onTaskViewInitialized() {
+            if (DEBUG) {
+                Log.d(TAG, "MapsTaskView: onTaskViewInitialized");
+            }
+        }
+
+        @Override
+        public void onTaskAppeared(@NonNull ActivityManager.RunningTaskInfo taskInfo) {
+            if (DEBUG) {
+                Log.d(TAG, "MapsTaskView: onTaskAppeared: taskId=" + taskInfo.taskId);
+            }
+            if (!sAutoRestartOnCrash) {
+                mRemoteCarTaskView.getValue().setBackgroundColor(Color.TRANSPARENT);
+            }
+        }
+
+        @Override
+        public void onTaskVanished(@NonNull ActivityManager.RunningTaskInfo taskInfo) {
+            if (DEBUG) {
+                Log.d(TAG, "MapsTaskView: onTaskVanished: taskId=" + taskInfo.taskId);
+            }
+            if (!sAutoRestartOnCrash) {
+                // RemoteCarTaskView color is set to red to indicate
+                // that nothing is wrong with the task view but maps
+                // in the task view has crashed. More details in
+                // b/247156851.
+                mRemoteCarTaskView.getValue().setBackgroundColor(Color.RED);
+            }
+        }
+    }
+
+    private final class CarTaskViewControllerCallbackImpl implements CarTaskViewControllerCallback {
+        private final ControlledRemoteCarTaskViewCallback mControlledRemoteCarTaskViewCallback;
+
+        private CarTaskViewControllerCallbackImpl(
+                ControlledRemoteCarTaskViewCallback controlledRemoteCarTaskViewCallback) {
+            mControlledRemoteCarTaskViewCallback = controlledRemoteCarTaskViewCallback;
+        }
+
+        @Override
+        public void onConnected(@NonNull CarTaskViewController carTaskViewController) {
+            carTaskViewController.createControlledRemoteCarTaskView(
+                    new ControlledRemoteCarTaskViewConfig.Builder()
+                            .setActivityIntent(mMapsIntent)
+                            .setShouldAutoRestartOnTaskRemoval(sAutoRestartOnCrash)
+                            .build(),
+                    mWindowContext.getMainExecutor(),
+                    mControlledRemoteCarTaskViewCallback);
+        }
+
+        @Override
+        public void onDisconnected(@NonNull CarTaskViewController carTaskViewController) {
+            if (DEBUG) {
+                Log.d(TAG, "onDisconnected");
+            }
+            mRemoteCarTaskView.setValue(null);
+        }
+    }
+
+    static final class CarLauncherViewModelFactory implements ViewModelProvider.Factory {
+        private final Context mContext;
+        private final Intent mMapsIntent;
+
+        CarLauncherViewModelFactory(@UiContext Context context, @NonNull Intent mapsIntent) {
+            mMapsIntent = requireNonNull(mapsIntent);
+            mContext = requireNonNull(context);
+        }
+
+        @NonNull
+        @Override
+        public <T extends ViewModel> T create(Class<T> modelClass) {
+            return modelClass.cast(new CarLauncherViewModel(mContext, mMapsIntent));
+        }
+    }
+}
diff --git a/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelFactoryTest.java b/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelFactoryTest.java
new file mode 100644
index 0000000..722a3ed
--- /dev/null
+++ b/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelFactoryTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2023 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.
+ */
+
+package com.android.car.carlauncher;
+
+import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
+
+import static com.android.car.carlauncher.CarLauncherViewModel.CarLauncherViewModelFactory;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
+import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.content.Context;
+import android.content.Intent;
+import android.view.WindowManager;
+
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.car.carlauncher.TaskViewManagerTest.TestActivity;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@RunWith(AndroidJUnit4.class)
+public class CarLauncherViewModelFactoryTest extends AbstractExtendedMockitoTestCase {
+    @Rule
+    public final ActivityScenarioRule<TestActivity> mActivityRule =
+            new ActivityScenarioRule<>(TestActivity.class);
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private Intent mIntent;
+
+    private CarLauncherViewModelFactory mCarLauncherViewModelFactory;
+    private TestActivity mActivity;
+
+    @Before
+    public void setUp() {
+        mActivityRule.getScenario().onActivity(activity -> mActivity = activity);
+        Context windowContext = mActivity
+                .createWindowContext(TYPE_APPLICATION_STARTING, /* options */ null);
+        when(mContext.createWindowContext(eq(WindowManager.LayoutParams.TYPE_APPLICATION_STARTING),
+                any())).thenReturn(windowContext);
+        mCarLauncherViewModelFactory = new CarLauncherViewModelFactory(mContext, mIntent);
+    }
+
+    @After
+    public void tearDown() throws InterruptedException {
+        mCarLauncherViewModelFactory = null;
+        mActivityRule.getScenario().close();
+        mActivity.finishCompletely();
+    }
+
+    @Test
+    public void testCreate_instanceNotNull() {
+        CarLauncherViewModel carLauncherViewModel =
+                mCarLauncherViewModelFactory.create(CarLauncherViewModel.class);
+        assertThat(carLauncherViewModel).isNotNull();
+    }
+}
diff --git a/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelTest.java b/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelTest.java
new file mode 100644
index 0000000..087d5a1
--- /dev/null
+++ b/app/tests/src/com/android/car/carlauncher/CarLauncherViewModelTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2023 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.
+ */
+
+package com.android.car.carlauncher;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.Instrumentation;
+import android.car.app.RemoteCarTaskView;
+import android.car.test.mocks.AbstractExtendedMockitoTestCase;
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.core.app.ActivityCompat;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import com.android.car.carlauncher.TaskViewManagerTest.TestActivity;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@RunWith(AndroidJUnit4.class)
+public final class CarLauncherViewModelTest extends AbstractExtendedMockitoTestCase {
+    private final Instrumentation mInstrumentation = InstrumentationRegistry.getInstrumentation();
+    private final Context mContext = mInstrumentation.getContext();
+
+    @Rule
+    public final ActivityScenarioRule<TestActivity> mActivityRule =
+            new ActivityScenarioRule<>(TestActivity.class);
+
+    @Mock
+    private Intent mIntent;
+
+    private RemoteCarTaskView mRemoteCarTaskView;
+    private TestActivity mActivity;
+
+
+    @Before
+    public void setUp() {
+        mActivityRule.getScenario().onActivity(activity -> mActivity = activity);
+    }
+
+    @After
+    public void tearDown() throws InterruptedException {
+        mActivityRule.getScenario().close();
+        mActivity.finishCompletely();
+        mRemoteCarTaskView = null;
+    }
+
+    @Test
+    public void testOnConfigChange_sameRemoteCarTaskView() {
+        // Arrange
+        createCarLauncherViewModel();
+        RemoteCarTaskView oldRemoteCarTaskView = mRemoteCarTaskView;
+
+        // Act
+        triggerActivityRecreation();
+
+        // Assert
+        assertThat(oldRemoteCarTaskView).isSameInstanceAs(mRemoteCarTaskView);
+    }
+
+    @Test
+    public void testViewModelOnCleared_clearsRemoteCarTaskView() {
+        // Arrange
+        CarLauncherViewModel carLauncherViewModel = createCarLauncherViewModel();
+
+        // Act
+        runOnMain(carLauncherViewModel::onCleared);
+        mInstrumentation.waitForIdleSync();
+
+        // Assert
+        assertThat(mRemoteCarTaskView).isNull();
+    }
+
+    private CarLauncherViewModel createCarLauncherViewModel() {
+        CarLauncherViewModel carLauncherViewModel = new CarLauncherViewModel(mActivity, mIntent);
+        runOnMain(() -> carLauncherViewModel.getRemoteCarTaskView().observeForever(
+                remoteCarTaskView -> mRemoteCarTaskView = remoteCarTaskView));
+        mInstrumentation.waitForIdleSync();
+        return carLauncherViewModel;
+    }
+
+    private void triggerActivityRecreation() {
+        // Causes activity recreation with a new instance resulting in the same flow as
+        // activity being recreated due to a configuration change.
+        runOnMain(() -> ActivityCompat.recreate(mActivity));
+        mInstrumentation.waitForIdleSync();
+    }
+
+    private void runOnMain(Runnable runnable) {
+        mContext.getMainExecutor().execute(runnable);
+    }
+}
diff --git a/docklib-util/res/values-en-rXC/strings.xml b/docklib-util/res/values-en-rXC/strings.xml
deleted file mode 100644
index b8409ad..0000000
--- a/docklib-util/res/values-en-rXC/strings.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  ~ Copyright (C) 2023 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.
-   -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="broadcast_sender_permission_label" msgid="5796194170732286003">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‏‎Dock broadcast sender‎‏‎‎‏‎"</string>
-    <string name="broadcast_sender_permission_desc" msgid="8345272264908051930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎Permission required for package to broadcast events to the Dock.‎‏‎‎‏‎"</string>
-</resources>
diff --git a/docklib/res/values-en-rXC/strings.xml b/docklib/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..a48b2a2
--- /dev/null
+++ b/docklib/res/values-en-rXC/strings.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  ~ Copyright (C) 2023 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.
+   -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="broadcast_sender_permission_label" msgid="5269973644784898827">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎Dock broadcast sender‎‏‎‎‏‎"</string>
+    <string name="broadcast_sender_permission_desc" msgid="5052882219053515363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎Permission required for package to broadcast events to the Dock.‎‏‎‎‏‎"</string>
+    <string name="broadcast_receiver_permission_label" msgid="6015991948761587466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‎Dock broadcast receiver‎‏‎‎‏‎"</string>
+    <string name="broadcast_receiver_permission_desc" msgid="1623002370607914795">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎Permission required for package listen to broadcast events for the Dock.‎‏‎‎‏‎"</string>
+</resources>