diff --git a/Android.bp b/Android.bp
index 10fb317..a8ec7f7 100644
--- a/Android.bp
+++ b/Android.bp
@@ -22,7 +22,6 @@
 
     static_libs: [
         "androidx.activity_activity",
-        "androidx.work_work-runtime-ktx",
         "SettingsLib",
         "setupcompat",
         "setupdesign",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0ba26bb..8772e22 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -60,7 +60,6 @@
             android:name=".wizardmanager.WizardManager"
             android:enabled="false"
             android:exported="false"
-            android:excludeFromRecents="true"
             android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize"
             android:immersive="true">
             <intent-filter>
@@ -75,7 +74,6 @@
             android:label="@string/activity_label_empty"
             android:lockTaskMode="normal"
             android:launchMode="singleTask"
-            android:excludeFromRecents="true"
             android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize"
             android:immersive="true"
             android:exported="true"
@@ -93,7 +91,6 @@
         <activity
             android:name=".BluetoothSetupActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -107,7 +104,6 @@
         <activity
             android:name=".WelcomeActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -121,7 +117,6 @@
         <activity
             android:name=".LocaleActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -135,7 +130,6 @@
         <activity
             android:name=".DateTimeActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -149,7 +143,6 @@
         <activity
             android:name=".SimMissingActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -163,7 +156,6 @@
         <activity
             android:name=".NetworkSetupActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -177,7 +169,6 @@
         <activity
             android:name=".LocationSettingsActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -191,7 +182,6 @@
         <activity
             android:name=".DeviceSpecificActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:immersive="true"
             android:exported="true"
             android:windowSoftInputMode="stateAlwaysHidden">
@@ -204,7 +194,6 @@
         <activity
             android:name=".NavigationSettingsActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="true"
@@ -218,7 +207,6 @@
         <activity
             android:name=".BiometricActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -232,7 +220,6 @@
         <activity
             android:name=".ScreenLockActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="false"
@@ -246,7 +233,6 @@
         <activity
             android:name=".backup.RestoreIntroActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="true"
@@ -260,7 +246,6 @@
         <activity
             android:name=".ThemeSettingsActivity"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="true"
@@ -275,7 +260,6 @@
             android:name=".FinishActivity"
             android:theme="@style/EdgeToEdgeWallpaperBackground"
             android:label="@string/activity_label_empty"
-            android:excludeFromRecents="true"
             android:configChanges="mcc|mnc"
             android:immersive="true"
             android:exported="true"
@@ -296,9 +280,5 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </receiver>
-
-        <service
-            android:name=".SetupWizardExitWorker"
-            android:exported="false" />
     </application>
 </manifest>
diff --git a/res/layout-sw600dp/welcome_activity.xml b/res/layout-sw600dp/welcome_activity.xml
new file mode 100644
index 0000000..6ffebf5
--- /dev/null
+++ b/res/layout-sw600dp/welcome_activity.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     SPDX-FileCopyrightText: 2016 The CyanogenMod Project
+     SPDX-FileCopyrightText: 2017-2022 The LineageOS Project
+     SPDX-License-Identifier: Apache-2.0
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    style="@style/SudContentFrame">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center_vertical"
+        android:weightSum="100"
+        android:orientation="vertical">
+
+        <ImageView
+            android:id="@+id/brand_logo"
+            android:layout_width="wrap_content"
+            android:layout_height="0dp"
+            android:layout_weight="65"
+            android:layout_gravity="center"
+            android:src="@drawable/logo"
+            android:adjustViewBounds="true"
+            android:scaleType="fitCenter"
+            android:gravity="center"
+            android:paddingTop="@dimen/content_margin_top"
+            android:paddingRight="@dimen/content_margin_left"
+            android:paddingLeft="@dimen/content_margin_left"
+            android:paddingBottom="0dp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="35"
+            android:gravity="center_vertical"
+            android:orientation="vertical">
+
+            <TextView
+                style="@style/WelcomeTitle"
+                android:id="@+id/welcome_title"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:hyphenationFrequency="none"
+                android:gravity="center" />
+
+            <Button
+                android:id="@+id/start"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="@string/start"
+                style="@style/SudGlifButton.Primary" />
+        </LinearLayout>
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:gravity="center"
+        android:visibility="gone">
+
+        <Button
+            android:id="@+id/emerg_dialer"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawableTop="@drawable/ic_dialer"
+            android:text="@string/emergency_call"
+            style="@style/SudGlifButton.Secondary" />
+
+        <Button
+            android:id="@+id/launch_accessibility"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:drawableTop="@drawable/ic_eye"
+            android:text="@string/accessibility_settings"
+            style="@style/SudGlifButton.Secondary" />
+
+    </LinearLayout>
+</LinearLayout>
diff --git a/res/raw/lineage_wizard_script.xml b/res/raw/lineage_wizard_script.xml
index 7d78b95..6ba2a43 100644
--- a/res/raw/lineage_wizard_script.xml
+++ b/res/raw/lineage_wizard_script.xml
@@ -16,6 +16,7 @@
     <WizardAction
         wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
         id="welcome">
+        <result wizard:name="skip" wizard:resultCode="1" />
         <result wizard:action="locale" />
     </WizardAction>
 
diff --git a/res/raw/lineage_wizard_script_managed_profile.xml b/res/raw/lineage_wizard_script_managed_profile.xml
index 6a4d1e5..36f80c6 100644
--- a/res/raw/lineage_wizard_script_managed_profile.xml
+++ b/res/raw/lineage_wizard_script_managed_profile.xml
@@ -11,6 +11,7 @@
     <WizardAction
         wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
         id="welcome">
+        <result wizard:name="skip" wizard:resultCode="1" />
         <result wizard:action="restore" />
     </WizardAction>
 
diff --git a/res/raw/lineage_wizard_script_user.xml b/res/raw/lineage_wizard_script_user.xml
index aef7f2e..f0ff14e 100644
--- a/res/raw/lineage_wizard_script_user.xml
+++ b/res/raw/lineage_wizard_script_user.xml
@@ -10,6 +10,7 @@
     <WizardAction
         wizard:uri="intent:#Intent;action=org.lineageos.setupwizard.LINEAGE_WELCOME;end"
         id="welcome">
+        <result wizard:name="skip" wizard:resultCode="1" />
         <result wizard:action="restore" />
     </WizardAction>
 
diff --git a/res/values-ast-rES/strings.xml b/res/values-ast-rES/strings.xml
index 1d7195a..da18e58 100644
--- a/res/values-ast-rES/strings.xml
+++ b/res/values-ast-rES/strings.xml
@@ -38,7 +38,7 @@
     <string name="services_pp_explanation">Estos servicios funcionen p\'aumentar les funciones del preséu. Los datos van usase d\'acuerdu cola política de privacidá de <xliff:g id="name" example="LeafOS">%1$s</xliff:g></string>
     <string name="services_find_privacy_policy">Pues lleer la política de privacidá n\'otru preséu pente la visita a <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ayudar a ameyorar <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> pente l\'unviu los datos de diagnósticu y d\'usu a <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Esta información nun se pue usar pa identificate mas val p\'agabitar a los desendolcadores pa que trabayen en coses como la duración de la batería, el rindimientu de les aplicaciones y les funciones nueves de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> pente l\'unviu los datos de diagnósticu y d\'usu a <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Esta información nun se pue usar pa identificate mas val p\'agabitar a los desendolcadores pa que trabayen en coses como la duración de la batería, el rindimientu de les aplicaciones y les funciones nueves de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navegación</string>
     <string name="navigation_summary">Escueyi\'l métodu de navegación preferíu</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index cd6aa0b..a4104e9 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Bu xidmətlər cihazınızın imkanlarını artırır. Datalar, <xliff:g id="name" example="LeafOS">%1$s</xliff:g>un gizlilik siyasətinə uyğun olaraq istifadə ediləcək.</string>
     <string name="services_find_privacy_policy">Gizlilik siyasətini fərqli cihazda <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> ünvanını ziyarət edərək oxuya bilərsiniz</string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g>u təkmilləşdirməyə kömək edin</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="LineageOS">%2$s</xliff:g>-a diaqnostikanı və istifadə datasıını avtomatik göndərərək <xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g>. Bu məlumatlar, kimliyinizi müəyyənləşdirmək üçün istifadə edilmir və batareya ömrü, tətbiq performansı və yeni <xliff:g id="name" example="LeafOS">%3$s</xliff:g> xüsusiyyətləri kimi işlərlə məşğul olan komandalara kömək edir.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="LineageOS">%2$s</xliff:g>-a diaqnostikanı və istifadə datasıını avtomatik göndərərək <xliff:g id="name" example="Help improve LeafOS">%1$s</xliff:g>. Bu məlumatlar, kimliyinizi müəyyənləşdirmək üçün istifadə edilmir və batareya ömrü, tətbiq performansı və yeni <xliff:g id="name" example="LeafOS">%3$s</xliff:g> xüsusiyyətləri kimi işlərlə məşğul olan komandalara kömək edir.</string>
     <string name="services_os_nav_keys_label"><b>Avadanlıq düymələri əvəzinə ekran üstü hərəkət düymələrindən istifadə edin.</b></string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Hərəkət</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 73157e4..d430954 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -35,6 +35,6 @@
     <string name="services_pp_explanation">Тези услуги работят за вас, за да разширите възможностите на вашето устройство. Данните ще бъдат използвани в съответствие с<xliff:g id="name" example="LeafOS">%1$s</xliff:g> политика за поверителност.</string>
     <string name="services_find_privacy_policy">Можете да прочетете политиката за поверителност на друго устройство, като посетите <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Помогне за подобряване на <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> чрез автоматично изпращане на диагностични данни и данни за употреба до <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Тази информация не може да се използва, за да ви идентифицира и помага на екипи, работещи по неща като живот на батерията, производителност на приложенията и нови <xliff:g id="name" example="LeafOS">%3$s</xliff:g> функции.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> чрез автоматично изпращане на диагностични данни и данни за употреба до <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Тази информация не може да се използва, за да ви идентифицира и помага на екипи, работещи по неща като живот на батерията, производителност на приложенията и нови <xliff:g id="name" example="LeafOS">%3$s</xliff:g> функции.</string>
     <string name="services_os_nav_keys_label"><b>Използване на клавишите за навигация на екрана</b> вместо хардуерните бутони.</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 80a840e..fb4eb40 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Aquests serveis funcionen per ampliar les capacitats del vostre dispositiu. Les dades s\'utilitzaran d\'acord amb la política de privadesa de &lt;xliff:g id="name" example="LeafOS"&gt;.</string>
     <string name="services_find_privacy_policy">Podeu llegir la política de privadesa en un altre dispositiu visitant <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ajuda a millorar <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label">&lt;xliff:g id="name" example="Help improve LineageOS"&gt; enviant automàticament dades de diagnòstic i d\'ús a &lt;xliff:g id="name" example="LineageOS"&gt;. Aquesta informació no es pot utilitzar per identificar-vos i dóna un cop de mà als equips que treballen en coses com ara la durada de la bateria, el rendiment de les aplicacions i les noves característiques de &lt;xliff:g id="name" example="LeafOS"&gt;.</string>
+    <string name="services_metrics_label">&lt;xliff:g id="name" example="Help improve LineageOS"&gt; enviant automàticament dades de diagnòstic i d\'ús a &lt;xliff:g id="name" example="LeafOS"&gt;. Aquesta informació no es pot utilitzar per identificar-vos i dóna un cop de mà als equips que treballen en coses com ara la durada de la bateria, el rendiment de les aplicacions i les noves característiques de &lt;xliff:g id="name" example="LeafOS"&gt;.</string>
     <string name="services_os_nav_keys_label"><b>Utilitza les tecles de navegació en pantalla</b> enlloc de les tecles físiques.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation"/>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navegació</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f5c5c85..218b260 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Tyto služby rozšiřují funkce vašeho zařízení. Data budou použita v souladu se zásadami ochrany osobních údajů <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Zásady ochrany osobních údajů si můžete přečíst na jiném zařízení navštívením odkazu <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Pomozte vylepšit <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Pomozte vylepšit LineageOS">%1$s</xliff:g> automatickým odesíláním diagnostických dat a dat o používání <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Tato data nelze použít pro Vaší identifikaci, ale pomohou vývojářskému týmu s informacemi o výdrži baterie, výkonu aplikací a vývoji nových funkcí pro <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Pomozte vylepšit LineageOS">%1$s</xliff:g> automatickým odesíláním diagnostických dat a dat o používání <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Tato data nelze použít pro Vaší identifikaci, ale pomohou vývojářskému týmu s informacemi o výdrži baterie, výkonu aplikací a vývoji nových funkcí pro <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Použít navigační klávesy na obrazovce</b> namísto hw kláves.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigace</string>
diff --git a/res/values-cy/strings.xml b/res/values-cy/strings.xml
index e49f4d1..bea07dc 100644
--- a/res/values-cy/strings.xml
+++ b/res/values-cy/strings.xml
@@ -38,7 +38,7 @@
     <string name="services_pp_explanation">Mae\'r gwasanaethau hyn yn gweithio i ti fedru ymestyn gallu dy ddyfais. Caiff data ei ddefnyddio yn ôl polisi preifatrwydd <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Gellir darllen y polisi preifatrwydd ar ddyfais arall wrth ymweld â <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Helpu i wella <xliff:g id="name" example="CyanogenMod">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> wrth anfon gwybodaeth ddiagnostig a defnydd data at <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Ni fydd yn bosib defnyddio\'r wybodaeth i dy adnabod di ac mi fydd o help mawr i\'r timau sy\'n gweithio ar bethau fel gwella perfformiad apiau a bywyd batri a chreu nodweddion newydd yn <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> wrth anfon gwybodaeth ddiagnostig a defnydd data at <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Ni fydd yn bosib defnyddio\'r wybodaeth i dy adnabod di ac mi fydd o help mawr i\'r timau sy\'n gweithio ar bethau fel gwella perfformiad apiau a bywyd batri a chreu nodweddion newydd yn <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Defnyddio bysellau llywio ar y sgrin</b> yn hytrach na botymau\'r ddyfais.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Llywio</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 03a872c..bbed809 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -35,10 +35,10 @@
     <string name="update_recovery_setting">Opdater Lineage Recovery sammen med OS</string>
     <string name="update_recovery_full_description"><xliff:g id="recovery_update_description">%1$s</xliff:g>\n<xliff:g id="recovery_update_warning">%2$s</xliff:g></string>
     <string name="setup_services">LeafOS-funktioner</string>
-    <string name="services_pp_explanation">&lt;xliff:g id="name" example="LineageOS"&gt;Disse tjenester virker for at udvide funktionerne på din enhed. Data vil blive brugt i overensstemmelse med  &lt;xliff:g id="name" example="LeafOS"&gt;%1$s&lt;/xliff:g&gt;\'s privatlivspolitik.</string>
+    <string name="services_pp_explanation">&lt;xliff:g id="name" example="LeafOS"&gt;Disse tjenester virker for at udvide funktionerne på din enhed. Data vil blive brugt i overensstemmelse med  &lt;xliff:g id="name" example="LeafOS"&gt;%1$s&lt;/xliff:g&gt;\'s privatlivspolitik.</string>
     <string name="services_find_privacy_policy">Du kan læse privatlivspolitikken på en anden enhed ved at besøge <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Hjælp med at forbedre <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> ved automatisk at sende diagnose og forbrugsdata til <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Denne information kan ikke bruge til at identificere dig men giver en hjælpende hånd til de hold der arbejder med batteri levetid, app præstation og nye<xliff:g id="name" example="LeafOS">%3$s</xliff:g> funktioner.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> ved automatisk at sende diagnose og forbrugsdata til <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Denne information kan ikke bruge til at identificere dig men giver en hjælpende hånd til de hold der arbejder med batteri levetid, app præstation og nye<xliff:g id="name" example="LeafOS">%3$s</xliff:g> funktioner.</string>
     <string name="services_os_nav_keys_label"><b>Brug navigationstaster på skærm</b> i stedet for fysiske-taster.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index b967d6e..b3dcfe6 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -13,6 +13,7 @@
     <string name="ok">OK</string>
     <string name="loading">Einen Moment\u2026</string>
     <string name="setup_welcome_message">Willkommen bei <xliff:g id="name" example="LeafOS">%1$s</xliff:g></string>
+    <string name="setup_managed_profile_welcome_message">Erstelle dein Arbeitsprofil</string>
     <string name="emergency_call">Notruf</string>
     <string name="accessibility_settings">Einstellungen zur Barrierefreiheit</string>
     <string name="setup_locale">Sprache</string>
@@ -25,6 +26,7 @@
     <string name="setup_current_date">Aktuelles Datum</string>
     <string name="setup_current_time">Aktuelle Zeit</string>
     <string name="intro_restore_title">Apps und Daten wiederherstellen</string>
+    <string name="intro_restore_subtitle">Wenn du eine Seedvault-Sicherung von <xliff:g id="name" example="LeafOS">%s</xliff:g> oder einem anderen Betriebssystem hast, kannst du sie hier wiederherstellen.</string>
     <string name="intro_restore_button">Aus Backup wiederherstellen</string>
     <string name="setup_location">Standortdienste</string>
     <string name="location_access_summary"><b>Erlaubt Apps, die um deine Erlaubnis gebeten haben, </b>deine Standortinformationen zu verwenden. Dies können Informationen zu deinem aktuellen Standort und zu vergangenen Standorten sein.</string>
@@ -38,7 +40,7 @@
     <string name="services_pp_explanation">Diese Dienste werden verwendet, um die Funktionen deines Gerätes zu erweitern. Deine Daten werden in Übereinstimmung mit der <xliff:g id="name" example="LeafOS">%1$s</xliff:g> Datenschutzerklärung verwendet.</string>
     <string name="services_find_privacy_policy">Du kannst die Datenschutzbestimmungen auf einem anderen Gerät lesen, indem du <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> aufrufst.</string>
     <string name="services_help_improve_cm">Hilf <xliff:g id="name" example="LeafOS">%s</xliff:g> zu verbessern</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Hilf LineageOS zu verbessern">%1$s</xliff:g>, indem du automatisch Diagnose- und Nutzungsdaten an <xliff:g id="name" example="LineageOS">%2$s</xliff:g> sendest. Diese Informationen können nicht verwendet werden, um dich zu identifizieren und helfen den Teams, die an Dingen wie Akkulaufzeit, App-Leistung und neuen <xliff:g id="name" example="LeafOS">%3$s</xliff:g>-Funktionen arbeiten.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Hilf LineageOS zu verbessern">%1$s</xliff:g>, indem du automatisch Diagnose- und Nutzungsdaten an <xliff:g id="name" example="LeafOS">%2$s</xliff:g> sendest. Diese Informationen können nicht verwendet werden, um dich zu identifizieren und helfen den Teams, die an Dingen wie Akkulaufzeit, App-Leistung und neuen <xliff:g id="name" example="LeafOS">%3$s</xliff:g>-Funktionen arbeiten.</string>
     <string name="services_os_nav_keys_label"><b>Bildschirm-Navigationstasten</b> statt Hardwaretasten verwenden.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
@@ -47,4 +49,8 @@
     <string name="two_button_navigation">2-Tasten-Steuerung</string>
     <string name="navbar_navigation">3-Tasten-Steuerung</string>
     <string name="hide_gesture_hint">Gestensteuerungshinweis ausblenden</string>
+    <string name="setup_theme">Darstellung</string>
+    <string name="theme_summary">Beim dunklen Design wird ein schwarzer Hintergrund verwendet, um bei bestimmten Displaytypen die Akkulaufzeit zu verbessern</string>
+    <string name="dark">Dunkel</string>
+    <string name="light">Hell</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index e7bffcd..91a734b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Οι υπηρεσίες αυτές έχουν σκοπό να επεκτείνουν τις δυνατότητες της συσκευής σας. Τα δεδομένα θα χρησιμοποιηθούν σύμφωνα με την πολιτική απορρήτου του <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Μπορείτε να διαβάσετε την πολιτική απορρήτου σε μια άλλη συσκευή επισκεπτόμενοι το <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Βοηθήστε στη βελτίωση του <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> στέλνοντας αυτόματα διαγνωστικά δεδομένα και στατιστικά χρήσης στο <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Αυτές οι πληροφορίες δε μπορούν να χρησιμοποιηθούν για να σας αναγνωρίσουν και δίνουν ένα χέρι βοηθείας στις ομάδες που εργάζονται σε θέματα όπως η διάρκεια ζωής μπαταρίας, επιδόσεις εφαρμογών και νέα χαρακτηριστικά του <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> στέλνοντας αυτόματα διαγνωστικά δεδομένα και στατιστικά χρήσης στο <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Αυτές οι πληροφορίες δε μπορούν να χρησιμοποιηθούν για να σας αναγνωρίσουν και δίνουν ένα χέρι βοηθείας στις ομάδες που εργάζονται σε θέματα όπως η διάρκεια ζωής μπαταρίας, επιδόσεις εφαρμογών και νέα χαρακτηριστικά του <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Κάντε χρήση των πλήκτρων πλοήγησης της οθόνης</b> αντί των φυσικών πλήκτρων.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Πλοήγηση</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 784480a..0cd1881 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">These services work for you to extend the capabilities of your device. Data will be used in accordance with <xliff:g id="name" example="LeafOS">%1$s</xliff:g>\'s privacy policy.</string>
     <string name="services_find_privacy_policy">You can read the privacy policy on another device by visiting <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Help improve <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 784480a..0cd1881 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">These services work for you to extend the capabilities of your device. Data will be used in accordance with <xliff:g id="name" example="LeafOS">%1$s</xliff:g>\'s privacy policy.</string>
     <string name="services_find_privacy_policy">You can read the privacy policy on another device by visiting <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Help improve <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 51298f7..b23cbbf 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">These services work for you to extend the capabilities of your device. Data will be used in accordance with <xliff:g id="name" example="LeafOS">%1$s</xliff:g>\'s privacy policy.</string>
     <string name="services_find_privacy_policy">You can read the privacy policy on another device by visiting <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Help improve <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 784480a..0cd1881 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">These services work for you to extend the capabilities of your device. Data will be used in accordance with <xliff:g id="name" example="LeafOS">%1$s</xliff:g>\'s privacy policy.</string>
     <string name="services_find_privacy_policy">You can read the privacy policy on another device by visiting <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Help improve <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 78878dc..b155849 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Ces services fonctionnent pour étendre les fonctionnalités de votre appareil. Les données seront utilisées conformément à la politique de confidentialité de <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Vous pouvez lire la politique de confidentialité sur un autre appareil en visitant <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Contribuer à l\'amélioration de <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> en envoyant automatiquement des données de diagnostic et d\'utilisation à <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Cette information ne peut pas être utilisée pour vous identifier et est d\'une grande aide aux équipes travaillant sur des sujets tels que la durée de vie de la batterie, les performances des applications, et de nouvelles fonctionnalités de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> en envoyant automatiquement des données de diagnostic et d\'utilisation à <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Cette information ne peut pas être utilisée pour vous identifier et est d\'une grande aide aux équipes travaillant sur des sujets tels que la durée de vie de la batterie, les performances des applications, et de nouvelles fonctionnalités de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Utilisation des touches de navigation de l\'écran</b> au lieu des touches physiques.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigation</string>
diff --git a/res/values-fur-rIT/strings.xml b/res/values-fur-rIT/strings.xml
index 60b88c3..9956d3c 100644
--- a/res/values-fur-rIT/strings.xml
+++ b/res/values-fur-rIT/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Chescj servizis a funzionin par slargjâ lis funzionalitâts dal to dispositîf. I dâts a vignaran doprâts in conformitât cu la informative su la riservatece di <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Tu puedis lei la informative su la riservatece suntun altri dispositîf visitant <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Jude a miorâ <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> inviant in automatic i dâts diagnostiche di consum ai svilupadôrs di <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Nol sarà pussibil doprâ chestis informazions par identificâti ma a dan une man ai grups che a lavorin su robis come la durade de batarie, lis prestazions des aplicazions e lis gnovis funzionalitâts di <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> inviant in automatic i dâts diagnostiche di consum ai svilupadôrs di <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Nol sarà pussibil doprâ chestis informazions par identificâti ma a dan une man ai grups che a lavorin su robis come la durade de batarie, lis prestazions des aplicazions e lis gnovis funzionalitâts di <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Dopre i botons virtuâi sul schermi</b> invezit di chei fisics.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigazion</string>
diff --git a/res/values-gd/strings.xml b/res/values-gd/strings.xml
index 7bfad0b..600a890 100644
--- a/res/values-gd/strings.xml
+++ b/res/values-gd/strings.xml
@@ -35,6 +35,6 @@
     <string name="services_pp_explanation">Leudaichidh na seirbheisean seo comasan an uidheim agad. Thèid an dàta a chleachdadh a-rèir poileasaidh prìobhaideachd <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">’S urrainn dhut am poileasaidh a leughadh air uidheam eile is tu a’ tadhal air <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Cuidich gus piseach a thoirt air <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> is tu a’ cur dàta na diagnosachd ’s a’ chleachdaidh gu <xliff:g id="name" example="LineageOS">%2$s</xliff:g> gu fèin-obrachail. Cha ghabh an dàta sin a chleachdadh airson d’ aithneachadh agus bheir e cuideachadh dha na sgiobaidhean a bhios ag obair air rudan mar beatha a’ bhataraidh, dèanadas nan aplacaidean agus gleusan <xliff:g id="name" example="LeafOS">%3$s</xliff:g> ùra.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> is tu a’ cur dàta na diagnosachd ’s a’ chleachdaidh gu <xliff:g id="name" example="LeafOS">%2$s</xliff:g> gu fèin-obrachail. Cha ghabh an dàta sin a chleachdadh airson d’ aithneachadh agus bheir e cuideachadh dha na sgiobaidhean a bhios ag obair air rudan mar beatha a’ bhataraidh, dèanadas nan aplacaidean agus gleusan <xliff:g id="name" example="LeafOS">%3$s</xliff:g> ùra.</string>
     <string name="services_os_nav_keys_label"><b>Cleachd iuchraichean seòladaireachd air an sgrìn</b> seach iuchraichean bathair-chruaidh.</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 404b5e8..95a9a3a 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -35,6 +35,6 @@
     <string name="services_pp_explanation">Estes servizos serven para mellorar as capacidades do seu dispositivo. Os datos utilizaranse de acordo coa <xliff:g id="name" example="Politica de privacidade">%1$s</xliff:g> de LeafOS</string>
     <string name="services_find_privacy_policy">Podes ler a política de privacidade noutro dispositivo visitando <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Axuda a mellorar <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Axuda a mellorar LineageOS">%1$s</xliff:g> enviando automaticamente diagnóstico e uso de datos a <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Esta información non se pode utilizar para identificalo a vostede e acaba nas mans dos equipos que traballan en cousas como a duración da batería, rendemento das aplicacións e novas características de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Axuda a mellorar LineageOS">%1$s</xliff:g> enviando automaticamente diagnóstico e uso de datos a <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Esta información non se pode utilizar para identificalo a vostede e acaba nas mans dos equipos que traballan en cousas como a duración da batería, rendemento das aplicacións e novas características de <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Usar as teclas de navegación</b> en vez das do hardware.</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 7febf1e..05f63aa 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -13,6 +13,7 @@
     <string name="ok">OK</string>
     <string name="loading">Csak egy pillanat\u2026</string>
     <string name="setup_welcome_message">Legyen üdvözölve a <xliff:g id="name" example="LeafOS">%1$s</xliff:g> rendszerben</string>
+    <string name="setup_managed_profile_welcome_message">Állítsa be a munkahelyi profilját</string>
     <string name="emergency_call">Segélyhívás</string>
     <string name="accessibility_settings">Kisegítő beállítások</string>
     <string name="setup_locale">Nyelv</string>
@@ -25,9 +26,11 @@
     <string name="setup_current_date">Aktuális dátum</string>
     <string name="setup_current_time">Aktuális idő</string>
     <string name="intro_restore_title">Alkalmazások és adatok visszaállítása</string>
+    <string name="intro_restore_subtitle">Amennyiben van <xliff:g id="name" example="LeafOS">%s</xliff:g>-mentése a Seedvaulttal, itt helyreállíthatja azt.</string>
     <string name="intro_restore_button">Visszaállítás biztonsági mentésből</string>
     <string name="setup_location">Helymeghatározó szolgáltatások</string>
     <string name="location_access_summary"><b>Lehetővé teszi az alkalmazás számára, amely korábban engedélyt kért,</b> a helymeghatározási információ használatára. Beleértve a jelenlegi és a korábbi helyeket.</string>
+    <string name="location_agps_access_summary">Ha a helymeghatározás be van kapcsolva, <b>töltse le a műholdsegítő adatokat az internetről</b>, ez nagy mértékben javíthatja a GPS indítási teljesítményét.</string>
     <string name="update_recovery_title">A Lineage Recovery frissítése</string>
     <string name="update_recovery_description">Frissíti a Lineage Recovery-t minden frissítés utáni első indításkor.</string>
     <string name="update_recovery_warning">A Recovery frissítésre kerül, amint befejeződött a telepítést. Ha érintetlenül akarja hagyni, tiltsa le ezt a funkciót.</string>
@@ -37,7 +40,7 @@
     <string name="services_pp_explanation">Ezek a szolgáltatások Önért dolgoznak, hogy kibővítsék telefonja képességeit. Az adatok felhasználása a <xliff:g id="name" example="LeafOS">%1$s</xliff:g> adatvédelmi szabályzata alapján történik.</string>
     <string name="services_find_privacy_policy">Elolvashatja az adatvédelmi szabályokat, ha megnyitja a következő weboldalt <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g>, segítsen a fejlesztésében</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> automatikus diagnosztikai és használati adatok küldésével segíthet a <xliff:g id="name" example="LineageOS">%2$s</xliff:g> fejlesztőinek. Ez az információ nem használható az Ön beazonosítására, csupán segítséget nyújt a csapat számára például az akkumulátor használat, alkalmazás teljesítmény, és más új <xliff:g id="name" example="LeafOS">%3$s</xliff:g> funkciók fejlesztésében.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> automatikus diagnosztikai és használati adatok küldésével segíthet a <xliff:g id="name" example="LeafOS">%2$s</xliff:g> fejlesztőinek. Ez az információ nem használható az Ön beazonosítására, csupán segítséget nyújt a csapat számára például az akkumulátor használat, alkalmazás teljesítmény, és más új <xliff:g id="name" example="LeafOS">%3$s</xliff:g> funkciók fejlesztésében.</string>
     <string name="services_os_nav_keys_label"><b>A képernyő navigációs gombjainak használata</b> a hardveres gombok helyett.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigáció</string>
@@ -46,4 +49,8 @@
     <string name="two_button_navigation">Kétgombos navigáció</string>
     <string name="navbar_navigation">Háromgombos navigáció</string>
     <string name="hide_gesture_hint">Mozdulatvezérlési navigációs-célsáv elrejtése</string>
+    <string name="setup_theme">Téma</string>
+    <string name="theme_summary">A Sötét téma néhány képernyőn fekete hátteret használ az akkukímélés érdekében.</string>
+    <string name="dark">Sötét</string>
+    <string name="light">Világos</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 7739e80..bfdf15a 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -37,7 +37,7 @@
     <string name="services_pp_explanation">Layanan ini digunakan untuk meningkatkan kemampuan perangkat Anda. Data akan digunakan sesuai dengan kebijakan privasi <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Anda dapat membaca kebijakan privasi di perangkat lainnya dengan mengunjungi <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Membantu meningkatkan <xliff:g id="name" example="LeafOS">%s </xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> dengan mengirim  data diagnosa dan penggunaan ke <xliff:g id="name" example="LineageOS">%2$s</xliff:g> secara otomatis. Informasi tersebut tidak untuk mengidentifikasi Anda, dan hanya berfungsi untuk membantu tim bekerja pada hal-hal seperti masa pakai baterai, performa aplikasi dan fitur-fitur <xliff:g id="name" example="LeafOS">%3$s</xliff:g> yang baru.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> dengan mengirim  data diagnosa dan penggunaan ke <xliff:g id="name" example="LeafOS">%2$s</xliff:g> secara otomatis. Informasi tersebut tidak untuk mengidentifikasi Anda, dan hanya berfungsi untuk membantu tim bekerja pada hal-hal seperti masa pakai baterai, performa aplikasi dan fitur-fitur <xliff:g id="name" example="LeafOS">%3$s</xliff:g> yang baru.</string>
     <string name="services_os_nav_keys_label"><b>Gunakan tombol navigasi pada layar</b> bukan tombol perangkat keras.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigasi</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index db9ce9a..d801af9 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Þessar þjónustur gera þér kleift að útvíkka eiginleika tækisins þíns. Gögn verða notuð í samræmi við persónuverndarstefnu <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Lestu stefnu varðandi meðferð persónulegra gagna með því að fara á <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Hjálpaðu okkur að bæta <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> með því að senda sjálfvirkt greiningargögn og upplýsingar um notkun til <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Þessar upplýsingar er ekki hægt að nota til að auðkenna þig og hjálpa þróunarteymum við vinnu varðandi ýmis atriði, eins og líftíma rafhlöðu, afköst forrita og nýja eiginleika í <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> með því að senda sjálfvirkt greiningargögn og upplýsingar um notkun til <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Þessar upplýsingar er ekki hægt að nota til að auðkenna þig og hjálpa þróunarteymum við vinnu varðandi ýmis atriði, eins og líftíma rafhlöðu, afköst forrita og nýja eiginleika í <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Nota leiðsagnarlykla á skjánum</b> í stað vélbúnaðarhnappa.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Flakk</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 2521996..5920b88 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Questi servizi funzionano per estendere le funzionalità del tuo dispositivo. I dati saranno utilizzati in conformità con l\'informativa sulla privacy di <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Puoi leggere l\'informativa sulla privacy su un altro dispositivo visitando <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Contribuisci a migliorare <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> inviando automaticamente dati diagnostici e di consumo agli svilupatori di <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Queste informazioni non possono essere utilizzate per identificare te ma danno una mano ai team che lavorano su cose come la durata della batteria, performance delle app e nuove funzioni di <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> inviando automaticamente dati diagnostici e di consumo agli svilupatori di <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Queste informazioni non possono essere utilizzate per identificare te ma danno una mano ai team che lavorano su cose come la durata della batteria, performance delle app e nuove funzioni di <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Usa i pulsanti virtuali a schermo</b> invece di quelli fisici.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigazione</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 414dddd..91d92ed 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">これらのサービスはデバイスの機能を拡張するために動作します。データは <xliff:g id="name" example="LeafOS">%1$s</xliff:g> のプライバシーポリシーに従って使用されます。</string>
     <string name="services_find_privacy_policy">別のデバイスで<xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g>にアクセスしてプライバシーポリシーを読むことができます。</string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g>の改善に協力します</string>
-    <string name="services_metrics_label">診断と使用状況データを自動的に <xliff:g id="name" example="LineageOS">%2$s</xliff:g>に送信して、<xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g>。この情報は個人を特定するために使用されることはなく、電池持ち、アプリのパフォーマンス、<xliff:g id="name" example="LeafOS">%3$s</xliff:g> の新機能などへの取り組みに活用されます。</string>
+    <string name="services_metrics_label">診断と使用状況データを自動的に <xliff:g id="name" example="LineageOS">%2$s</xliff:g>に送信して、<xliff:g id="name" example="Help improve LeafOS">%1$s</xliff:g>。この情報は個人を特定するために使用されることはなく、電池持ち、アプリのパフォーマンス、<xliff:g id="name" example="LeafOS">%3$s</xliff:g> の新機能などへの取り組みに活用されます。</string>
     <string name="services_os_nav_keys_label">ハードウェアキーのかわりに<b>スクリーンナビゲーションキーを使用します</b>。</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">ナビゲーション</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 00b54fe..6670ec0 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">ამ მომსახურებების მუშაობა აფართოებს თქვენი მოწყობილობების შესაძლებლობებს. მონაცემებით სარგებლობის პირობებს განსაზღვრავს <xliff:g id="name" example="LeafOS">%1$s</xliff:g> მისი პირადულობის დებულებით.</string>
     <string name="services_find_privacy_policy">შეგიძლიათ გაეცნოთ პირადულობის დაცვის დებულებას სხვა მოწყობილობიდან მისამართზე <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">დაგვეხმარეთ, გავაუმჯობესოთ <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> იმ საკვლევი და გამოყენების მონაცემთა ავტომატური გაგზავნით, რომელთაც გაეცნობა <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. ეს მონაცემები არ გამოდგება თქვენი ვინაობის დასადგენად, სამაგიეროდ ხელს გაუმართავს შემმუშავებლებს, რომ დახვეწონ ბატარეის მოხმარება, გაზარდონ აპების წარმადობა და გააუმჯობესონ <xliff:g id="name" example="LeafOS">%3$s</xliff:g> ახალი შესაძლებლობებით.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> იმ საკვლევი და გამოყენების მონაცემთა ავტომატური გაგზავნით, რომელთაც გაეცნობა <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. ეს მონაცემები არ გამოდგება თქვენი ვინაობის დასადგენად, სამაგიეროდ ხელს გაუმართავს შემმუშავებლებს, რომ დახვეწონ ბატარეის მოხმარება, გაზარდონ აპების წარმადობა და გააუმჯობესონ <xliff:g id="name" example="LeafOS">%3$s</xliff:g> ახალი შესაძლებლობებით.</string>
     <string name="services_os_nav_keys_label"><b>ეკრანული ღილაკების გამოყენება სამოძრაოდ</b> ფიზიკურის ნაცვლად.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">სამოძრაო</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 001d92f..9bea7af 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -13,6 +13,7 @@
     <string name="ok">확인</string>
     <string name="loading">잠시만 기다려주세요\u2026</string>
     <string name="setup_welcome_message"><xliff:g id="name" example="LeafOS">%1$s</xliff:g>에 오신 것을 환영합니다</string>
+    <string name="setup_managed_profile_welcome_message">직장 프로필 설정</string>
     <string name="emergency_call">긴급 통화</string>
     <string name="accessibility_settings">접근성 설정</string>
     <string name="setup_locale">언어</string>
@@ -25,6 +26,7 @@
     <string name="setup_current_date">현재 날짜</string>
     <string name="setup_current_time">현재 시간</string>
     <string name="intro_restore_title">앱 및 데이터 복원</string>
+    <string name="intro_restore_subtitle"><xliff:g id="name" example="LeafOS">%s</xliff:g> 또는 다른 OS의 Seedvault 백업이 있다면 지금 복원할 수 있습니다.</string>
     <string name="intro_restore_button">백업에서 복원</string>
     <string name="setup_location">위치 서비스</string>
     <string name="location_access_summary"><b>사용자에게 권한을 요청한 앱</b>이 위치 정보를 사용할 수 있도록 합니다. 현재 위치 정보와 예전 위치 정보가 포함됩니다.</string>
@@ -38,7 +40,7 @@
     <string name="services_pp_explanation">이 서비스는 기기의 성능 향상을 위해 작동합니다. 수집한 데이터는 <xliff:g id="name" example="LeafOS">%1$s</xliff:g>의 개인 정보 보호 정책에 따라 사용됩니다.</string>
     <string name="services_find_privacy_policy">다른 기기에서 <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> 페이지를 방문하여 개인 정보 보호 정책을 확인할 수 있습니다.</string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g> 의 개선을 돕기 위해</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="LineageOS의 개선을 돕기 위해">%1$s</xliff:g> 진단 및 사용 정보를 <xliff:g id="name" example="LineageOS">%2$s</xliff:g>에 보냅니다. 이 정보로는 사용자를 식별할 수 없으며 <xliff:g id="name" example="LeafOS">%3$s</xliff:g>에 새로운 기능을 추가하거나 배터리 수명, 앱 성능을 개선하는 데 도움이 됩니다.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="LineageOS의 개선을 돕기 위해">%1$s</xliff:g> 진단 및 사용 정보를 <xliff:g id="name" example="LeafOS">%2$s</xliff:g>에 보냅니다. 이 정보로는 사용자를 식별할 수 없으며 <xliff:g id="name" example="LeafOS">%3$s</xliff:g>에 새로운 기능을 추가하거나 배터리 수명, 앱 성능을 개선하는 데 도움이 됩니다.</string>
     <string name="services_os_nav_keys_label">하드웨어 키 대신 <b>화면 상의 내비게이션 키</b>를 사용합니다.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">탐색</string>
@@ -47,4 +49,8 @@
     <string name="two_button_navigation">2버튼 탐색</string>
     <string name="navbar_navigation">3버튼 탐색</string>
     <string name="hide_gesture_hint">제스처 탐색 도움말 숨기기</string>
+    <string name="setup_theme">테마</string>
+    <string name="theme_summary">어두운 테마는 일부 디스플레이에서 배터리 사용을 줄이기 위해 검정색 배경을 사용합니다.</string>
+    <string name="dark">어두운 테마</string>
+    <string name="light">밝은 테마</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index d01edfe..86bc711 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -29,7 +29,7 @@
     <string name="setup_services">LeafOS လုပ်ဆောင်နိုင်မှုများ</string>
     <string name="services_pp_explanation">ဤလုပ်ဆောင်ချက်သည် သင့်စက်ပစ္စည်း၏ စွမ်းဆောင်နိုင်မှုကို တိုးမြင့်စေနိုင်ပါသည်။ အချက်အလက်များကို <xliff:g id="name" example="LeafOS">%1$s</xliff:g>၏ ပုဂ္ဂိုလ်ရေးဆိုင်ရာမူဝါဒအတိုင်း အသုံးပြုပါမည်။</string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g> ကိုတိုးတက်လာအောင် ကူညီပါ။</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> သည် ပြဿနာများနှင့် အသုံးပြုမှုဆိုင်ရာအချက်အလက်များကို <xliff:g id="name" example="LineageOS">%2$s</xliff:g> သို့ပေးပို့ပါမည်။ အချက်အလက်များသည် သင်မည်သူမည်ဝါဖြစ်သည်ကို မခွဲခြားနိုင်ဘဲ ဘက်ထရီသက်တမ်း, အက်ပ်များ၏ စွမ်းဆောင်ရည်များနှင့် <xliff:g id="name" example="LeafOS">%3$s</xliff:g>၏ လုပ်ဆောင်မှုအသစ်များကဲ့သို့သော အချက်အလက်များကို အလုပ်လုပ်နေသောအဖွဲ့ထံသို့သာ လွှဲပြောင်းပါမည်။</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> သည် ပြဿနာများနှင့် အသုံးပြုမှုဆိုင်ရာအချက်အလက်များကို <xliff:g id="name" example="LeafOS">%2$s</xliff:g> သို့ပေးပို့ပါမည်။ အချက်အလက်များသည် သင်မည်သူမည်ဝါဖြစ်သည်ကို မခွဲခြားနိုင်ဘဲ ဘက်ထရီသက်တမ်း, အက်ပ်များ၏ စွမ်းဆောင်ရည်များနှင့် <xliff:g id="name" example="LeafOS">%3$s</xliff:g>၏ လုပ်ဆောင်မှုအသစ်များကဲ့သို့သော အချက်အလက်များကို အလုပ်လုပ်နေသောအဖွဲ့ထံသို့သာ လွှဲပြောင်းပါမည်။</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">လမ်းညွှန်</string>
     <string name="navigation_summary">သင်အားသာသော လမ်းညွှန်မှုနည်းလမ်းကို ရွေးချယ်ပါ</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6f03ed8..4a440c7 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Deze diensten worden gebruikt om de mogelijkheden van uw apparaat uit te breiden. Gegevens zullen worden gebruikt conform het privacybeleid van <xliff:g id="name" example="LeafOS">%1$s</xliff:g></string>
     <string name="services_find_privacy_policy">U kunt het privacybeleid op een ander apparaat lezen door <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> te bezoeken</string>
     <string name="services_help_improve_cm">Help mee met het verbeteren van <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> door automatisch diagnose- en verbruiksgegevens te verzenden naar  <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Deze informatie kan niet gebruikt worden om u te identificeren en helpt de teams om te werken aan zaken zoals levensduur van de accu, app-prestaties en nieuwe <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> door automatisch diagnose- en verbruiksgegevens te verzenden naar  <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Deze informatie kan niet gebruikt worden om u te identificeren en helpt de teams om te werken aan zaken zoals levensduur van de accu, app-prestaties en nieuwe <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>On-screen navigatieknoppen</b> gebruiken in plaats van de hardwareknoppen.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigatie</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0962e96..6276f66 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Te usługi są uruchomione w celu rozszerzenia możliwości twojego urządzenia. Dane będą używane zgodnie z polityką prywatności <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Możesz przeczytać politykę prywatności na innym urządzeniu, odwiedzając <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Pomóż ulepszyć <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Pomóż ulepszyć LineageOS">%1$s</xliff:g>, automatycznie wysyłając dane diagnostyczne oraz dotyczące użytkowania do <xliff:g id="name" example="LineageOS"> %2$s</xliff:g>. Informacje te nie mogą być wykorzystane do identyfikacji użytkownika i pomagają zespołom pracującym nad takimi kwestiami, jak żywotność baterii, wydajność aplikacji i nowe funkcje <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Pomóż ulepszyć LineageOS">%1$s</xliff:g>, automatycznie wysyłając dane diagnostyczne oraz dotyczące użytkowania do <xliff:g id="name" example="LeafOS"> %2$s</xliff:g>. Informacje te nie mogą być wykorzystane do identyfikacji użytkownika i pomagają zespołom pracującym nad takimi kwestiami, jak żywotność baterii, wydajność aplikacji i nowe funkcje <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Użyj ekranowych przycisków nawigacyjnych</b> zamiast klawiszy sprzętowych.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Nawigacja w systemie</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 93a46ec..f9014d8 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -12,6 +12,8 @@
     <string name="done">Concluído</string>
     <string name="ok">Ok</string>
     <string name="loading">Aguarde um segundo\u2026</string>
+    <string name="setup_welcome_message">Bem-vindo(a) ao &lt;xliff:g id="name" example="LeafOS"&gt;</string>
+    <string name="setup_managed_profile_welcome_message">Configure seu perfil de trabalho</string>
     <string name="emergency_call">Chamada de emergência</string>
     <string name="accessibility_settings">Configurações de acessibilidade</string>
     <string name="setup_locale">Idioma</string>
@@ -23,15 +25,32 @@
     <string name="date_time_summary">Defina o fuso horário e ajuste a data e a hora atual, se necessário</string>
     <string name="setup_current_date">Data atual</string>
     <string name="setup_current_time">Hora atual</string>
+    <string name="intro_restore_title">Restaurar apps e dados</string>
+    <string name="intro_restore_subtitle">Se você tiver um backup do Seedvault do <xliff:g id="name" example="LeafOS">%s</xliff:g> ou qualquer outro sistema operacional, você pode restaurá-lo aqui.</string>
+    <string name="intro_restore_button">Restaurar backup</string>
     <string name="setup_location">Serviços de localização</string>
     <string name="location_access_summary"><b>Permitir que aplicativos que pediram a sua permissão</b> usem suas informações de localização. Isso pode incluir a sua localização atual bem como localizações anteriores.</string>
+    <string name="location_agps_access_summary">Quando a localização estiver ativada, <b>baixar dados de assistência para satélite através da internet</b>, o que pode melhorar consideravelmente o desempenho da inicialização do GPS.</string>
     <string name="update_recovery_title">Atualizar Lineage Recovery</string>
+    <string name="update_recovery_description">Atualiza o Lineage Recovery na primeira inicialização após cada atualização.</string>
+    <string name="update_recovery_warning">A recuperação será atualizada assim que você terminar a configuração. Se você deseja mantê-la intacta, desabilite esse recurso.</string>
+    <string name="update_recovery_setting">Atualizar o Lineage Recovery junto com o sistema operacional</string>
     <string name="update_recovery_full_description"><xliff:g id="recovery_update_description">%1$s</xliff:g>\n<xliff:g id="recovery_update_warning">%2$s</xliff:g></string>
     <string name="setup_services">Recursos LeafOS</string>
+    <string name="services_pp_explanation">Estes serviços trabalham para você, estendendo os recursos do seu dispositivo. Os dados serão usados de acordo com a política de privacidade em <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
+    <string name="services_find_privacy_policy">Você pode ler a política de privacidade em outro dispositivo visitando <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ajude a melhorar o <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
     <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> enviando automaticamente dados de diagnóstico e utilização para  <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Esta informação não pode ser usada para identificá-lo e ajuda os desenvolvedores a melhorarem funções e serviços como a duração da bateria, o desempenho das aplicações e o desenvolvimento de novos recursos para o <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Use as teclas de navegação na tela</b> em vez de botões físicos.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navegação</string>
+    <string name="navigation_summary">Escolha o método preferido de navegação</string>
     <string name="gesture_navigation">Navegação por gestos</string>
+    <string name="two_button_navigation">Navegação com dois botões</string>
+    <string name="navbar_navigation">Navegação com três botões</string>
+    <string name="hide_gesture_hint">Ocultar dica de navegação por gestos</string>
+    <string name="setup_theme">Tema</string>
+    <string name="theme_summary">O tema escuro usa um fundo preto para ajudar a economizar bateria em algumas telas</string>
+    <string name="dark">Escuro</string>
+    <string name="light">Claro</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index a5a0645..8e8003a 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -37,7 +37,7 @@
     <string name="services_pp_explanation">Estes serviços servem para ampliar os recursos do seu telefone. Os dados serão utilizados em conformidade com a politica de privacidade de <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Pode ler a política de privacidade noutro dispositivo visitando <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ajude a melhorar a <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Ajude a melhorar a LineageOS">%1$s</xliff:g> enviando automaticamente dados de diagnóstico e utilização para <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Esta informação não pode ser usada para identificá-lo e ajuda as equipas de desenvolvimento a melhorarem coisas como a duração da bateria, o desempenho das aplicações e o desenvolvimento de novas funcionalidades para <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Ajude a melhorar a LineageOS">%1$s</xliff:g> enviando automaticamente dados de diagnóstico e utilização para <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Esta informação não pode ser usada para identificá-lo e ajuda as equipas de desenvolvimento a melhorarem coisas como a duração da bateria, o desempenho das aplicações e o desenvolvimento de novas funcionalidades para <xliff:g id="name" example="LeafOS">%2$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Usar os botões de navegação no ecrã</b> em vez dos botões do dispositivo.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navegação</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 2a63307..077609b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Aceste servicii lucrează pentru dvs. pentru a extinde capabilitățile dispozitivului. Datele vor fi utilizate în concordanță cu politica de confidențialitate a <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Puteți citi politica de confidențialitate pe un alt dispozitiv accesând <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ajutați la îmbunătățirea <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> prin trimiterea automată a datelor de diagnosticare și utilizare la <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Aceste informații nu pot fi folosite pentru a te identifica și oferă o mână de ajutor echipelor care lucrează la lucruri precum durata bateriei, performanța aplicațiilor și noile caracteristici <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> prin trimiterea automată a datelor de diagnosticare și utilizare la <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Aceste informații nu pot fi folosite pentru a te identifica și oferă o mână de ajutor echipelor care lucrează la lucruri precum durata bateriei, performanța aplicațiilor și noile caracteristici <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Utilizează tastele de navigare de pe ecran</b> în locul tastelor fizice.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Navigare</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index aa9f983..3925028 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -32,15 +32,15 @@
     <string name="location_access_summary"><b>Разрешить приложениям, запросившим ваше разрешение</b>, использовать информацию о вашем местоположении. Это может включать ваше текущее и прошлые местоположения.</string>
     <string name="location_agps_access_summary">При включении определения местоположения <b>из интернета будут загружаться вспомогательные спутниковые данные</b>. Это поможет значительно ускорить подключение к GPS.</string>
     <string name="update_recovery_title">Обновление Lineage Recovery</string>
-    <string name="update_recovery_description">Обновление Lineage Recovery при первом запуске после каждого обновления ОС.</string>
-    <string name="update_recovery_warning">Recovery будет обновлен по завершении установки. Если вы хотите оставить его без изменений, отключите эту функцию.</string>
-    <string name="update_recovery_setting">Обновить Lineage Recovery  вместе с ОС</string>
+    <string name="update_recovery_description">Lineage Recovery обновляется при первой загрузке после обновления.</string>
+    <string name="update_recovery_warning">После установки будет выполнено обновление Recovery. Вы можете отключить эту возможность.</string>
+    <string name="update_recovery_setting">Обновлять Lineage Recovery  вместе с ОС</string>
     <string name="update_recovery_full_description"><xliff:g id="recovery_update_description">%1$s</xliff:g>\n<xliff:g id="recovery_update_warning">%2$s</xliff:g></string>
     <string name="setup_services">Возможности LeafOS</string>
     <string name="services_pp_explanation">Эти службы работают, чтобы расширить возможности вашего устройства. Данные будут использоваться в соответствии с политикой конфиденциальности <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Вы можете ознакомиться с политикой конфиденциальности на другом устройстве, посетив <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Помочь улучшить <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g>, разрешив отправку данных диагностики и использования в <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Эта информация не может быть использована для идентификации вашей личности и поможет в работе над повышением автономности, производительности и новыми возможностями <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g>, разрешив отправку данных диагностики и использования в <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Эта информация не может быть использована для идентификации вашей личности и поможет в работе над повышением автономности, производительности и новыми возможностями <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Использовать экранные навигационные кнопки</b> вместо аппаратных.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Навигация</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2d89c47..f3fd0b7 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Te storitve služijo vam za razširitev zmogljivosti vaše naprave. Podatki bodo uporabljeni v skladu z <xliff:g id="name" example="LeafOS">%1$s</xliff:g>-ovo politiko zasebnosti.</string>
     <string name="services_find_privacy_policy">Politiko zasebnosti lahko preberete na drugi napravi z obiskom <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Pomagajte izboljšati <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> s samodejnim pošiljanjem diagnostičnih podatkov in podatkov uporabe <xliff:g id="name" example="LineageOS">%2$s</xliff:g>-u. Ti podatki se ne uporabljajo za vaše prepoznavanje in ekipi pomagajo pri izboljšanju npr. življenjske dobe baterije, zmogljivosti aplikacij in novih <xliff:g id="name" example="LeafOS">%3$s</xliff:g> funkcij.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> s samodejnim pošiljanjem diagnostičnih podatkov in podatkov uporabe <xliff:g id="name" example="LeafOS">%2$s</xliff:g>-u. Ti podatki se ne uporabljajo za vaše prepoznavanje in ekipi pomagajo pri izboljšanju npr. življenjske dobe baterije, zmogljivosti aplikacij in novih <xliff:g id="name" example="LeafOS">%3$s</xliff:g> funkcij.</string>
     <string name="services_os_nav_keys_label"><b>Uporabite zaslonske tipke za krmarjenje</b> namesto fizičnih tipk.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Krmarjenje</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 9627934..bea0544 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Këto shërbime punojnë për ju për të zgjeruar aftësitë e pajisjes tuaj. Të dhënat do të përdoren në përputhje me <xliff:g id="name" example="LeafOS">%1$s</xliff:g> politikës së privatësisë</string>
     <string name="services_find_privacy_policy">Ju mund të lexoni politikën e privatësisë në një pajisje tjetër duke vizituar  <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Ndihmo në përmirësimin e <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label">&lt;xliff:g id="name" example="Ndihmoni në përmirësimin e LineageOS&gt;%1$s&lt;/xliff:g&gt; duke dërguar automatikisht të dhënat diagnostikuese dhe të përdorimit te &lt;xliff:g id="name" example="LineageOS"&gt;%2$s&lt;/xliff:g&gt;. Ky informacion nuk mund të përdoret për të të identifikuar ty dhe u jep ndihmë ekipeve që punojnë për gjëra të tilla si jetëgjatësia e baterisë, performanca e aplikacionit dhe të reja &lt;xliff:g id="name" example="LeafOS"&gt;%3$s&lt;/xliff:g&gt; veçoritë.</string>
+    <string name="services_metrics_label">&lt;xliff:g id="name" example="Ndihmoni në përmirësimin e LineageOS&gt;%1$s&lt;/xliff:g&gt; duke dërguar automatikisht të dhënat diagnostikuese dhe të përdorimit te &lt;xliff:g id="name" example="LeafOS"&gt;%2$s&lt;/xliff:g&gt;. Ky informacion nuk mund të përdoret për të të identifikuar ty dhe u jep ndihmë ekipeve që punojnë për gjëra të tilla si jetëgjatësia e baterisë, performanca e aplikacionit dhe të reja &lt;xliff:g id="name" example="LeafOS"&gt;%3$s&lt;/xliff:g&gt; veçoritë.</string>
     <string name="services_os_nav_keys_label"><b>Përdor butonat virtualë të lundrimit</b> në vend të butonave fizikë.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Lundrimi</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 032c1cb..6c73d33 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -38,7 +38,7 @@
     <string name="services_pp_explanation">Bu hizmetler, cihazınızın özelliklerini genişletmeniz için çalışır. Veri <xliff:g id="name" example="LeafOS">%1$s</xliff:g>\'un gizlilik politikası ile kullanılacaktır.</string>
     <string name="services_find_privacy_policy">Gizlilik politikasını farklı cihazla <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> adresini ziyaret ederek okuyabilirsiniz</string>
     <string name="services_help_improve_cm"><xliff:g id="name" example="LeafOS">%s</xliff:g>\'u geliştirmeye yardımcı olun</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> teşhis ve kullanım verilerini otomatik olarak <xliff:g id="name" example="LineageOS">%2$s</xliff:g>\'a gönderir. Bu bilgiler kimliğinizi belirlemek için kullanılamaz ve pil ömrü, uygulama performansı ve yeni <xliff:g id="name" example="LeafOS">%3$s</xliff:g> özellikler gibi konularda çalışan ekiplere yardımcı olur.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> teşhis ve kullanım verilerini otomatik olarak <xliff:g id="name" example="LeafOS">%2$s</xliff:g>\'a gönderir. Bu bilgiler kimliğinizi belirlemek için kullanılamaz ve pil ömrü, uygulama performansı ve yeni <xliff:g id="name" example="LeafOS">%3$s</xliff:g> özellikler gibi konularda çalışan ekiplere yardımcı olur.</string>
     <string name="services_os_nav_keys_label">Donanımsal tuşlar yerine <b>yazılımsal gezinme tuşlarını kullanın</b>.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find"/></string>
     <string name="setup_navigation">Gezinme</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index e6bf12e..fc7d943 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -33,7 +33,7 @@
     <string name="update_recovery_full_description"><xliff:g id="recovery_update_description">%1$s</xliff:g>\n<xliff:g id="recovery_update_warning">%2$s</xliff:g></string>
     <string name="setup_services">Функції LeafOS</string>
     <string name="services_pp_explanation">Ці служби працюють задля розширення підтримки вашого пристрою. Використання даних обмежується політикою приватності <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Допомогти поліпшити LineageOS">%1$s</xliff:g>, дозволивши надсилання діагностичних даних у <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Відстежити вас за ними неможливо; вони допоможуть удосконалити автономність, швидкодію та нові можливості <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Допомогти поліпшити LineageOS">%1$s</xliff:g>, дозволивши надсилання діагностичних даних у <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Відстежити вас за ними неможливо; вони допоможуть удосконалити автономність, швидкодію та нові можливості <xliff:g id="name" example="LeafOS">%3$s</xliff:g>.</string>
     <string name="services_os_nav_keys_label"><b>Використовувати навігаційні кнопки на екрані
 </b> замість апаратних.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index fe59d11..b95237b 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">Các dịch vụ này giúp bạn mở rộng khả năng của thiết bị. Dữ liệu sẽ được sử dụng theo chính sách bảo mật của <xliff:g id="name" example="LeafOS">%1$s</xliff:g>.</string>
     <string name="services_find_privacy_policy">Bạn có thể đọc chính sách bảo mật trên một thiết bị khác bằng cách truy cập <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_help_improve_cm">Giúp cải thiện <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> bằng cách tự động gửi dữ liệu sử dụng và chẩn đoán đến <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. Thông tin này không thể được sử dụng để nhận dạng bạn và hỗ trợ các nhóm làm việc về những yếu tố như thời lượng pin, hiệu suất ứng dụng và <xliff:g id="name" example="LeafOS">%3$s</xliff:g> tính năng mới.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> bằng cách tự động gửi dữ liệu sử dụng và chẩn đoán đến <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. Thông tin này không thể được sử dụng để nhận dạng bạn và hỗ trợ các nhóm làm việc về những yếu tố như thời lượng pin, hiệu suất ứng dụng và <xliff:g id="name" example="LeafOS">%3$s</xliff:g> tính năng mới.</string>
     <string name="services_os_nav_keys_label"><b>Sử dụng các phím điều hướng trên màn hình</b> thay cho các phím cứng.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">Điều hướng</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 436aa27..40df05a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -40,7 +40,7 @@
     <string name="services_pp_explanation">这些服务可帮助您扩展设备的功能。 数据将按照 <xliff:g id="name" example="LeafOS">%1$s</xliff:g>的隐私政策进行使用。</string>
     <string name="services_find_privacy_policy">您可以使用其他设备访问 <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> 来了解隐私政策</string>
     <string name="services_help_improve_cm">帮助改进 <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> 通过自动发送诊断和使用数据给 <xliff:g id="name" example="LineageOS">%2$s</xliff:g>。这些信息不会被用于识别您的身份，而是用于帮助团队致力于诸如电池寿命、应用性能和新 <xliff:g id="name" example="LeafOS">%3$s</xliff:g> 功能。</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> 通过自动发送诊断和使用数据给 <xliff:g id="name" example="LeafOS">%2$s</xliff:g>。这些信息不会被用于识别您的身份，而是用于帮助团队致力于诸如电池寿命、应用性能和新 <xliff:g id="name" example="LeafOS">%3$s</xliff:g> 功能。</string>
     <string name="services_os_nav_keys_label"><b>使用虚拟导航键</b>替代实体按键。</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">导航栏</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 33510ea..0a6a1af 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -13,6 +13,7 @@
     <string name="ok">確定</string>
     <string name="loading">請稍候\u2026</string>
     <string name="setup_welcome_message">歡迎使用 <xliff:g id="name" example="LeafOS">%1$s</xliff:g></string>
+    <string name="setup_managed_profile_welcome_message">設定您的工作設定檔</string>
     <string name="emergency_call">緊急電話</string>
     <string name="accessibility_settings">無障礙設定</string>
     <string name="setup_locale">語言</string>
@@ -25,6 +26,7 @@
     <string name="setup_current_date">目前日期</string>
     <string name="setup_current_time">目前時間</string>
     <string name="intro_restore_title">恢復應用程式和資料</string>
+    <string name="intro_restore_subtitle">如果您有來自 <xliff:g id="name" example="LeafOS">%s</xliff:g> 或任何其他作業系統的 Seedvault 備份，您可以在此處還原它。</string>
     <string name="intro_restore_button">從備份還原</string>
     <string name="setup_location">定位服務</string>
     <string name="location_access_summary"><b>允許您許可的應用程式</b>使用您的定位資訊。可能包括您目前和過去的位置。</string>
@@ -38,7 +40,7 @@
     <string name="services_pp_explanation">這些服務可協助您強化裝置的功能。資料將會根據 <xliff:g id="name" example="LeafOS">%1$s</xliff:g> 的隱私權政策使用。</string>
     <string name="services_find_privacy_policy">您可以透過在其他裝置上造訪 <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g> 來閱讀隱私權政策</string>
     <string name="services_help_improve_cm">協助改善 <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> 經由傳送錯誤報告及使用資料給 <xliff:g id="name" example="LineageOS">%2$s</xliff:g>，這些資料不會用於識別您的身分，而是用於幫助團隊改善電池壽命、應用程式效能與新的 <xliff:g id="name" example="LeafOS">%3$s</xliff:g> 功能。</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> 經由傳送錯誤報告及使用資料給 <xliff:g id="name" example="LeafOS">%2$s</xliff:g>，這些資料不會用於識別您的身分，而是用於幫助團隊改善電池壽命、應用程式效能與新的 <xliff:g id="name" example="LeafOS">%3$s</xliff:g> 功能。</string>
     <string name="services_os_nav_keys_label"><b>使用虛擬按鍵</b>替代實體按鍵。</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
     <string name="setup_navigation">導航欄</string>
@@ -47,4 +49,8 @@
     <string name="two_button_navigation">透過 2 個按鈕操作系統</string>
     <string name="navbar_navigation">透過 3 個按鈕操作系統</string>
     <string name="hide_gesture_hint">隱藏手勢導航條</string>
+    <string name="setup_theme">佈景主題</string>
+    <string name="theme_summary">深色佈景主題使用黑色背景，在某些螢幕上可延長電池續航時間</string>
+    <string name="dark">深色</string>
+    <string name="light">淺色</string>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 25a541a..1355f47 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -65,7 +65,7 @@
     <string name="services_find_privacy_policy">You can read the privacy policy on another device by visiting <xliff:g id="uri" example="https://lineageos.org/legal">%1$s</xliff:g></string>
     <string name="services_privacy_policy_uri" translatable="false">https://lineageos.org/legal</string>
     <string name="services_help_improve_cm">Help improve <xliff:g id="name" example="LeafOS">%s</xliff:g></string>
-    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LineageOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
+    <string name="services_metrics_label"><xliff:g id="name" example="Help improve LineageOS">%1$s</xliff:g> by automatically sending diagnostic and usage data to <xliff:g id="name" example="LeafOS">%2$s</xliff:g>. This information can’t be used to identify you and lends a hand to teams working on things like battery life, app performance, and new <xliff:g id="name" example="LeafOS">%3$s</xliff:g> features.</string>
     <string name="services_os_nav_keys_label"><b>Use on screen navigation keys</b> instead of hardware keys.</string>
     <string name="services_full_description"><xliff:g id="pp_explanation">%1$s</xliff:g>\n<xliff:g id="pp_find">%2$s</xliff:g></string>
 
diff --git a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
index 5d6f2a8..5a64abb 100644
--- a/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
+++ b/src/org/lineageos/setupwizard/BaseSetupWizardActivity.java
@@ -10,16 +10,11 @@
 
 import static com.google.android.setupcompat.util.ResultCodes.RESULT_SKIP;
 
-import static org.lineageos.setupwizard.SetupWizardApp.ACTION_SETUP_COMPLETE;
 import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.app.ActivityManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.graphics.drawable.Drawable;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
@@ -38,13 +33,12 @@
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.GlifLayout;
+import com.google.android.setupdesign.transition.TransitionHelper;
 import com.google.android.setupdesign.util.ThemeHelper;
 
 import org.lineageos.setupwizard.NavigationLayout.NavigationBarListener;
 import org.lineageos.setupwizard.util.SetupWizardUtils;
 
-import java.util.List;
-
 public abstract class BaseSetupWizardActivity extends AppCompatActivity implements
         NavigationBarListener {
 
@@ -52,18 +46,6 @@
 
     private NavigationLayout mNavigationBar;
 
-    private final BroadcastReceiver finishReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (ACTION_SETUP_COMPLETE.equals(intent.getAction())) {
-                if (BaseSetupWizardActivity.this instanceof FinishActivity) return;
-                if (mNavigationBar != null) {
-                    // hide the activity's view, so it does not pop up again
-                    mNavigationBar.getRootView().setVisibility(INVISIBLE);
-                }
-            }
-        }
-    };
     private final ActivityResultLauncher<Intent> activityResultLauncher = registerForActivityResult(
             new ActivityResultContracts.StartActivityForResult(),
             BaseSetupWizardActivity.this::onActivityResult);
@@ -74,7 +56,6 @@
             logActivityState("onCreate savedInstanceState=" + savedInstanceState);
         }
         super.onCreate(savedInstanceState);
-        registerReceiver(finishReceiver, new IntentFilter(ACTION_SETUP_COMPLETE));
         initLayout();
         mNavigationBar = getNavigationBar();
         if (mNavigationBar != null) {
@@ -87,6 +68,8 @@
                     Log.v(TAG, "handleOnBackPressed()");
                 }
                 finishAction(RESULT_CANCELED, new Intent().putExtra("onBackPressed", true));
+                TransitionHelper.applyBackwardTransition(BaseSetupWizardActivity.this,
+                        TransitionHelper.TRANSITION_FADE_THROUGH, true);
             }
         });
     }
@@ -136,7 +119,6 @@
         if (LOGV) {
             logActivityState("onDestroy");
         }
-        unregisterReceiver(finishReceiver);
         super.onDestroy();
     }
 
@@ -253,7 +235,7 @@
         finish();
     }
 
-    protected final void nextAction(int resultCode) {
+    public final void nextAction(int resultCode) {
         nextAction(resultCode, null);
     }
 
@@ -276,6 +258,8 @@
         intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
         intent.putExtra(WizardManagerHelper.EXTRA_THEME, ThemeHelper.THEME_GLIF_V4);
         super.startActivity(intent);
+        TransitionHelper.applyForwardTransition(this,
+                TransitionHelper.TRANSITION_FADE_THROUGH, true);
     }
 
     protected final void startActivityForResult(@NonNull Intent intent) {
@@ -283,6 +267,8 @@
         intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
         intent.putExtra(WizardManagerHelper.EXTRA_THEME, ThemeHelper.THEME_GLIF_V4);
         activityResultLauncher.launch(intent);
+        TransitionHelper.applyForwardTransition(this,
+                TransitionHelper.TRANSITION_FADE_THROUGH, true);
     }
 
     protected void onActivityResult(ActivityResult activityResult) {
@@ -301,7 +287,7 @@
 
     protected final boolean tryEnablingWifi() {
         WifiManager wifiManager = getSystemService(WifiManager.class);
-        return wifiManager.setWifiEnabled(true);
+        return wifiManager != null && wifiManager.setWifiEnabled(true);
     }
 
     private boolean isFirstRun() {
diff --git a/src/org/lineageos/setupwizard/BiometricActivity.java b/src/org/lineageos/setupwizard/BiometricActivity.java
index 07999a8..dcfc45f 100644
--- a/src/org/lineageos/setupwizard/BiometricActivity.java
+++ b/src/org/lineageos/setupwizard/BiometricActivity.java
@@ -6,15 +6,14 @@
 
 package org.lineageos.setupwizard;
 
-import static org.lineageos.setupwizard.SetupWizardApp.ACTION_SETUP_BIOMETRIC;
-
 import android.content.Intent;
+import android.provider.Settings;
 
 public class BiometricActivity extends SubBaseActivity {
 
     @Override
     protected void onStartSubactivity() {
-        Intent intent = new Intent(ACTION_SETUP_BIOMETRIC);
+        Intent intent = new Intent(Settings.ACTION_BIOMETRIC_ENROLL);
         startSubactivity(intent);
     }
 }
diff --git a/src/org/lineageos/setupwizard/BluetoothSetupActivity.java b/src/org/lineageos/setupwizard/BluetoothSetupActivity.java
index d874309..0856e3b 100644
--- a/src/org/lineageos/setupwizard/BluetoothSetupActivity.java
+++ b/src/org/lineageos/setupwizard/BluetoothSetupActivity.java
@@ -27,9 +27,7 @@
     @Override
     protected void onStartSubactivity() {
         try {
-            Intent intent = new Intent();
-            intent.setComponent(SetupWizardUtils.sTvAddAccessorySettingsActivity);
-            intent.setAction(ACTION_CONNECT_INPUT);
+            Intent intent = new Intent(ACTION_CONNECT_INPUT);
             intent.putExtra(INTENT_EXTRA_NO_INPUT_MODE, true);
             startSubactivity(intent);
         } catch (Exception e) {
diff --git a/src/org/lineageos/setupwizard/FinishActivity.java b/src/org/lineageos/setupwizard/FinishActivity.java
index 8a168f6..af55c4a 100644
--- a/src/org/lineageos/setupwizard/FinishActivity.java
+++ b/src/org/lineageos/setupwizard/FinishActivity.java
@@ -18,28 +18,15 @@
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
-import android.app.WallpaperManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.om.IOverlayManager;
 import android.content.pm.ActivityInfo;
-import android.graphics.Bitmap;
-import android.graphics.Point;
-import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.os.UserHandle;
 import android.util.Log;
 import android.view.View;
 import android.view.ViewAnimationUtils;
 import android.view.ViewGroup.MarginLayoutParams;
 import android.view.Window;
-import android.widget.ImageView;
 
 import androidx.core.graphics.Insets;
 import androidx.core.view.ViewCompat;
@@ -51,36 +38,18 @@
 
     public static final String TAG = FinishActivity.class.getSimpleName();
 
-    private ImageView mBackground;
-
-    private SetupWizardApp mSetupWizardApp;
-
     private final Handler mHandler = new Handler(Looper.getMainLooper());
 
     private boolean mIsFinishing;
 
-    private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (LOGV) {
-                Log.v(TAG, "onReceive intent=" + intent);
-            }
-            if (intent != null && intent.getAction().equals(ACTION_FINISHED)) {
-                unregisterReceiver(mIntentReceiver);
-                completeSetup();
-            }
-        }
-    };
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        overridePendingTransition(R.anim.translucent_enter, R.anim.translucent_exit);
+        overrideActivityTransition(OVERRIDE_TRANSITION_CLOSE, R.anim.translucent_enter,
+                R.anim.translucent_exit);
         if (LOGV) {
             logActivityState("onCreate savedInstanceState=" + savedInstanceState);
         }
-        mSetupWizardApp = (SetupWizardApp) getApplication();
-        mBackground = findViewById(R.id.background);
         setNextText(R.string.start);
 
         // Edge-to-edge. Needed for the background view to fill the full screen.
@@ -121,15 +90,6 @@
         }
         mIsFinishing = true;
 
-        // Listen for completion from the exit service.
-        IntentFilter filter = new IntentFilter();
-        filter.addAction(ACTION_FINISHED);
-        registerReceiver(mIntentReceiver, filter, null, null);
-
-        Intent i = new Intent(ACTION_SETUP_COMPLETE);
-        i.setPackage(getPackageName());
-        sendBroadcastAsUser(i, getCallingUserHandle(), FINISH_SETUP);
-
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);
         hideNextButton();
 
@@ -158,36 +118,10 @@
                     if (LOGV) {
                         Log.v(TAG, "Animation ended");
                     }
-                    // Start exit procedures, including the exit service.
-                    SetupWizardUtils.startSetupWizardExitProcedure(FinishActivity.this);
+                    SetupWizardUtils.finishSetupWizard(FinishActivity.this);
                 });
             }
         });
         anim.start();
     }
-
-    private void completeSetup() {
-        handleNavigationOption(mSetupWizardApp);
-        final WallpaperManager wallpaperManager =
-                WallpaperManager.getInstance(mSetupWizardApp);
-        wallpaperManager.forgetLoadedWallpaper();
-        finishAffinity();
-        nextAction(RESULT_OK);
-        SetupWizardUtils.enableStatusBar();
-        Log.i(TAG, "Setup complete!");
-    }
-
-    private void handleNavigationOption(Context context) {
-        Bundle settingsBundle = mSetupWizardApp.getSettingsBundle();
-        if (settingsBundle.containsKey(NAVIGATION_OPTION_KEY)) {
-            IOverlayManager overlayManager = IOverlayManager.Stub.asInterface(
-                    ServiceManager.getService(Context.OVERLAY_SERVICE));
-            String selectedNavMode = settingsBundle.getString(NAVIGATION_OPTION_KEY);
-
-            try {
-                overlayManager.setEnabledExclusiveInCategory(selectedNavMode, USER_CURRENT);
-            } catch (Exception ignored) {
-            }
-        }
-    }
 }
diff --git a/src/org/lineageos/setupwizard/LocaleActivity.java b/src/org/lineageos/setupwizard/LocaleActivity.java
index a286be5..b350ccf 100644
--- a/src/org/lineageos/setupwizard/LocaleActivity.java
+++ b/src/org/lineageos/setupwizard/LocaleActivity.java
@@ -6,8 +6,6 @@
 
 package org.lineageos.setupwizard;
 
-import static androidx.appcompat.app.AppCompatDelegate.setApplicationLocales;
-
 import android.app.Activity;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -19,13 +17,12 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.util.Log;
 import android.view.View;
 import android.widget.ArrayAdapter;
 import android.widget.NumberPicker;
 import android.widget.Toast;
 
-import androidx.core.os.LocaleListCompat;
-
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.util.LocaleUtils;
 
@@ -40,6 +37,8 @@
 
 public class LocaleActivity extends BaseSetupWizardActivity {
 
+    private static final String TAG = LocaleActivity.class.getSimpleName();
+
     private ArrayAdapter<com.android.internal.app.LocalePicker.LocaleInfo> mLocaleAdapter;
     private Locale mCurrentLocale;
     private int[] mAdapterIndices;
@@ -53,7 +52,7 @@
         public void run() {
             if (mCurrentLocale != null) {
                 mLanguagePicker.setEnabled(false);
-                setApplicationLocales(LocaleListCompat.create(mCurrentLocale));
+                com.android.internal.app.LocalePicker.updateLocale(mCurrentLocale);
             }
         }
     };
@@ -177,7 +176,7 @@
         }
         mFetchUpdateSimLocaleTask = Executors.newSingleThreadExecutor();
         mFetchUpdateSimLocaleTask.execute(() -> {
-            Locale locale;
+            Locale locale = null;
             Activity activity = LocaleActivity.this;
             if (!activity.isFinishing() || !activity.isDestroyed()) {
                 // If the sim is currently pin locked, return
@@ -198,8 +197,17 @@
                 }
 
                 // Fetch locale for active sim's MCC
-                int mcc = Integer.parseInt(activeSubs.get(0).getMccString());
-                locale = LocaleUtils.getLocaleFromMcc(activity, mcc, null);
+                final String mccString = activeSubs.get(0).getMccString();
+                try {
+                    if (mccString != null && !mccString.isEmpty()) {
+                        int mcc = Integer.parseInt(mccString);
+                        locale = LocaleUtils.getLocaleFromMcc(activity, mcc, null);
+                    } else {
+                        Log.w(TAG, "Unexpected mccString: '" + mccString + "'");
+                    }
+                } catch (NumberFormatException e) {
+                    Log.w(TAG, "mccString not a number: '" + mccString + "'", e);
+                }
 
                 // If that fails, fall back to preferred languages reported
                 // by the sim
diff --git a/src/org/lineageos/setupwizard/NetworkSetupActivity.java b/src/org/lineageos/setupwizard/NetworkSetupActivity.java
index f741b60..372c901 100644
--- a/src/org/lineageos/setupwizard/NetworkSetupActivity.java
+++ b/src/org/lineageos/setupwizard/NetworkSetupActivity.java
@@ -6,7 +6,6 @@
 
 package org.lineageos.setupwizard;
 
-import static org.lineageos.setupwizard.SetupWizardApp.ACTION_SETUP_NETWORK;
 import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_ENABLE_NEXT_ON_CONNECT;
 import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_PREFS_SET_BACK_TEXT;
 import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_PREFS_SHOW_BUTTON_BAR;
@@ -14,20 +13,20 @@
 import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_PREFS_SHOW_SKIP_TV;
 
 import android.content.Intent;
+import android.os.Bundle;
 
 import org.lineageos.setupwizard.util.SetupWizardUtils;
 
 public class NetworkSetupActivity extends SubBaseActivity {
 
+    private static final String ACTION_SETUP_NETWORK = "android.settings.NETWORK_PROVIDER_SETUP";
+
     @Override
     protected void onStartSubactivity() {
         if (SetupWizardUtils.isOwner()) {
             tryEnablingWifi();
         }
         Intent intent = new Intent(ACTION_SETUP_NETWORK);
-        if (SetupWizardUtils.hasLeanback(this)) {
-            intent.setComponent(SetupWizardUtils.sTvWifiSetupSettingsActivity);
-        }
         intent.putExtra(EXTRA_PREFS_SHOW_BUTTON_BAR, true);
         intent.putExtra(EXTRA_PREFS_SHOW_SKIP, true);
         intent.putExtra(EXTRA_PREFS_SHOW_SKIP_TV, true);
diff --git a/src/org/lineageos/setupwizard/ScreenLockActivity.java b/src/org/lineageos/setupwizard/ScreenLockActivity.java
index 37366df..ca93684 100644
--- a/src/org/lineageos/setupwizard/ScreenLockActivity.java
+++ b/src/org/lineageos/setupwizard/ScreenLockActivity.java
@@ -6,12 +6,12 @@
 
 package org.lineageos.setupwizard;
 
-import static org.lineageos.setupwizard.SetupWizardApp.ACTION_SETUP_LOCKSCREEN;
-
 import android.content.Intent;
 
 public class ScreenLockActivity extends SubBaseActivity {
 
+    private static final String ACTION_SETUP_LOCKSCREEN = "com.android.settings.SETUP_LOCK_SCREEN";
+
     @Override
     protected void onStartSubactivity() {
         Intent intent = new Intent(ACTION_SETUP_LOCKSCREEN);
diff --git a/src/org/lineageos/setupwizard/SetupWizardActivity.java b/src/org/lineageos/setupwizard/SetupWizardActivity.java
index 8991ee2..8e061d0 100644
--- a/src/org/lineageos/setupwizard/SetupWizardActivity.java
+++ b/src/org/lineageos/setupwizard/SetupWizardActivity.java
@@ -31,6 +31,10 @@
         if (LOGV) {
             Log.v(TAG, "onCreate savedInstanceState=" + savedInstanceState);
         }
+        if (SetupWizardUtils.hasLeanback(this) && SetupWizardUtils.hasGMS(this)) {
+            finish();
+            return;
+        }
         SetupWizardUtils.enableComponent(this, WizardManager.class);
         Intent intent = new Intent(ACTION_LOAD);
         if (SetupWizardUtils.isOwner()) {
diff --git a/src/org/lineageos/setupwizard/SetupWizardApp.java b/src/org/lineageos/setupwizard/SetupWizardApp.java
index 4731b65..40d732e 100644
--- a/src/org/lineageos/setupwizard/SetupWizardApp.java
+++ b/src/org/lineageos/setupwizard/SetupWizardApp.java
@@ -22,14 +22,6 @@
     // Verbose logging
     public static final boolean LOGV = Log.isLoggable(TAG, Log.VERBOSE);
 
-    public static final String ACTION_ACCESSIBILITY_SETTINGS =
-            "android.settings.ACCESSIBILITY_SETTINGS_FOR_SUW";
-    public static final String ACTION_FINISHED = "org.lineageos.setupwizard.SETUP_FINISHED";
-    public static final String ACTION_SETUP_COMPLETE =
-            "org.lineageos.setupwizard.LINEAGE_SETUP_COMPLETE";
-    public static final String ACTION_SETUP_NETWORK = "android.settings.NETWORK_PROVIDER_SETUP";
-    public static final String ACTION_SETUP_BIOMETRIC = "android.settings.BIOMETRIC_ENROLL";
-    public static final String ACTION_SETUP_LOCKSCREEN = "com.android.settings.SETUP_LOCK_SCREEN";
     public static final String ACTION_RESTORE_FROM_BACKUP =
             "com.stevesoltys.seedvault.RESTORE_BACKUP";
     public static final String ACTION_EMERGENCY_DIAL = "com.android.phone.EmergencyDialer.DIAL";
@@ -53,7 +45,7 @@
     private boolean mIsRadioReady = false;
     private boolean mIgnoreSimLocale = false;
 
-    private final Bundle mSettingsBundle = new Bundle();
+    private static final Bundle mSettingsBundle = new Bundle();
     private final Handler mHandler = new Handler(Looper.getMainLooper());
 
     private final Runnable mRadioTimeoutRunnable = () -> mIsRadioReady = true;
@@ -88,7 +80,7 @@
         mIgnoreSimLocale = ignoreSimLocale;
     }
 
-    public Bundle getSettingsBundle() {
+    public static Bundle getSettingsBundle() {
         return mSettingsBundle;
     }
 }
diff --git a/src/org/lineageos/setupwizard/SetupWizardExitWorker.java b/src/org/lineageos/setupwizard/SetupWizardExitWorker.java
deleted file mode 100644
index ba72173..0000000
--- a/src/org/lineageos/setupwizard/SetupWizardExitWorker.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2024 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package org.lineageos.setupwizard;
-
-import android.content.Context;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.work.CoroutineWorker;
-import androidx.work.WorkerParameters;
-
-import org.lineageos.setupwizard.util.SetupWizardUtils;
-
-import kotlin.coroutines.Continuation;
-
-public class SetupWizardExitWorker extends CoroutineWorker {
-
-    public SetupWizardExitWorker(@NonNull Context appContext,
-            @NonNull WorkerParameters params) {
-        super(appContext, params);
-    }
-
-    @Nullable
-    @Override
-    public Object doWork(@NonNull Continuation<? super Result> continuation) {
-        SetupWizardUtils.finishSetupWizard(getApplicationContext());
-        return Result.success();
-    }
-}
diff --git a/src/org/lineageos/setupwizard/SimMissingActivity.java b/src/org/lineageos/setupwizard/SimMissingActivity.java
index a5c7254..3980cb4 100644
--- a/src/org/lineageos/setupwizard/SimMissingActivity.java
+++ b/src/org/lineageos/setupwizard/SimMissingActivity.java
@@ -6,18 +6,45 @@
 
 package org.lineageos.setupwizard;
 
-import android.os.Bundle;
+import static com.google.android.setupcompat.util.ResultCodes.RESULT_ACTIVITY_NOT_FOUND;
+
+import android.content.Intent;
+
+import androidx.activity.result.ActivityResult;
+
+import com.google.android.setupdesign.transition.TransitionHelper;
 
 import org.lineageos.setupwizard.util.SetupWizardUtils;
 
-public class SimMissingActivity extends BaseSetupWizardActivity {
+public class SimMissingActivity extends SubBaseActivity {
+
+    protected void onStartSubactivity() {
+        if (!SetupWizardUtils.simMissing(this)) {
+            nextAction(RESULT_OK);
+            return;
+        }
+        getGlifLayout().setDescriptionText(getString(R.string.sim_missing_summary));
+        setNextAllowed(true);
+    }
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        getGlifLayout().setDescriptionText(getString(R.string.sim_missing_summary));
-        if (!SetupWizardUtils.simMissing(this)) {
-            finishAction(RESULT_OK);
+    protected void onActivityResult(ActivityResult activityResult) {
+        int resultCode = activityResult.getResultCode();
+        Intent data = activityResult.getData();
+        if (resultCode != RESULT_CANCELED) {
+            nextAction(resultCode, data);
+        } else if (mIsSubactivityNotFound) {
+            finishAction(RESULT_ACTIVITY_NOT_FOUND);
+        } else if (data != null && data.getBooleanExtra("onBackPressed", false)) {
+            if (SetupWizardUtils.simMissing(this)) {
+                onStartSubactivity();
+            } else {
+                finishAction(RESULT_CANCELED, data);
+            }
+            TransitionHelper.applyBackwardTransition(this,
+                    TransitionHelper.TRANSITION_FADE_THROUGH, true);
+        } else if (!SetupWizardUtils.simMissing(this)) {
+            nextAction(RESULT_OK);
         }
     }
 
diff --git a/src/org/lineageos/setupwizard/SubBaseActivity.java b/src/org/lineageos/setupwizard/SubBaseActivity.java
index ac1cd0a..9379d5e 100644
--- a/src/org/lineageos/setupwizard/SubBaseActivity.java
+++ b/src/org/lineageos/setupwizard/SubBaseActivity.java
@@ -19,6 +19,8 @@
 
 import androidx.activity.result.ActivityResult;
 
+import com.google.android.setupdesign.transition.TransitionHelper;
+
 public abstract class SubBaseActivity extends BaseSetupWizardActivity {
 
     public static final String TAG = SubBaseActivity.class.getSimpleName();
@@ -80,6 +82,8 @@
             finishAction(RESULT_ACTIVITY_NOT_FOUND);
         } else if (data != null && data.getBooleanExtra("onBackPressed", false)) {
             onStartSubactivity();
+            TransitionHelper.applyBackwardTransition(this,
+                    TransitionHelper.TRANSITION_FADE_THROUGH, true);
         } else {
             finishAction(RESULT_CANCELED);
         }
diff --git a/src/org/lineageos/setupwizard/WelcomeActivity.java b/src/org/lineageos/setupwizard/WelcomeActivity.java
index 240681c..4dc594e 100644
--- a/src/org/lineageos/setupwizard/WelcomeActivity.java
+++ b/src/org/lineageos/setupwizard/WelcomeActivity.java
@@ -6,7 +6,6 @@
 
 package org.lineageos.setupwizard;
 
-import static org.lineageos.setupwizard.SetupWizardApp.ACTION_ACCESSIBILITY_SETTINGS;
 import static org.lineageos.setupwizard.SetupWizardApp.ACTION_EMERGENCY_DIAL;
 
 import android.content.Intent;
@@ -22,6 +21,9 @@
 
 public class WelcomeActivity extends SubBaseActivity {
 
+    private static final String ACTION_ACCESSIBILITY_SETTINGS =
+            "android.settings.ACCESSIBILITY_SETTINGS_FOR_SUW";
+
     @Override
     protected void onStartSubactivity() {
     }
diff --git a/src/org/lineageos/setupwizard/backup/RestoreIntroActivity.java b/src/org/lineageos/setupwizard/backup/RestoreIntroActivity.java
index f7abe31..b43798b 100644
--- a/src/org/lineageos/setupwizard/backup/RestoreIntroActivity.java
+++ b/src/org/lineageos/setupwizard/backup/RestoreIntroActivity.java
@@ -6,8 +6,12 @@
 
 package org.lineageos.setupwizard.backup;
 
+import static com.google.android.setupcompat.util.ResultCodes.RESULT_ACTIVITY_NOT_FOUND;
+
 import static org.lineageos.setupwizard.SetupWizardApp.ACTION_RESTORE_FROM_BACKUP;
 
+import androidx.activity.result.ActivityResult;
+
 import android.content.Intent;
 import android.os.Bundle;
 
@@ -24,6 +28,19 @@
     }
 
     @Override
+    protected void onActivityResult(ActivityResult activityResult) {
+        int resultCode = activityResult.getResultCode();
+        Intent data = activityResult.getData();
+        if (resultCode != RESULT_CANCELED) {
+            nextAction(resultCode, data);
+        } else if (mIsSubactivityNotFound) {
+            finishAction(RESULT_ACTIVITY_NOT_FOUND);
+        } else if (data != null && data.getBooleanExtra("onBackPressed", false)) {
+            onStartSubactivity();
+        }
+    }
+
+    @Override
     protected void onStartSubactivity() {
         setNextAllowed(true);
     }
diff --git a/src/org/lineageos/setupwizard/util/SetupWizardUtils.java b/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
index 1cfdfa4..7b10a1f 100644
--- a/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
+++ b/src/org/lineageos/setupwizard/util/SetupWizardUtils.java
@@ -11,59 +11,58 @@
 import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
 import static android.content.pm.PackageManager.DONT_KILL_APP;
 import static android.content.pm.PackageManager.GET_ACTIVITIES;
-import static android.content.pm.PackageManager.GET_RECEIVERS;
-import static android.content.pm.PackageManager.GET_SERVICES;
 import static android.telephony.TelephonyManager.PHONE_TYPE_GSM;
-import static android.telephony.TelephonyManager.SIM_STATE_ABSENT;
 
 import static com.android.internal.telephony.PhoneConstants.LTE_ON_CDMA_TRUE;
 import static com.android.internal.telephony.PhoneConstants.LTE_ON_CDMA_UNKNOWN;
 
+import static com.google.android.setupcompat.util.ResultCodes.RESULT_SKIP;
+
+import static org.lineageos.setupwizard.SetupWizardApp.DISABLE_NAV_KEYS;
+import static org.lineageos.setupwizard.SetupWizardApp.ENABLE_RECOVERY_UPDATE;
+import static org.lineageos.setupwizard.SetupWizardApp.KEY_SEND_METRICS;
 import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
+import static org.lineageos.setupwizard.SetupWizardApp.NAVIGATION_OPTION_KEY;
+import static org.lineageos.setupwizard.SetupWizardApp.UPDATE_RECOVERY_PROP;
 
 import android.app.StatusBarManager;
+import android.app.WallpaperManager;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
-import android.content.pm.ComponentInfo;
-import android.content.pm.PackageInfo;
+import android.content.om.IOverlayManager;
 import android.content.pm.PackageManager;
-import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
 import android.hardware.biometrics.BiometricManager;
 import android.net.ConnectivityManager;
 import android.net.NetworkCapabilities;
-import android.os.Binder;
+import android.os.Bundle;
+import android.os.ServiceManager;
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
 import android.sysprop.TelephonyProperties;
-import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
-import androidx.work.OneTimeWorkRequest;
-import androidx.work.OutOfQuotaPolicy;
-import androidx.work.WorkManager;
-
-import org.lineageos.internal.util.PackageManagerUtils;
+import org.lineageos.setupwizard.BaseSetupWizardActivity;
 import org.lineageos.setupwizard.BiometricActivity;
 import org.lineageos.setupwizard.BluetoothSetupActivity;
 import org.lineageos.setupwizard.NetworkSetupActivity;
 import org.lineageos.setupwizard.ScreenLockActivity;
 import org.lineageos.setupwizard.SetupWizardApp;
-import org.lineageos.setupwizard.SetupWizardExitWorker;
 import org.lineageos.setupwizard.SimMissingActivity;
 
 import java.io.File;
-import java.util.ArrayList;
 import java.util.List;
 
+import lineageos.providers.LineageSettings;
+
 public class SetupWizardUtils {
 
     private static final String TAG = SetupWizardUtils.class.getSimpleName();
@@ -153,8 +152,8 @@
     public static boolean hasGMS(Context context) {
         String gmsSuwPackage = hasLeanback(context) ? GMS_TV_SUW_PACKAGE : GMS_SUW_PACKAGE;
 
-        if (PackageManagerUtils.isAppInstalled(context, GMS_PACKAGE) &&
-                PackageManagerUtils.isAppInstalled(context, gmsSuwPackage)) {
+        if (isPackageInstalled(context, GMS_PACKAGE) &&
+                isPackageInstalled(context, gmsSuwPackage)) {
             PackageManager packageManager = context.getPackageManager();
             if (LOGV) {
                 Log.v(TAG, GMS_SUW_PACKAGE + " state = " +
@@ -176,21 +175,7 @@
         }
     }
 
-    public static void startSetupWizardExitProcedure(Context context) {
-        try {
-            WorkManager.getInstance(context).enqueue(new OneTimeWorkRequest.Builder(
-                    SetupWizardExitWorker.class).setExpedited(
-                    OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST).build());
-        } catch (IllegalArgumentException e) {
-            // finishSetupWizard -- called by the exit worker -- disables components at the end,
-            // including the WorkManager component required here, so this is likely an error finding
-            // that component. The worker only needs to run once. We can assume it already has.
-            Log.w(TAG, "Could not start SetupWizardExitWorker. It has likely already run.", e);
-            return;
-        }
-    }
-
-    public static void finishSetupWizard(Context context) {
+    public static void finishSetupWizard(BaseSetupWizardActivity context) {
         if (LOGV) {
             Log.v(TAG, "finishSetupWizard");
         }
@@ -210,34 +195,29 @@
                     Settings.Secure.TV_USER_SETUP_COMPLETE, 1);
         }
 
-        disableComponentsAndSendFinishedBroadcast(context);
-    }
-
-    private static void disableComponentsAndSendFinishedBroadcast(Context context) {
-        if (LOGV) {
-            Log.v(TAG, "Disabling Setup Wizard components and sending FINISHED broadcast.");
-        }
+        handleEnableMetrics(context);
+        handleNavKeys(context);
+        handleRecoveryUpdate();
+        handleNavigationOption();
+        WallpaperManager.getInstance(context).forgetLoadedWallpaper();
         disableHome(context);
-        context.sendStickyBroadcastAsUser(
-                new Intent(SetupWizardApp.ACTION_FINISHED),
-                Binder.getCallingUserHandle());
-        disableComponentSets(context, GET_RECEIVERS | GET_SERVICES);
-        // Note: The WizardManager component is disabled when the WizardManager exits,
-        // which happens when FinishActivity calls nextAction while completing.
+        enableStatusBar();
+        context.finishAffinity();
+        context.nextAction(RESULT_SKIP);
+        Log.i(TAG, "Setup complete!");
     }
 
     public static boolean isBluetoothDisabled() {
         return SystemProperties.getBoolean("config.disable_bluetooth", false);
     }
 
-    public static boolean isEthernetConnected(Context context) {
-        ConnectivityManager cm = (ConnectivityManager) context.
-                getSystemService(Context.CONNECTIVITY_SERVICE);
+    private static boolean isNetworkConnectedToInternetViaEthernet(Context context) {
+        ConnectivityManager cm = context.getSystemService(ConnectivityManager.class);
         NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(cm.getActiveNetwork());
-        if (networkCapabilities != null) {
-            return networkCapabilities.hasCapability(NetworkCapabilities.TRANSPORT_ETHERNET);
-        }
-        return false;
+        return networkCapabilities != null &&
+                networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) &&
+                networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) &&
+                networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
     }
 
     public static boolean hasLeanback(Context context) {
@@ -265,14 +245,18 @@
         } else {
             disableComponent(context, ScreenLockActivity.class);
         }
-        if (!hasTelephony(context) || !simMissing(context)) {
+        if (!hasTelephony(context)) {
             disableComponent(context, SimMissingActivity.class);
         }
-        if ((!hasWifi(context) && !hasTelephony(context)) || isEthernetConnected(context)) {
+        if ((!hasWifi(context) && !hasTelephony(context)) ||
+                isNetworkConnectedToInternetViaEthernet(context)) {
             disableComponent(context, NetworkSetupActivity.class);
         }
     }
 
+    /**
+     * Disable the Home component, which is presumably SetupWizardActivity at this time.
+     */
     public static void disableHome(Context context) {
         ComponentName homeComponent = getHomeComponent(context);
         if (homeComponent != null) {
@@ -282,7 +266,7 @@
         }
     }
 
-    public static ComponentName getHomeComponent(Context context) {
+    private static ComponentName getHomeComponent(Context context) {
         Intent intent = new Intent("android.intent.action.MAIN");
         intent.addCategory("android.intent.category.HOME");
         intent.setPackage(context.getPackageName());
@@ -293,11 +277,6 @@
         return comp;
     }
 
-    public static void disableComponentSets(Context context, int flags) {
-        setComponentListEnabledState(context, getComponentSets(context, flags),
-                COMPONENT_ENABLED_STATE_DISABLED);
-    }
-
     public static void disableComponent(Context context, Class<?> cls) {
         setComponentEnabledState(context, new ComponentName(context, cls),
                 COMPONENT_ENABLED_STATE_DISABLED);
@@ -314,51 +293,58 @@
                 enabledState, DONT_KILL_APP);
     }
 
-    public static void setComponentListEnabledState(Context context,
-            List<ComponentName> componentNames, int enabledState) {
-        for (ComponentName componentName : componentNames) {
-            setComponentEnabledState(context, componentName, enabledState);
+    private static void handleEnableMetrics(Context context) {
+        Bundle privacyData = SetupWizardApp.getSettingsBundle();
+        if (privacyData != null
+                && privacyData.containsKey(KEY_SEND_METRICS)) {
+            LineageSettings.Secure.putInt(context.getContentResolver(),
+                    LineageSettings.Secure.STATS_COLLECTION,
+                    privacyData.getBoolean(KEY_SEND_METRICS)
+                            ? 1 : 0);
         }
     }
 
-    public static List<ComponentName> getComponentSets(Context context, int flags) {
-        int i = 0;
-        List<ComponentName> componentNames = new ArrayList<>();
-        try {
-            PackageInfo allInfo = context.getPackageManager()
-                    .getPackageInfo(context.getPackageName(), flags);
-            if (allInfo != null) {
-                if (allInfo.activities != null && (flags & GET_ACTIVITIES) != 0) {
-                    for (ComponentInfo info : allInfo.activities) {
-                        componentNames.add(new ComponentName(context, info.name));
-                    }
-                }
-                if (allInfo.receivers != null && (flags & GET_RECEIVERS) != 0) {
-                    for (ComponentInfo info2 : allInfo.receivers) {
-                        componentNames.add(new ComponentName(context, info2.name));
-                    }
-                }
-                if (allInfo.services != null && (flags & GET_SERVICES) != 0) {
-                    ServiceInfo[] serviceInfoArr = allInfo.services;
-                    int length = serviceInfoArr.length;
-                    while (i < length) {
-                        componentNames.add(new ComponentName(context, serviceInfoArr[i].name));
-                        i++;
-                    }
-                }
+    private static void handleNavKeys(Context context) {
+        if (SetupWizardApp.getSettingsBundle().containsKey(DISABLE_NAV_KEYS)) {
+            writeDisableNavkeysOption(context,
+                    SetupWizardApp.getSettingsBundle().getBoolean(DISABLE_NAV_KEYS));
+        }
+    }
+
+    private static void handleRecoveryUpdate() {
+        if (SetupWizardApp.getSettingsBundle().containsKey(ENABLE_RECOVERY_UPDATE)) {
+            boolean update = SetupWizardApp.getSettingsBundle()
+                    .getBoolean(ENABLE_RECOVERY_UPDATE);
+
+            SystemProperties.set(UPDATE_RECOVERY_PROP, String.valueOf(update));
+        }
+    }
+
+    private static void handleNavigationOption() {
+        Bundle settingsBundle = SetupWizardApp.getSettingsBundle();
+        if (settingsBundle.containsKey(NAVIGATION_OPTION_KEY)) {
+            IOverlayManager overlayManager = IOverlayManager.Stub.asInterface(
+                    ServiceManager.getService(Context.OVERLAY_SERVICE));
+            String selectedNavMode = settingsBundle.getString(NAVIGATION_OPTION_KEY);
+
+            try {
+                overlayManager.setEnabledExclusiveInCategory(selectedNavMode,
+                        UserHandle.USER_CURRENT);
+            } catch (Exception ignored) {
             }
-        } catch (PackageManager.NameNotFoundException ignored) {
         }
-        return componentNames;
     }
 
-    public static final ComponentName sTvWifiSetupSettingsActivity =
-            new ComponentName("com.android.tv.settings",
-                    "com.android.tv.settings.connectivity.setup.WifiSetupActivity");
-
-    public static final ComponentName sTvAddAccessorySettingsActivity =
-            new ComponentName("com.android.tv.settings",
-                    "com.android.tv.settings.accessories.AddAccessoryActivity");
+    private static void writeDisableNavkeysOption(Context context, boolean enabled) {
+        final boolean virtualKeysEnabled = LineageSettings.System.getIntForUser(
+                context.getContentResolver(), LineageSettings.System.FORCE_SHOW_NAVBAR, 0,
+                UserHandle.USER_CURRENT) != 0;
+        if (enabled != virtualKeysEnabled) {
+            LineageSettings.System.putIntForUser(context.getContentResolver(),
+                    LineageSettings.System.FORCE_SHOW_NAVBAR, enabled ? 1 : 0,
+                    UserHandle.USER_CURRENT);
+        }
+    }
 
     public static long getBuildDateTimestamp() {
         return SystemProperties.getLong(PROP_BUILD_DATE, 0);
diff --git a/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java b/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
index 44deb57..b1d3848 100644
--- a/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
+++ b/src/org/lineageos/setupwizard/wizardmanager/WizardManager.java
@@ -23,7 +23,6 @@
 import android.util.Log;
 
 import com.google.android.setupcompat.util.ResultCodes;
-import com.google.android.setupcompat.util.WizardManagerHelper;
 
 import org.lineageos.setupwizard.util.SetupWizardUtils;
 
@@ -71,10 +70,6 @@
         finish();
     }
 
-    private void addExtras(Intent intent) {
-        intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true);
-    }
-
     private void doAction(String scriptUri, WizardAction action, Intent extras) {
         Intent intent = action.getIntent();
         intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
@@ -83,7 +78,6 @@
                     + " intent=" + intent + " extras2=" + intent.getExtras() + " action=" + action);
         }
 
-        addExtras(intent);
         if (extras != null) {
             intent.putExtras(extras);
         }
