Snap for 11698527 from ebf70c89a60c43b6059af7763cb240c53ce33cbb to mainline-appsearch-release

Change-Id: Idc0070bb54b984b28dfff6272631da5f79311f0d
diff --git a/PermissionController/res/layout-v33/view_more_issues.xml b/PermissionController/res/layout-v33/view_more_issues.xml
index e1db725..7365e11 100644
--- a/PermissionController/res/layout-v33/view_more_issues.xml
+++ b/PermissionController/res/layout-v33/view_more_issues.xml
@@ -15,31 +15,58 @@
   -->
 
 <merge xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
+       xmlns:tools="http://schemas.android.com/tools"
+       xmlns:app="http://schemas.android.com/apk/res-auto"
     tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
 
     <ImageView
         android:id="@+id/status_icon"
         android:importantForAccessibility="no"
         android:src="@drawable/safety_status_info"
-        style="@style/SafetyCenterMoreIssuesIcon"/>
+        style="@style/SafetyCenterMoreIssuesIcon"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toStartOf="@+id/title"/>
 
     <TextView
-        android:id="@+id/title"
-        style="@style/SafetyCenterMoreIssuesTitle"/>
+        android:id="@id/title"
+        style="@style/SafetyCenterMoreIssuesTitle"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toEndOf="@id/status_icon"
+        app:layout_constraintEnd_toStartOf="@+id/widget_title"/>
 
-    <LinearLayout
-        android:id="@android:id/widget_frame"
-        style="@style/SafetyCenterMoreIssuesCounter">
+    <View
+        android:id="@+id/widget_background"
+        style="@style/SafetyCenterMoreIssuesCounter"
+        app:layout_constraintTop_toTopOf="@id/widget_title"
+        app:layout_constraintBottom_toBottomOf="@id/widget_title"
+        app:layout_constraintStart_toStartOf="@id/widget_title"
+        app:layout_constraintEnd_toEndOf="parent"/>
 
-        <TextView
-            android:id="@+id/widget_title"
-            style="@style/SafetyCenterMoreIssuesWidgetTitle" />
+    <TextView
+        android:id="@id/widget_title"
+        style="@style/SafetyCenterMoreIssuesWidgetTitle"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toEndOf="@id/title"
+        app:layout_constraintEnd_toStartOf="@+id/widget_icon"/>
 
-        <ImageView
-            android:id="@+id/widget_icon"
-            android:importantForAccessibility="no"
-            style="@style/SafetyCenterMoreIssuesWidgetIcon" />
+    <ImageView
+        android:id="@id/widget_icon"
+        android:importantForAccessibility="no"
+        style="@style/SafetyCenterMoreIssuesWidgetIcon"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toEndOf="@id/widget_title"
+        app:layout_constraintEnd_toEndOf="parent"/>
 
-    </LinearLayout>
-</merge>
\ No newline at end of file
+    <androidx.constraintlayout.widget.Group
+        android:id="@+id/widget_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:visibility="visible"
+        app:constraint_referenced_ids="widget_background,widget_title,widget_icon"/>
+
+</merge>
diff --git a/PermissionController/res/values-af/strings.xml b/PermissionController/res/values-af/strings.xml
index 5d53f2d..ed0e4e3 100644
--- a/PermissionController/res/values-af/strings.xml
+++ b/PermissionController/res/values-af/strings.xml
@@ -51,7 +51,7 @@
     <string name="permission_revoked_none" msgid="9213345075484381180">"geen is gedeaktiveer nie"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Laat toe"</string>
     <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Laat altyd toe"</string>
-    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Terwyl die program gebruik word"</string>
+    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Terwyl die app gebruik word"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Verander na presiese ligging"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Hou benaderde ligging"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Net hierdie keer"</string>
@@ -202,10 +202,10 @@
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Sien al <xliff:g id="APP">%1$s</xliff:g> se toestemmings"</string>
     <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Sien alle programme met hierdie toestemming"</string>
     <string name="assistant_mic_label" msgid="1011432357152323896">"Wys Assistent-mikrofoongebruik"</string>
-    <string name="unused_apps_category_title" msgid="2988455616845243901">"Ongebruikte programinstellings"</string>
+    <string name="unused_apps_category_title" msgid="2988455616845243901">"Instellings vir ongebruikte apps"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Verwyder toestemmings as program nie gebruik word nie"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Verwyder toestemmings en maak spasie beskikbaar"</string>
-    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Onderbreek programaktiwiteit as ongebruik"</string>
+    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Onderbreek appaktiwiteit as ongebruik"</string>
     <string name="unused_apps_summary" msgid="8839466950318403115">"Verwyder toestemmings, vee tydelike lêers uit, en stop kennisgewings"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Om jou data te beskerm, sal toestemmings vir hierdie program verwyder word as die program \'n paar maande nie gebruik word nie."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Om jou data te beskerm, sal die volgende toestemmings verwyder word as dit vir \'n paar maande nie gebruik word nie: <xliff:g id="PERMS">%1$s</xliff:g>."</string>
@@ -234,8 +234,8 @@
     <string name="permission_description_summary_call_log" msgid="7321437186317577624">"Programme met hierdie toestemming kan foonoproeprekord lees en skryf"</string>
     <string name="permission_description_summary_camera" msgid="108004375101882069">"Programme met hierdie toestemming kan foto\'s neem en video\'s opneem"</string>
     <string name="permission_description_summary_contacts" msgid="2337798886460408996">"Programme met hierdie toestemming kan toegang tot jou kontakte kry"</string>
-    <string name="permission_description_summary_location" msgid="2817531799933480694">"Programme met hierdie toestemming kan toegang tot jou toestel se ligging kry"</string>
-    <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Programme met hierdie toestemming kan toestelle in die omtrek soek, aan hulle koppel en hul relatiewe posisie bepaal"</string>
+    <string name="permission_description_summary_location" msgid="2817531799933480694">"Apps met hierdie toestemming kan toegang tot jou toestel se ligging kry"</string>
+    <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Apps met hierdie toestemming kan toestelle in die omtrek soek, aan hulle koppel en hul relatiewe posisie bepaal"</string>
     <string name="permission_description_summary_microphone" msgid="630834800308329907">"Programme met hierdie toestemming kan oudio opneem"</string>
     <string name="permission_description_summary_phone" msgid="4515277217435233619">"Programme met hierdie toestemming kan foonoproepe maak en bestuur"</string>
     <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Programme met hierdie toestemming kan toegang kry tot sensordata oor jou lewenstekens"</string>
@@ -350,10 +350,10 @@
     <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> kan jou skerm, handelinge en invoere bekyk, handelinge uitvoer, en die skerm beheer."</string>
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Hierdie programme kan jou skerm, handelinge en invoere bekyk, handelinge uitvoer, en die skerm beheer."</string>
     <string name="role_assistant_label" msgid="4727586018198208128">"Verstekdigitaleassistentprogram"</string>
-    <string name="role_assistant_short_label" msgid="3369003713187703399">"Digitaleassistentprogram"</string>
+    <string name="role_assistant_short_label" msgid="3369003713187703399">"Digitaleassistentapp"</string>
     <string name="role_assistant_description" msgid="6622458130459922952">"Bystandprogramme kan jou help op grond van inligting vanaf die skerm waarna jy kyk. Sommige programme steun sowel lanseerder- as steminvoerdienste om vir jou geïntegreerde bystand te gee."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"Verstekblaaier"</string>
-    <string name="role_browser_short_label" msgid="6745009127123292296">"Blaaierprogram"</string>
+    <string name="role_browser_short_label" msgid="6745009127123292296">"Blaaierapp"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"Programme wat jou toegang tot die internet gee en na vertoonskakels waarop jy tik"</string>
     <string name="role_browser_request_title" msgid="2895200507835937192">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekblaaierprogram?"</string>
     <string name="role_browser_request_description" msgid="5888803407905985941">"Geen toestemmings is nodig nie"</string>
@@ -364,7 +364,7 @@
     <string name="role_dialer_request_description" msgid="6288839625724909320">"Hierdie program sal toegang tot jou kamera, kontakte, mikrofoon, foon en SMS\'e kry"</string>
     <string name="role_dialer_search_keywords" msgid="3324448983559188087">"beller"</string>
     <string name="role_sms_label" msgid="8456999857547686640">"Verstek-SMS-program"</string>
-    <string name="role_sms_short_label" msgid="4371444488034692243">"SMS-program"</string>
+    <string name="role_sms_short_label" msgid="4371444488034692243">"SMS-app"</string>
     <string name="role_sms_description" msgid="3424020199148153513">"Programme wat jou toelaat om jou foonnommer te gebruik om kort SMS\'e, foto\'s, video\'s en meer te stuur en te ontvang"</string>
     <string name="role_sms_request_title" msgid="7953552109601185602">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstek-SMS-program?"</string>
     <string name="role_sms_request_description" msgid="2691004766132144886">"Hierdie program sal toegang tot jou kamera, kontakte, lêers en media, mikrofoon, foon en SMS\'e kry"</string>
@@ -376,7 +376,7 @@
     <string name="role_emergency_request_description" msgid="131645948770262850">"Geen toestemmings is nodig nie"</string>
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
     <string name="role_home_label" msgid="3871847846649769412">"Verstekhuisprogram"</string>
-    <string name="role_home_short_label" msgid="8544733747952272337">"Huisprogram"</string>
+    <string name="role_home_short_label" msgid="8544733747952272337">"Home-app"</string>
     <string name="role_home_description" msgid="7997371519626556675">"Programme, wat dikwels lanseerders genoem word, wat die Tuisskerms op jou Android-toestel vervang en vir jou toegang gee tot die inhoud en kenmerke van jou toestel"</string>
     <string name="role_home_request_title" msgid="738136983453341081">"Stel <xliff:g id="APP_NAME">%1$s</xliff:g> as jou verstekhuisprogram?"</string>
     <string name="role_home_request_description" msgid="2658833966716057673">"Geen toestemmings is nodig nie"</string>
@@ -420,10 +420,10 @@
     <string name="ongoing_usage_dialog_title_mic_camera" msgid="9079747867228772797">"Onlangse gebruik van mikrofoon en kamera"</string>
     <string name="ongoing_usage_dialog_separator" msgid="1715181526581520068">", "</string>
     <string name="ongoing_usage_dialog_last_separator" msgid="4170995004748832163">" en "</string>
-    <string name="default_app_search_keyword" msgid="8330125736889689743">"verstekprogramme"</string>
+    <string name="default_app_search_keyword" msgid="8330125736889689743">"verstekapps"</string>
     <string name="permgroup_list_microphone_and_camera" msgid="962768198001487969">"Mikrofoon en kamera"</string>
     <string name="settings_button" msgid="4414988414732479636">"Instellings"</string>
-    <string name="default_apps" msgid="5119201969348748639">"Verstekprogramme"</string>
+    <string name="default_apps" msgid="5119201969348748639">"Verstekapps"</string>
     <string name="no_default_apps" msgid="2593466527182950231">"Geen verstekprogramme nie"</string>
     <string name="default_apps_more" msgid="4078194675848858093">"Meer verstekke"</string>
     <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"Oopmaak van skakels"</string>
@@ -519,7 +519,7 @@
     <string name="blocked_camera_title" msgid="1128510551791284384">"Toestelkamera is geblokkeer"</string>
     <string name="blocked_microphone_title" msgid="1631517143648232585">"Toestelmikrofoon is geblokkeer"</string>
     <string name="blocked_location_title" msgid="2005608279812892383">"Toestelligging is af"</string>
-    <string name="blocked_sensor_summary" msgid="4443707628305027375">"Vir programme en dienste"</string>
+    <string name="blocked_sensor_summary" msgid="4443707628305027375">"Vir apps en dienste"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"Mikrofoondata kan steeds gedeel word wanneer jy \'n noodnommer bel."</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Verander"</string>
     <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Sekuriteit en privaatheid"</string>
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"Mikrofoontoegang"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Vir apps en dienste"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Vir apps en dienste. As hierdie instelling af is, kan mikrofoondata steeds gedeel word wanneer jy ’n noodnommer bel."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"Sien programme en dienste met toegang tot ligging"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"Sien apps en dienste met toegang tot ligging"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Wys knipbordtoegang"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Wys ’n boodskap wanneer apps toegang het tot teks, prente of ander inhoud wat jy gekopieer het"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Wys wagwoorde"</string>
diff --git a/PermissionController/res/values-am/strings.xml b/PermissionController/res/values-am/strings.xml
index a92be78..b09cb9f 100644
--- a/PermissionController/res/values-am/strings.xml
+++ b/PermissionController/res/values-am/strings.xml
@@ -485,9 +485,9 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ለ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; የማይክራፎን መዳረሻ ይለወጥ?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ኦዲዮ መቅዳት ይፈልጋል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; የእርስዎን አካላዊ እንቅስቃሴ እንዲደርስበት ይፈቀድለት?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ስዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ሥዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"መተግበሪያው ስዕሎችን ማንሳት እና ቪዲዮውን መቅዳት የሚችለው መተግበሪያውን እርስዎ ሲጠቀሙበት ብቻ ነው"</string>
-    <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ስዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string>
+    <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ሥዕሎችን እንዲያነሳ እና ቪዲዮን እንዲቀርጽ ይፈቀድለት?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ሥዕሎችን ማንሳት እና ቪዲዮ መቅዳት ሊፈልግ ይችላል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"ለ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; የካሜራ መዳረሻ ይለወጥ?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ይህ መተግበሪያ መተግበሪያውን በማይጠቀሙበት ጊዜም እንኳ ሁልጊዜ ሥዕሎችን ማንሳት እና ቪዲዮ መቅዳት ይፈልጋል። "<annotation id="link">"በቅንብሮች ውስጥ ይፍቀዱ።"</annotation></string>
diff --git a/PermissionController/res/values-ar-v34/strings.xml b/PermissionController/res/values-ar-v34/strings.xml
index 5a0d25e..d8d01e5 100644
--- a/PermissionController/res/values-ar-v34/strings.xml
+++ b/PermissionController/res/values-ar-v34/strings.xml
@@ -22,6 +22,6 @@
     <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string>
     <string name="health_connect_summary" msgid="815473513776882296">"إدارة إمكانية وصول التطبيقات إلى البيانات الصحية"</string>
     <string name="location_settings" msgid="8863940440881290182">"الوصول إلى الموقع الجغرافي"</string>
-    <string name="mic_toggle_description" msgid="1504101620086616040">"للتطبيقات والخدمات: إذا كان هذا الخيار غير مفعّل، ستستمر إمكانية مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string>
+    <string name="mic_toggle_description" msgid="1504101620086616040">"للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد تتم مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ"</string>
     <string name="location_settings_subtitle" msgid="6846532794702613851">"للتطبيقات والخدمات"</string>
 </resources>
diff --git a/PermissionController/res/values-ar/strings.xml b/PermissionController/res/values-ar/strings.xml
index a47892e..f998f40 100644
--- a/PermissionController/res/values-ar/strings.xml
+++ b/PermissionController/res/values-ar/strings.xml
@@ -234,7 +234,7 @@
     <string name="permission_description_summary_call_log" msgid="7321437186317577624">"يمكن للتطبيقات التي تحصل على هذا الإذن قراءة بيانات سجلّ مكالمات الهاتف وتعديلها."</string>
     <string name="permission_description_summary_camera" msgid="108004375101882069">"يمكن للتطبيقات التي تملك هذا الإذن التقاط صور وتسجيل فيديوهات."</string>
     <string name="permission_description_summary_contacts" msgid="2337798886460408996">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى جهات الاتصال الخاصة بك."</string>
-    <string name="permission_description_summary_location" msgid="2817531799933480694">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى الموقع الجغرافي لهذا الجهاز."</string>
+    <string name="permission_description_summary_location" msgid="2817531799933480694">"يمكن للتطبيقات التي لديها هذا الإذن الوصول إلى الموقع الجغرافي لهذا الجهاز"</string>
     <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"تتمكن التطبيقات التي لديها هذا الإذن من العثور على الأجهزة المجاورة والربط بها وتحديد موضعها النسبي."</string>
     <string name="permission_description_summary_microphone" msgid="630834800308329907">"يمكن للتطبيقات التي لديها هذا الإذن تسجيل الصوت."</string>
     <string name="permission_description_summary_phone" msgid="4515277217435233619">"يمكن للتطبيقات التي لديها هذا الإذن إجراء مكالمات هاتفية وإدارتها."</string>
@@ -317,7 +317,7 @@
     <string name="permission_subtitle_media_only" msgid="8917869683764720717">"الوسائط"</string>
     <string name="permission_subtitle_all_files" msgid="4982613338298067862">"كل الملفات"</string>
     <string name="permission_subtitle_background" msgid="8916750995309083180">"مسموح بالوصول إليه طوال الوقت"</string>
-    <string name="app_perms_24h_access" msgid="99069906850627181">"تم استخدامه آخر مرة في <xliff:g id="TIME_DATE">%1$s</xliff:g>."</string>
+    <string name="app_perms_24h_access" msgid="99069906850627181">"تم استخدامه آخر مرة في <xliff:g id="TIME_DATE">%1$s</xliff:g>"</string>
     <string name="app_perms_24h_access_yest" msgid="5411926024794555022">"تم استخدامه آخر مرة أمس في <xliff:g id="TIME_DATE">%1$s</xliff:g>."</string>
     <string name="app_perms_7d_access" msgid="4945055548894683751">"تم الوصول آخر مرة بتاريخ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> في <xliff:g id="TIME_DATE_1">%2$s</xliff:g>."</string>
     <string name="app_perms_content_provider_24h" msgid="1055526027667508972">"تم الوصول للأذونات في آخر 24 ساعة."</string>
@@ -337,7 +337,7 @@
     <string name="app_perms_7d_access_all_files" msgid="8246193786397635824">"تم الوصول آخر مرة بتاريخ <xliff:g id="TIME_DATE_0">%1$s</xliff:g> في <xliff:g id="TIME_DATE_1">%2$s</xliff:g> • جميع الملفات"</string>
     <string name="app_perms_content_provider_24h_all_files" msgid="573104317727770850">"تم الوصول في آخر 24 ساعة • كل الملفات"</string>
     <string name="app_perms_content_provider_7d_all_files" msgid="7962416229708835558">"تم الوصول في آخر 7 أيام • جميع الملفات"</string>
-    <string name="no_permissions_allowed" msgid="6081976856354669209">"لم يتم منح أي أذونات."</string>
+    <string name="no_permissions_allowed" msgid="6081976856354669209">"لم يتم منح أي أذونات"</string>
     <string name="no_permissions_denied" msgid="8159923922804043282">"لم يتم رفض أي أذونات."</string>
     <string name="no_apps_allowed" msgid="7718822655254468631">"لم يتم السماح لأي تطبيقات."</string>
     <string name="no_apps_allowed_full" msgid="8011716991498934104">"ما من تطبيقات تم منحها إذن الوصول إلى جميع الملفات."</string>
@@ -351,7 +351,7 @@
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"يمكن لهذه التطبيقات عرض شاشتك وإجراءاتك ومدخلاتك وتنفيذ الإجراءات والتحكم في العرض."</string>
     <string name="role_assistant_label" msgid="4727586018198208128">"تطبيق المساعد الرقمي التلقائي"</string>
     <string name="role_assistant_short_label" msgid="3369003713187703399">"تطبيق المساعد الرقمي"</string>
-    <string name="role_assistant_description" msgid="6622458130459922952">"بإمكان التطبيقات المساعِدة مساعدتك استنادًا إلى المعلومات على الشاشة التي تشاهدها. وتتوافق بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string>
+    <string name="role_assistant_description" msgid="6622458130459922952">"بإمكان التطبيقات المساعِدة مساعدك استنادًا إلى المعلومات التي تظهر على شاشتك. وتعمل بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"تطبيق المتصفّح التلقائي"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"تطبيق المتصفح"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"التطبيقات التي تتيح إمكانية الوصول إلى الإنترنت وتعرض روابط تنقر عليها"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"‏هل تريد تغيير إذن الوصول إلى الميكروفون بالنسبة إلى &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;؟"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"يحتاج هذا التطبيق إلى تسجيل الصوت طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"‏هل تريد السماح للتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالوصول إلى بيانات نشاطك البدني؟"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"‏هل تريد السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالتقاط صور وتسجيل فيديوهات؟"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"‏هل يمكنك السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالتقاط صور وتسجيل فيديوهات؟"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"لن يتمكن هذا التطبيق من التقاط صور وتسجيل فيديوهات إلا عندما يكون قيد الاستخدام"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"‏هل تريد السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالتقاط صور وتسجيل فيديوهات؟"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"قد يحتاج هذا التطبيق إلى التقاط صور وتسجيل فيديوهات طوال الوقت، حتى عند عدم استخدامك للتطبيق. يمكنك "<annotation id="link">"السماح بذلك في الإعدادات"</annotation></string>
@@ -518,7 +518,7 @@
     <string name="exempt_info_label" msgid="6286190981253476699">"‏تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> محمي بواسطة Android. لأن بياناتك تتم معالجتها على هذا الجهاز، لا يظهر استخدام إذن هذا التطبيق في لوحة بيانات الخصوصية."</string>
     <string name="blocked_camera_title" msgid="1128510551791284384">"كاميرا الجهاز محظورة"</string>
     <string name="blocked_microphone_title" msgid="1631517143648232585">"ميكروفون الجهاز محظور"</string>
-    <string name="blocked_location_title" msgid="2005608279812892383">"ميزة الموقع الجغرافي للجهاز غير مفعّلة."</string>
+    <string name="blocked_location_title" msgid="2005608279812892383">"ميزة الموقع الجغرافي للجهاز غير مفعّلة"</string>
     <string name="blocked_sensor_summary" msgid="4443707628305027375">"للتطبيقات والخدمات"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"لا يزال يمكن مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"تغيير"</string>
@@ -582,7 +582,7 @@
     <string name="camera_toggle_title" msgid="1251201397431837666">"الوصول إلى الكاميرا"</string>
     <string name="mic_toggle_title" msgid="2649991093496110162">"الوصول إلى الميكروفون"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"للتطبيقات والخدمات"</string>
-    <string name="mic_toggle_description" msgid="9163104307990677157">"بالنسبة للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد يظل بالإمكان مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ."</string>
+    <string name="mic_toggle_description" msgid="9163104307990677157">"للتطبيقات والخدمات. إذا كان هذا الخيار غير مفعّل، قد تتم مشاركة بيانات الميكروفون عند الاتصال برقم طوارئ"</string>
     <string name="location_settings_subtitle" msgid="2328360561197430695">"عرض التطبيقات والخدمات التي يمكنها الوصول إلى الموقع الجغرافي"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"عرض إشعار عند الوصول إلى الحافظة"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"عرض رسالة عندما يصل التطبيق إلى نص أو صور أو محتوى آخر تم نسخه"</string>
diff --git a/PermissionController/res/values-b+sr+Latn/strings.xml b/PermissionController/res/values-b+sr+Latn/strings.xml
index 296038f..bd3698c 100644
--- a/PermissionController/res/values-b+sr+Latn/strings.xml
+++ b/PermissionController/res/values-b+sr+Latn/strings.xml
@@ -438,7 +438,7 @@
     <string name="no_special_app_access" msgid="6950277571805106247">"Nema posebnog pristupa apl."</string>
     <string name="special_app_access_no_apps" msgid="4102911722787886970">"Nema aplikacija"</string>
     <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Ne podržava poslovni profil"</string>
-    <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Napomena: Ako restartujete uređaj i podesili ste zaključavanje ekrana, ova aplikacija ne može da se pokrene dok ne otključate uređaj."</string>
+    <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Napomena: Ako restartujete uređaj i podesili ste otključavanje ekrana, ova aplikacija ne može da se pokrene dok ne otključate uređaj."</string>
     <string name="assistant_confirmation_message" msgid="7476540402884416212">"Pomoćnik će moći da čita informacije o aplikacijama koje se koriste u sistemu, uključujući informacije vidljive na ekranu ili kojima može da se pristupa u okviru aplikacija."</string>
     <string name="incident_report_channel_name" msgid="3144954065936288440">"Deljenje podataka o otklanjanju grešaka"</string>
     <string name="incident_report_notification_title" msgid="4635984625656519773">"Delite detaljne podatke za otklanjanje grešaka?"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Želite da promenite pristup mikrofonu za aplikaciju &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ova aplikacija želi da snima zvuk sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Želite li da dozvolite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristupa fizičkim aktivnostima?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Želite da dozvolite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; snima slike i video snimke?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Želite da dozvolite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; snima slike i video?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Aplikacija će moći da snima slike i video snimke samo dok koristite aplikaciju"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Želite da dozvolite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; snima slike i video snimke?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ova aplikacija možda želi da snima slike i video snimke sve vreme, čak i kada ne koristite aplikaciju. "<annotation id="link">"Dozvolite u podešavanjima."</annotation></string>
diff --git a/PermissionController/res/values-bs/strings.xml b/PermissionController/res/values-bs/strings.xml
index 4c0fb94..3395f84 100644
--- a/PermissionController/res/values-bs/strings.xml
+++ b/PermissionController/res/values-bs/strings.xml
@@ -376,7 +376,7 @@
     <string name="role_emergency_request_description" msgid="131645948770262850">"Nije potrebno odobrenje"</string>
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"hitni slučaj"</string>
     <string name="role_home_label" msgid="3871847846649769412">"Zadana apl. na početnom ekranu"</string>
-    <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija na početnom ekranu"</string>
+    <string name="role_home_short_label" msgid="8544733747952272337">"Aplikacija za početni ekran"</string>
     <string name="role_home_description" msgid="7997371519626556675">"Aplikacije, poznate i kao pokretači, koje zamjenjuju početne ekrane na Android uređaju te vam daju pristup sadržaju i funkcijama uređaja"</string>
     <string name="role_home_request_title" msgid="738136983453341081">"Postaviti aplikaciju <xliff:g id="APP_NAME">%1$s</xliff:g> kao zadanu aplikaciju na početnom ekranu?"</string>
     <string name="role_home_request_description" msgid="2658833966716057673">"Nije potrebno odobrenje"</string>
diff --git a/PermissionController/res/values-ca/strings.xml b/PermissionController/res/values-ca/strings.xml
index 09f151a..293ff77 100644
--- a/PermissionController/res/values-ca/strings.xml
+++ b/PermissionController/res/values-ca/strings.xml
@@ -292,7 +292,7 @@
     <string name="notification_listener_remove_access_success_label" msgid="2477611529875633107">"S\'ha suprimit l\'accés"</string>
     <string name="accessibility_access_reminder_notification_title" msgid="2971317234668807566">"Revisa l\'aplicació amb accés complet al dispositiu"</string>
     <string name="accessibility_access_reminder_notification_content" msgid="7389454158175306720">"<xliff:g id="APP_NAME">%s</xliff:g> pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista."</string>
-    <string name="accessibility_access_warning_card_content" msgid="4370327190293217358">"Aquesta aplicació pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista, però comprova l\'aplicació i assegura\'t que sigui de confiança."</string>
+    <string name="accessibility_access_warning_card_content" msgid="4370327190293217358">"Aquesta aplicació pot veure la pantalla i dur a terme accions al dispositiu. Les aplicacions d\'accessibilitat necessiten aquest tipus d\'accés perquè funcionin de la manera prevista, però comprova l\'aplicació i assegura\'t que hi confies."</string>
     <string name="accessibility_remove_access_button_label" msgid="44145801526711640">"Suprimeix l\'accés"</string>
     <string name="accessibility_show_all_apps_button_label" msgid="960067249326392280">"Veure les aplicacions amb accés complet"</string>
     <string name="accessibility_remove_access_success_label" msgid="4380995302917014670">"S\'ha suprimit l\'accés"</string>
@@ -399,7 +399,7 @@
     <string name="role_watch_description" msgid="267003778693177779">"<xliff:g id="APP_NAME">%1$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i accedir al telèfon, SMS, contactes i calendari."</string>
     <string name="role_app_streaming_description" msgid="7341638576226183992">"<xliff:g id="APP_NAME">%1$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i reproduir en continu les teves aplicacions al dispositiu connectat."</string>
     <string name="role_companion_device_computer_description" msgid="416099879217066377">"Aquest servei comparteix les fotos, el contingut multimèdia i les notificacions del telèfon amb altres dispositius."</string>
-    <string name="role_notes_label" msgid="7451627001058089536">"App de notes predeterminada"</string>
+    <string name="role_notes_label" msgid="7451627001058089536">"Aplicació de notes predeterminada"</string>
     <string name="role_notes_short_label" msgid="8796604147546125285">"Aplicació de notes"</string>
     <string name="role_notes_description" msgid="8496852798616883551">"Aplicacions que et permeten prendre notes al dispositiu"</string>
     <string name="role_notes_search_keywords" msgid="7710756695666744631">"notes"</string>
@@ -458,7 +458,7 @@
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Mostra una icona a la barra d\'estat quan s\'utilitzi el micròfon per activar l\'assistent de veu"</string>
     <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a les fotos i al contingut multimèdia del dispositiu?"</string>
     <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi als contactes?"</string>
-    <string name="permgrouprequest_location" msgid="6990232580121067883">"Permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a la ubicació del dispositiu?"</string>
+    <string name="permgrouprequest_location" msgid="6990232580121067883">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a la ubicació del dispositiu?"</string>
     <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"L\'aplicació només tindrà accés a la ubicació quan l\'estiguis utilitzant"</string>
     <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a la ubicació del dispositiu?"</string>
     <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Aquesta aplicació vol tenir accés a la teva ubicació sempre, fins i tot quan no l\'estiguis utilitzant. "<annotation id="link">"Pots permetre-ho a Configuració"</annotation>"."</string>
diff --git a/PermissionController/res/values-cs/strings.xml b/PermissionController/res/values-cs/strings.xml
index e42c996..2f6ae76 100644
--- a/PermissionController/res/values-cs/strings.xml
+++ b/PermissionController/res/values-cs/strings.xml
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"Přístup k mikrofonu"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Aplikace a služby"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Týká se aplikací a služeb. Pokud je toto nastavení vypnuté a zavoláte na číslo tísňového volání, data z mikrofonu se mohou stále sdílet."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"Podívejte se, které aplikace a služby mají přístup k poloze"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"Seznam aplikací a služeb, které mají přístup k poloze"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Zobrazovat použití schránky"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Zobrazovat zprávu, když aplikace použijí text, obrázky nebo jiný obsah, který jste zkopírovali"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Zobrazovat hesla"</string>
diff --git a/PermissionController/res/values-da/strings.xml b/PermissionController/res/values-da/strings.xml
index a01f54f..078bea7 100644
--- a/PermissionController/res/values-da/strings.xml
+++ b/PermissionController/res/values-da/strings.xml
@@ -238,7 +238,7 @@
     <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Apps med denne tilladelse kan finde, oprette forbindelse til og fastslå den relative placering af enheder i nærheden"</string>
     <string name="permission_description_summary_microphone" msgid="630834800308329907">"Apps med denne tilladelse kan optage lyd"</string>
     <string name="permission_description_summary_phone" msgid="4515277217435233619">"Apps med denne tilladelse kan foretage og administrere telefonopkald"</string>
-    <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Apps med denne tilladelse kan få adgang til sensordata om dine livstegn"</string>
+    <string name="permission_description_summary_sensors" msgid="1836045815643119949">"Apps med denne tilladelse kan få adgang til sensordata om dine vitale værdier"</string>
     <string name="permission_description_summary_sms" msgid="725999468547768517">"Apps med denne tilladelse kan sende og se sms-beskeder"</string>
     <string name="permission_description_summary_storage" msgid="6575759089065303346">"Apps med denne tilladelse har adgang til billeder, medier og filer på din enhed"</string>
     <string name="permission_description_summary_read_media_aural" msgid="3354728149930482199">"Apps med denne tilladelse kan tilgå musik og andre lydfiler på denne enhed"</string>
@@ -352,10 +352,10 @@
     <string name="role_assistant_label" msgid="4727586018198208128">"Standardapp for digital assistent"</string>
     <string name="role_assistant_short_label" msgid="3369003713187703399">"App for digital assistent"</string>
     <string name="role_assistant_description" msgid="6622458130459922952">"Assistanceapps kan hjælpe dig på baggrund af oplysningerne på den aktuelle skærm. Nogle apps understøtter både startertjenester og tjenester til indtaling for at give dig integreret assistance."</string>
-    <string name="role_browser_label" msgid="2877796144554070207">"Standardbrowserapp"</string>
+    <string name="role_browser_label" msgid="2877796144554070207">"Standardapp til browsing"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"Browserapp"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"Apps, der giver dig adgang til internettet og viser links, som du trykker på"</string>
-    <string name="role_browser_request_title" msgid="2895200507835937192">"Vil du angive <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardbrowserapp?"</string>
+    <string name="role_browser_request_title" msgid="2895200507835937192">"Vil du angive <xliff:g id="APP_NAME">%1$s</xliff:g> som din standardapp til browsing?"</string>
     <string name="role_browser_request_description" msgid="5888803407905985941">"Der kræves ingen tilladelser"</string>
     <string name="role_dialer_label" msgid="1100224146343237968">"Standardapp til opkald"</string>
     <string name="role_dialer_short_label" msgid="7186888549465352489">"Opkaldsapp"</string>
diff --git a/PermissionController/res/values-de-v34/strings.xml b/PermissionController/res/values-de-v34/strings.xml
index ed699cc..2606bff 100644
--- a/PermissionController/res/values-de-v34/strings.xml
+++ b/PermissionController/res/values-de-v34/strings.xml
@@ -22,6 +22,6 @@
     <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string>
     <string name="health_connect_summary" msgid="815473513776882296">"App-Zugriff auf Gesundheitsdaten verwalten"</string>
     <string name="location_settings" msgid="8863940440881290182">"Standortzugriff"</string>
-    <string name="mic_toggle_description" msgid="1504101620086616040">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten trotz Deaktivierung dieser Berechtigung weitergegeben werden."</string>
+    <string name="mic_toggle_description" msgid="1504101620086616040">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten weitergegeben werden, auch wenn diese Berechtigung deaktiviert ist."</string>
     <string name="location_settings_subtitle" msgid="6846532794702613851">"Für Apps und Dienste"</string>
 </resources>
diff --git a/PermissionController/res/values-de/strings.xml b/PermissionController/res/values-de/strings.xml
index 297ff3e..b7c6263 100644
--- a/PermissionController/res/values-de/strings.xml
+++ b/PermissionController/res/values-de/strings.xml
@@ -351,7 +351,7 @@
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"Diese Apps können deinen Bildschirm, deine Aktionen und deine Eingaben sehen, Aktionen ausführen und den Bildschirm steuern."</string>
     <string name="role_assistant_label" msgid="4727586018198208128">"Standard-App digit. Assistent"</string>
     <string name="role_assistant_short_label" msgid="3369003713187703399">"App für digitalen Assistenten"</string>
-    <string name="role_assistant_description" msgid="6622458130459922952">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Damit sie dir eine umfassende Hilfe sind, unterstützen einige Apps sowohl Launcher- als auch Spracheingabedienste."</string>
+    <string name="role_assistant_description" msgid="6622458130459922952">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Einige Apps unterstützen sowohl Launcher- als auch Spracheingabedienste."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"Standard-Browser-App"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"Browser-App"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"Apps, mit denen du auf das Internet zugreifen kannst und die die entsprechende Seite öffnen, wenn du auf einen Link tippst"</string>
@@ -582,7 +582,7 @@
     <string name="camera_toggle_title" msgid="1251201397431837666">"Kamerazugriff"</string>
     <string name="mic_toggle_title" msgid="2649991093496110162">"Mikrofonzugriff"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Für Apps und Dienste"</string>
-    <string name="mic_toggle_description" msgid="9163104307990677157">"Für Apps und Dienste. Wenn diese Einstellung deaktiviert ist, können Mikrofondaten dennoch freigegeben werden, wenn du den Notruf wählst."</string>
+    <string name="mic_toggle_description" msgid="9163104307990677157">"Für Apps und Dienste. Wenn du eine Notrufnummer wählst, können Mikrofondaten weitergegeben werden, auch wenn diese Berechtigung deaktiviert ist."</string>
     <string name="location_settings_subtitle" msgid="2328360561197430695">"Apps und Dienste sehen, die Zugriff auf diesen Standort haben"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Zugriff auf Zwischenablage anzeigen"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Eine Meldung wird angezeigt, wenn Apps auf Text, Bilder oder andere Inhalte zugreifen, die du kopiert hast"</string>
diff --git a/PermissionController/res/values-el-car/strings.xml b/PermissionController/res/values-el-car/strings.xml
index 605dfdf..762f42d 100644
--- a/PermissionController/res/values-el-car/strings.xml
+++ b/PermissionController/res/values-el-car/strings.xml
@@ -17,5 +17,5 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="unused_apps_page_summary" msgid="7505839764289846511">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου"</string>
+    <string name="unused_apps_page_summary" msgid="7505839764289846511">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου"</string>
 </resources>
diff --git a/PermissionController/res/values-el/strings.xml b/PermissionController/res/values-el/strings.xml
index e508f4e..208a73f 100644
--- a/PermissionController/res/values-el/strings.xml
+++ b/PermissionController/res/values-el/strings.xml
@@ -54,7 +54,7 @@
     <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Κατά τη χρήση της εφαρμογής"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Αλλαγή σε ακριβή τοποθεσία"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Διατήρηση κατά προσέγγιση τοποθεσίας"</string>
-    <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Μόνο αυτήν τη φορά"</string>
+    <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Μόνο αυτή τη φορά"</string>
     <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Να επιτρέπεται πάντα"</string>
     <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"Να επιτρέπεται η διαχείριση όλων των αρχείων"</string>
     <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"Να επιτρέπεται η πρόσβαση σε αρχεία μέσων"</string>
@@ -204,7 +204,7 @@
     <string name="assistant_mic_label" msgid="1011432357152323896">"Εμφάνιση χρήσης μικροφώνου βοηθού"</string>
     <string name="unused_apps_category_title" msgid="2988455616845243901">"Ρυθμίσεις μη χρησιμοποιούμενων εφαρμογών"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Καταργήστε τις άδειες, εάν η εφαρμογή δεν χρησιμοποιείται."</string>
-    <string name="unused_apps_label" msgid="2595428768404901064">"Κατάργηση αδειών και απελευθέρωση χώρου"</string>
+    <string name="unused_apps_label" msgid="2595428768404901064">"Κατάργηση αδειών και αποδέσμευση χώρου"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"Παύση δραστηριότητας αδρανούς εφαρμογής"</string>
     <string name="unused_apps_summary" msgid="8839466950318403115">"Κατάργηση αδειών, διαγραφή προσωρινών αρχείων και διακοπή ειδοποιήσεων"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Για την προστασία των δεδομένων σας, οι άδειες για αυτή την εφαρμογή θα καταργηθούν εάν η εφαρμογή δεν χρησιμοποιηθεί για μερικούς μήνες."</string>
@@ -221,8 +221,8 @@
     <string name="auto_revoked_app_summary_two" msgid="1910545340763709389">"Καταργήθηκαν οι άδειες <xliff:g id="PERMISSION_NAME_0">%1$s</xliff:g> και <xliff:g id="PERMISSION_NAME_1">%2$s</xliff:g>"</string>
     <string name="auto_revoked_app_summary_many" msgid="5930976230827378798">"Καταργήθηκε η άδεια <xliff:g id="PERMISSION_NAME">%1$s</xliff:g> και <xliff:g id="NUMBER">%2$s</xliff:g> ακόμη άδειες"</string>
     <string name="unused_apps_page_title" msgid="6986983535677572559">"Εφαρμογές που δεν χρησιμοποιούνται"</string>
-    <string name="unused_apps_page_summary" msgid="1867593913217272155">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για λίγους μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Οι ειδοποιήσεις διακόπτονται για την εξοικονόμηση μπαταρίας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες και τις ειδοποιήσεις, ανοίξτε την εφαρμογή."</string>
-    <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για έναν μήνα:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την απελευθέρωση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες, ανοίξτε την εφαρμογή."</string>
+    <string name="unused_apps_page_summary" msgid="1867593913217272155">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για λίγους μήνες:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Οι ειδοποιήσεις διακόπτονται για την εξοικονόμηση μπαταρίας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες και τις ειδοποιήσεις, ανοίξτε την εφαρμογή."</string>
+    <string name="unused_apps_page_tv_summary" msgid="2624911608663778308">"Εάν μια εφαρμογή δεν χρησιμοποιηθεί για έναν μήνα:\n\n• Οι άδειες καταργούνται για την προστασία των δεδομένων σας\n• Τα προσωρινά αρχεία καταργούνται για την αποδέσμευση χώρου\n\nΓια να επιτρέψετε ξανά τις άδειες, ανοίξτε την εφαρμογή."</string>
     <string name="last_opened_category_title" msgid="8796557894614236128">"{count,plural, =1{Τελευταίο άνοιγμα πάνω από # μήνα πριν}other{Τελευταίο άνοιγμα πάνω από # μήνες πριν}}"</string>
     <string name="last_opened_summary" msgid="5248984030024968808">"Τελευταίο άνοιγμα εφαρμογής <xliff:g id="DATE">%s</xliff:g>"</string>
     <string name="last_opened_summary_short" msgid="1646067226191176825">"Τελευταίο άνοιγμα <xliff:g id="DATE">%s</xliff:g>"</string>
diff --git a/PermissionController/res/values-en-rAU/strings.xml b/PermissionController/res/values-en-rAU/strings.xml
index 5182b84..c868e47 100644
--- a/PermissionController/res/values-en-rAU/strings.xml
+++ b/PermissionController/res/values-en-rAU/strings.xml
@@ -533,7 +533,7 @@
     <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string>
     <string name="security_settings" msgid="3808106921175271317">"Security settings"</string>
     <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string>
-    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security &amp; privacy"</string>
+    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string>
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string>
diff --git a/PermissionController/res/values-en-rGB/strings.xml b/PermissionController/res/values-en-rGB/strings.xml
index 80400f7..8e70eb3 100644
--- a/PermissionController/res/values-en-rGB/strings.xml
+++ b/PermissionController/res/values-en-rGB/strings.xml
@@ -533,7 +533,7 @@
     <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string>
     <string name="security_settings" msgid="3808106921175271317">"Security settings"</string>
     <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string>
-    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security &amp; privacy"</string>
+    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string>
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string>
diff --git a/PermissionController/res/values-en-rIN/strings.xml b/PermissionController/res/values-en-rIN/strings.xml
index 80400f7..8e70eb3 100644
--- a/PermissionController/res/values-en-rIN/strings.xml
+++ b/PermissionController/res/values-en-rIN/strings.xml
@@ -533,7 +533,7 @@
     <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Security and privacy status. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string>
     <string name="security_settings" msgid="3808106921175271317">"Security settings"</string>
     <string name="sensor_permissions_qs" msgid="1022267900031317472">"Permissions"</string>
-    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security &amp; privacy"</string>
+    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Security and privacy"</string>
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Check status"</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Your privacy controls"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"More settings"</string>
diff --git a/PermissionController/res/values-es-rUS-v34/strings.xml b/PermissionController/res/values-es-rUS-v34/strings.xml
index e180c0b..06ef5de 100644
--- a/PermissionController/res/values-es-rUS-v34/strings.xml
+++ b/PermissionController/res/values-es-rUS-v34/strings.xml
@@ -22,6 +22,6 @@
     <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string>
     <string name="health_connect_summary" msgid="815473513776882296">"Administra el acceso de las apps a Health Connect"</string>
     <string name="location_settings" msgid="8863940440881290182">"Acceso a la ubicación"</string>
-    <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps y servicios. Aunque se desactive este parámetro de configuración, es posible que se sigan compartiendo los datos del micrófono cuando llames a un número de emergencia."</string>
+    <string name="mic_toggle_description" msgid="1504101620086616040">"Para apps y servicios. Aunque se desactive este parámetro de configuración, es posible que se sigan compartiendo los datos del micrófono cuando llames a un número de emergencia"</string>
     <string name="location_settings_subtitle" msgid="6846532794702613851">"Para apps y servicios"</string>
 </resources>
diff --git a/PermissionController/res/values-es-rUS/strings.xml b/PermissionController/res/values-es-rUS/strings.xml
index 574cf75..f8030d8 100644
--- a/PermissionController/res/values-es-rUS/strings.xml
+++ b/PermissionController/res/values-es-rUS/strings.xml
@@ -34,7 +34,7 @@
     <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Más información"</string>
     <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"Permitir todo"</string>
     <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"Permitir todo siempre"</string>
-    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permite el acceso limitado"</string>
+    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"Permitir el acceso limitado"</string>
     <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"Seleccionar fotos y videos"</string>
     <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"Seleccionar más"</string>
     <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"No seleccionar más"</string>
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"No permitir"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Ubicación precisa"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Ubicación aproximada"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar la ubicación precisa"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Ubicación precisa"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Cuando la ubicación precisa está desactivada, las apps acceden a la ubicación aproximada"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Permiso de <xliff:g id="PERM">%1$s</xliff:g>"</string>
     <string name="app_permission_header" msgid="2951363137032603806">"Acceso a <xliff:g id="PERM">%1$s</xliff:g> para esta app"</string>
@@ -448,7 +448,7 @@
     <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> solicita subir un informe de errores de este dispositivo generado el <xliff:g id="DATE">%2$s</xliff:g> a las <xliff:g id="TIME">%3$s</xliff:g>. Los informes de errores pueden incluir información personal sobre tu dispositivo o registrada por apps, como nombres de usuario, datos de ubicación, identificadores del dispositivo y datos de red. Solo debes compartir los informes de errores con personas y apps de confianza. ¿Permitir que <xliff:g id="APP_NAME_1">%4$s</xliff:g> suba un informe de errores?"</string>
     <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"Se produjo un error al procesar el informe de errores para <xliff:g id="APP_NAME">%1$s</xliff:g>. Por lo tanto, no es posible compartir los datos detallados de depuración. Lamentamos la interrupción."</string>
     <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"Permitir"</string>
-    <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Denegar"</string>
+    <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"Rechazar"</string>
     <string name="adjust_user_sensitive_title" msgid="4196724451314280527">"Configuración avanzada"</string>
     <string name="menu_adjust_user_sensitive" msgid="6497923610654425780">"Configuración avanzada"</string>
     <string name="adjust_user_sensitive_globally_title" msgid="8649190949066029174">"Mostrar uso de las apps del sistema"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"¿Cambiar el acceso al micrófono de &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Esta app quiere grabar audio todo el tiempo, incluso cuando no la uses. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"¿Quieres permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda a tu actividad física?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tome fotos y grabe videos?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"¿Quieres permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tome fotos y grabe videos?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"La app solo podrá tomar fotos y grabar videos cuando esté en uso"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tome fotos y grabe videos?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Es posible que esta app quiera tomar fotos y grabar videos todo el tiempo, incluso cuando no la estés usando. "<annotation id="link">"Permite el acceso en Configuración."</annotation></string>
@@ -587,7 +587,7 @@
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Mostrar acceso a portapapeles"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Muestra un mensaje cuando las apps accedan a texto, imágenes y otro contenido que hayas copiado"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Mostrar contraseñas"</string>
-    <string name="show_password_summary" msgid="1110166488865981610">"Mostrar caracteres brevemente mientras escribes"</string>
+    <string name="show_password_summary" msgid="1110166488865981610">"Muestra los caracteres brevemente mientras escribes"</string>
     <string name="permission_rationale_message_location" msgid="2153841534298068414">"Esta app indicó que podría compartir datos de ubicación con terceros"</string>
     <string name="permission_rationale_location_title" msgid="2404797182678793506">"Uso compartido de datos y ubicación"</string>
     <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"De dónde proviene la información de uso compartido de datos"</string>
diff --git a/PermissionController/res/values-es/strings.xml b/PermissionController/res/values-es/strings.xml
index 518fb27..e93a043 100644
--- a/PermissionController/res/values-es/strings.xml
+++ b/PermissionController/res/values-es/strings.xml
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"No permitir"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Ubicación precisa"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Ubicación aproximada"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar ubicación precisa"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar ubic. precisa"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Cuando la ubicación precisa está desactivada, las aplicaciones pueden consultar tu ubicación aproximada"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Permiso de <xliff:g id="PERM">%1$s</xliff:g>"</string>
     <string name="app_permission_header" msgid="2951363137032603806">"Acceso a <xliff:g id="PERM">%1$s</xliff:g> para esta aplicación"</string>
diff --git a/PermissionController/res/values-et/strings.xml b/PermissionController/res/values-et/strings.xml
index 2937f1d..6de2721 100644
--- a/PermissionController/res/values-et/strings.xml
+++ b/PermissionController/res/values-et/strings.xml
@@ -205,7 +205,7 @@
     <string name="unused_apps_category_title" msgid="2988455616845243901">"Kasutamata rakenduse seaded"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Eemalda load, kui rakendust ei kasutata"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Eemalda load ja vabasta ruumi"</string>
-    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tegevusetuna rakenduse tegevuste peatamine"</string>
+    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Kasutamata rakenduse tegevuste peatamine"</string>
     <string name="unused_apps_summary" msgid="8839466950318403115">"Eemaldatakse load, kustutatakse ajutised failid ja peatatakse märguanded"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Teie andmete kaitsmiseks eemaldatakse selle rakenduse load, kui seda mõne kuu jooksul ei kasutata."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Teie andmete kaitsmiseks eemaldatakse selle rakenduse järgmised load, kui rakendust mõne kuu jooksul ei kasutata: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
diff --git a/PermissionController/res/values-eu/strings.xml b/PermissionController/res/values-eu/strings.xml
index b7a09a0..c967dde 100644
--- a/PermissionController/res/values-eu/strings.xml
+++ b/PermissionController/res/values-eu/strings.xml
@@ -152,7 +152,7 @@
     <string name="permission_usage_last_n_minutes" msgid="7817864229878281983">"{count,plural, =1{Azken # minutuan}other{Azken # minutuetan}}"</string>
     <string name="no_permission_usages" msgid="9119517454177289331">"Ez da eskatu baimenik"</string>
     <string name="permission_usage_list_title_any_time" msgid="8718257027381592407">"Orain arteko azken sarbidea"</string>
-    <string name="permission_usage_list_title_last_7_days" msgid="9048542342670890615">"Azken zazpi egunetako azken sarbidea"</string>
+    <string name="permission_usage_list_title_last_7_days" msgid="9048542342670890615">"Azken 7 egunetako azken sarbidea"</string>
     <string name="permission_usage_list_title_last_day" msgid="8730907824567238461">"Azken 24 orduetan erabilitakoak"</string>
     <string name="permission_usage_list_title_last_hour" msgid="6624161487623223716">"Azken ordubeteko azken sarbidea"</string>
     <string name="permission_usage_list_title_last_15_minutes" msgid="8615062016024296833">"Azken 15 minutuetako azken sarbidea"</string>
@@ -202,7 +202,7 @@
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Ikusi <xliff:g id="APP">%1$s</xliff:g> aplikazioaren baimen guztiak"</string>
     <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Ikusi baimen hau duten aplikazio guztiak"</string>
     <string name="assistant_mic_label" msgid="1011432357152323896">"Erakutsi laguntzaileak mikrofonoa erabiltzeko duen baimena"</string>
-    <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazio-ezarpenak"</string>
+    <string name="unused_apps_category_title" msgid="2988455616845243901">"Erabili gabeko aplikazioen ezarpenak"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Kendu baimenak aplikazioa erabiltzen ez bada"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Kendu baimenak eta egin tokia"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausatu aplikazioko jarduerak, erabiltzen ez bada"</string>
@@ -354,7 +354,7 @@
     <string name="role_assistant_description" msgid="6622458130459922952">"Ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete laguntza-aplikazioek. Zenbait aplikaziok abiarazlea eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"Arakatzaile lehenetsia"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"Arakatzaile-aplikazioa"</string>
-    <string name="role_browser_description" msgid="3465253637499842671">"Interneterako sarbidea ematen dizuten eta sakatzen dituzun estekak bistaratzen dituzten aplikazioak"</string>
+    <string name="role_browser_description" msgid="3465253637499842671">"Interneteko sarbidea ematen dizuten eta sakatzen dituzun estekak bistaratzen dituzten aplikazioak"</string>
     <string name="role_browser_request_title" msgid="2895200507835937192">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu arakatzaile-aplikazio lehenetsi gisa?"</string>
     <string name="role_browser_request_description" msgid="5888803407905985941">"Ez du behar baimenik"</string>
     <string name="role_dialer_label" msgid="1100224146343237968">"Telefono lehenetsia"</string>
@@ -377,7 +377,7 @@
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
     <string name="role_home_label" msgid="3871847846649769412">"Hasierako aplikazio lehenetsia"</string>
     <string name="role_home_short_label" msgid="8544733747952272337">"Hasierako aplikazioa"</string>
-    <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko hasierako pantailak ordezten dituzten aplikazioak (\"abiarazle\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string>
+    <string name="role_home_description" msgid="7997371519626556675">"Android-eko gailuko orri nagusiak ordezten dituzten aplikazioak (\"abiarazle\" ere deitzen zaie). Gailuko eduki eta eginbideetarako sarbidea ematen dute."</string>
     <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g> ezarri nahi duzu hasierako aplikazio lehenetsi gisa?"</string>
     <string name="role_home_request_description" msgid="2658833966716057673">"Ez du behar baimenik"</string>
     <string name="role_home_search_keywords" msgid="3830755001192666285">"abiarazlea"</string>
diff --git a/PermissionController/res/values-fa/strings.xml b/PermissionController/res/values-fa/strings.xml
index 3f11611..1be0120 100644
--- a/PermissionController/res/values-fa/strings.xml
+++ b/PermissionController/res/values-fa/strings.xml
@@ -50,12 +50,12 @@
     <string name="permission_revoked_all" msgid="3397649017727222283">"همه مجوزها غیرفعال است"</string>
     <string name="permission_revoked_none" msgid="9213345075484381180">"هیچ‌ موردی غیرفعال نیست"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"اجازه دادن"</string>
-    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"همیشه مجاز است"</string>
+    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"همیشه مجاز"</string>
     <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"هنگام استفاده از برنامه"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"تغییر به مکان دقیق"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"حفظ مکان تقریبی"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"فقط این بار"</string>
-    <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"همیشه مجاز است"</string>
+    <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"همیشه مجاز"</string>
     <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"اجازه دادن برای مدیریت همه فایل‌ها"</string>
     <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"اجازه دادن برای دسترسی به فایل‌های رسانه"</string>
     <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"برنامه‌ها"</string>
@@ -109,8 +109,8 @@
     <!-- no translation found for background_access_chooser_dialog_choices:0 (1351721623256561996) -->
     <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) -->
     <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) -->
-    <string name="permission_access_always" msgid="1474641821883823446">"همیشه مجاز است"</string>
-    <string name="permission_access_only_foreground" msgid="7801170728159326195">"فقط هنگام استفاده از برنامه مجاز است"</string>
+    <string name="permission_access_always" msgid="1474641821883823446">"همیشه مجاز"</string>
+    <string name="permission_access_only_foreground" msgid="7801170728159326195">"مجاز فقط هنگام استفاده از برنامه"</string>
     <string name="permission_access_never" msgid="4647014230217936900">"اجازه ندادن"</string>
     <string name="loading" msgid="4789365003890741082">"درحال بارگیری…"</string>
     <string name="all_permissions" msgid="6911125611996872522">"همه اجازه‌ها"</string>
@@ -188,8 +188,8 @@
     <string name="app_permission_button_allow" msgid="5808039516494774647">"اجازه دادن"</string>
     <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"اجازه دادن برای مدیریت همه فایل‌ها"</string>
     <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"اجازه دادن فقط برای دسترسی به رسانه‌ها"</string>
-    <string name="app_permission_button_allow_always" msgid="4573292371734011171">"همیشه مجاز است"</string>
-    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"فقط هنگام استفاده از برنامه مجاز است"</string>
+    <string name="app_permission_button_allow_always" msgid="4573292371734011171">"همیشه مجاز"</string>
+    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"مجاز فقط هنگام استفاده از برنامه"</string>
     <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"همه موارد همیشه مجازاند"</string>
     <string name="app_permission_button_ask" msgid="3342950658789427">"هربار پرسیده شود"</string>
     <string name="app_permission_button_deny" msgid="6016454069832050300">"اجازه ندادن"</string>
@@ -409,9 +409,9 @@
     <string name="phone_call_uses_microphone" msgid="233569591461187177">"‏در &lt;b&gt;تماس تلفنی&lt;/b&gt; از میکروفون استفاده می‌شود"</string>
     <string name="phone_call_uses_microphone_and_camera" msgid="6291898755681748189">"‏در &lt;b&gt;تماس تصویری&lt;/b&gt; از دوربین و میکروفون استفاده می‌شود"</string>
     <string name="phone_call_uses_camera" msgid="2048417022147857418">"‏در &lt;b&gt;تماس تصویری&lt;/b&gt; از دوربین استفاده می‌شود"</string>
-    <string name="system_uses_microphone" msgid="576672130318877143">"سرویس سیستم به میکروفون دسترسی دارد"</string>
-    <string name="system_uses_microphone_and_camera" msgid="5124478304275138804">"سرویس سیستم به دوربین و میکروفون دسترسی دارد"</string>
-    <string name="system_uses_camera" msgid="1911223105234441470">"سرویس سیستم به دوربین دسترسی دارد"</string>
+    <string name="system_uses_microphone" msgid="576672130318877143">"خدمات سیستم به میکروفون دسترسی دارد"</string>
+    <string name="system_uses_microphone_and_camera" msgid="5124478304275138804">"خدمات سیستم به دوربین و میکروفون دسترسی دارد"</string>
+    <string name="system_uses_camera" msgid="1911223105234441470">"خدمات سیستم به دوربین دسترسی دارد"</string>
     <string name="other_use" msgid="6564855051022776692">"استفاده‌های دیگر:"</string>
     <string name="ongoing_usage_dialog_ok" msgid="103556809118460072">"متوجه شدم"</string>
     <string name="ongoing_usage_dialog_title" msgid="683836493556628569">"استفاده اخیر از <xliff:g id="TYPES_LIST">%s</xliff:g>"</string>
diff --git a/PermissionController/res/values-fi/strings.xml b/PermissionController/res/values-fi/strings.xml
index 30fccb6..ffca7f6 100644
--- a/PermissionController/res/values-fi/strings.xml
+++ b/PermissionController/res/values-fi/strings.xml
@@ -73,7 +73,7 @@
     <string name="days_ago" msgid="6650359081551335629">"{count,plural, =0{Tänään}=1{1 päivä sitten}other{# päivää sitten}}"</string>
     <string name="app_disable_dlg_positive" msgid="7418444149981904940">"Poista sovellus käytöstä"</string>
     <string name="app_disable_dlg_text" msgid="3126943217146120240">"Jos poistat sovelluksen käytöstä, Android ja muut sovellukset eivät välttämättä enää toimi oikein. Muista, ettet voi poistaa sovellusta, sillä se tuli laitteesi mukana. Poistamalla sovelluksen käytöstä suljet sen ja piilotat sen laitteella."</string>
-    <string name="app_permission_manager" msgid="3903811137630909550">"Lupien ylläpito"</string>
+    <string name="app_permission_manager" msgid="3903811137630909550">"Lupienhallinta"</string>
     <string name="never_ask_again" msgid="4728762438198560329">"Älä kysy enää"</string>
     <string name="no_permissions" msgid="3881676756371148563">"Ei lupia"</string>
     <string name="additional_permissions" msgid="5801285469338873430">"Lisäluvat"</string>
@@ -401,7 +401,7 @@
     <string name="role_companion_device_computer_description" msgid="416099879217066377">"Tämä palvelu jakaa kuvat, median ja ilmoitukset puhelimeltasi muille laitteille."</string>
     <string name="role_notes_label" msgid="7451627001058089536">"Oletusmuistiinpanosovellus"</string>
     <string name="role_notes_short_label" msgid="8796604147546125285">"Muistiinpanosovellus"</string>
-    <string name="role_notes_description" msgid="8496852798616883551">"Sovellukset, joilla voit ottaa muistiinpanoja laitteellasi"</string>
+    <string name="role_notes_description" msgid="8496852798616883551">"Sovellukset, joilla voit tehdä muistiinpanoja laitteellasi"</string>
     <string name="role_notes_search_keywords" msgid="7710756695666744631">"muistiinpanot"</string>
     <string name="request_role_current_default" msgid="738722892438247184">"Nykyinen oletus"</string>
     <string name="request_role_dont_ask_again" msgid="3556017886029520306">"Älä kysy uudelleen"</string>
diff --git a/PermissionController/res/values-fr-rCA/strings.xml b/PermissionController/res/values-fr-rCA/strings.xml
index 26cbed0..d35ecfe 100644
--- a/PermissionController/res/values-fr-rCA/strings.xml
+++ b/PermissionController/res/values-fr-rCA/strings.xml
@@ -110,7 +110,7 @@
     <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) -->
     <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) -->
     <string name="permission_access_always" msgid="1474641821883823446">"Toujours autoriser"</string>
-    <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser si l\'application est utilisée"</string>
+    <string name="permission_access_only_foreground" msgid="7801170728159326195">"Autoriser uniquement lorsque l\'application est utilisée"</string>
     <string name="permission_access_never" msgid="4647014230217936900">"Ne pas autoriser"</string>
     <string name="loading" msgid="4789365003890741082">"Chargement en cours…"</string>
     <string name="all_permissions" msgid="6911125611996872522">"Toutes les autorisations"</string>
@@ -189,7 +189,7 @@
     <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Autoriser à gérer tous les fichiers"</string>
     <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Autoriser à accéder aux éléments multimédias seulement"</string>
     <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Toujours autoriser"</string>
-    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'appli est en cours d\'utilisation"</string>
+    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Autoriser uniquement lorsque l\'application est utilisée"</string>
     <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Toujours tout autoriser"</string>
     <string name="app_permission_button_ask" msgid="3342950658789427">"Toujours demander"</string>
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne pas autoriser"</string>
diff --git a/PermissionController/res/values-fr/strings.xml b/PermissionController/res/values-fr/strings.xml
index 0e6f0d9..7c6e128 100644
--- a/PermissionController/res/values-fr/strings.xml
+++ b/PermissionController/res/values-fr/strings.xml
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Ne pas autoriser"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Position exacte"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Position approximative"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utiliser la position exacte"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Position exacte"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Si la position exacte est désactivée, les applis ont accès à votre position approximative"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Autorisation d\'accès à \"<xliff:g id="PERM">%1$s</xliff:g>\""</string>
     <string name="app_permission_header" msgid="2951363137032603806">"Accès à \"<xliff:g id="PERM">%1$s</xliff:g>\" pour cette appli"</string>
@@ -537,7 +537,7 @@
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Vérifier l\'état"</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Paramètres de confidentialité"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Autres paramètres"</string>
-    <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Accès à la caméra"</string>
+    <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Accès à l\'appareil photo"</string>
     <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"Accès au micro"</string>
     <string name="permissions_removed_qs" msgid="8957319130625294572">"Autorisation supprimée"</string>
     <string name="camera_usage_qs" msgid="4394233566086665994">"Voir l\'utilisation récente de l\'appareil photo"</string>
@@ -579,7 +579,7 @@
     <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"Accès modifié"</string>
     <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"Voir l\'utilisation récente de la localisation"</string>
     <string name="privacy_controls_title" msgid="7605929972256835199">"Paramètres de confidentialité"</string>
-    <string name="camera_toggle_title" msgid="1251201397431837666">"Accès à la caméra"</string>
+    <string name="camera_toggle_title" msgid="1251201397431837666">"Accès à l\'appareil photo"</string>
     <string name="mic_toggle_title" msgid="2649991093496110162">"Accès au micro"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Pour les applis et services"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Pour les applis et services. Si ce paramètre est désactivé, il est possible que les données du micro soient quand même partagées quand vous appelez un numéro d\'urgence."</string>
diff --git a/PermissionController/res/values-gu/strings.xml b/PermissionController/res/values-gu/strings.xml
index 01581b8..d2eebc3 100644
--- a/PermissionController/res/values-gu/strings.xml
+++ b/PermissionController/res/values-gu/strings.xml
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"માઇક્રોફોનનો ઍક્સેસ"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"ઍપ અને સેવાઓ માટે"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"ઍપ અને સેવાઓ માટે. આ સેટિંગ બંધ હોવા છતાં પણ, જ્યારે તમે ઇમર્જન્સી નંબર પર કૉલ કરો ત્યારે કદાચ માઇક્રોફોનનો ડેટા શેર કરવામાં આવી શકે."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"સ્થાનનો ઍક્સેસ ધરાવતી ઍપ અને તેની સેવાઓ જુઓ"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"લોકેશનનો ઍક્સેસ ધરાવતી ઍપ અને તેની સેવાઓ જુઓ"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"ક્લિપબોર્ડનો ઍક્સેસ બતાવો"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"જ્યારે ઍપ તમે કૉપિ કરેલી ટેક્સ્ટ, છબીઓ કે અન્ય કન્ટેન્ટનો ઍક્સેસ કરે, ત્યારે મેસેજ બતાવો"</string>
     <string name="show_password_title" msgid="2877269286984684659">"પાસવર્ડ બતાવો"</string>
diff --git a/PermissionController/res/values-hi/strings.xml b/PermissionController/res/values-hi/strings.xml
index f095517..1dd3845 100644
--- a/PermissionController/res/values-hi/strings.xml
+++ b/PermissionController/res/values-hi/strings.xml
@@ -50,7 +50,7 @@
     <string name="permission_revoked_all" msgid="3397649017727222283">"सभी अनुमतियां बंद हैं"</string>
     <string name="permission_revoked_none" msgid="9213345075484381180">"कोई अनुमति बंद नहीं है"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"अनुमति दें"</string>
-    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"हमेशा के लिए अनुमति दें"</string>
+    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"हम समय अनुमति है"</string>
     <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"ऐप्लिकेशन इस्तेमाल करते समय"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"जगह की सटीक जानकारी पर सेट करें"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"जगह की अनुमानित जानकारी सेव करें"</string>
@@ -457,7 +457,7 @@
     <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"असिस्टेंट ऐप्लिकेशन का माइक्रोफ़ोन चालू है या बंद, इसकी सूचना दिखाएं"</string>
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"आवाज़ से डिवाइस का इस्तेमाल करने के लिए, माइक्रोफ़ोन का इस्तेमाल करते समय स्थिति बार में आइकॉन दिखाएं"</string>
     <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को अपने डिवाइस में मौजूद फ़ोटो और मीडिया ऐक्सेस करने की अनुमति देनी है?"</string>
-    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को अपने संपर्क देखने की अनुमति देनी है?"</string>
+    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को आपके संपर्क का ऐक्सेस देना है?"</string>
     <string name="permgrouprequest_location" msgid="6990232580121067883">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को इस डिवाइस की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string>
     <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"ऐप्लिकेशन, डिवाइस की जगह की जानकारी सिर्फ़ तभी देख पाएगा जब आप इसका इस्तेमाल कर रहे हों"</string>
     <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को इस डिवाइस की जगह की जानकारी ऐक्सेस करने की अनुमति देनी है?"</string>
@@ -491,14 +491,14 @@
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"यह ऐप्लिकेशन हर समय तस्वीरें ले सकता है और वीडियो रिकॉर्ड कर सकता है. ऐप्लिकेशन इस्तेमाल न करने पर भी ऐसा हो सकता है. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"क्या आप &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; के लिए, कैमरे के ऐक्सेस की अनुमति बदलना चाहते हैं?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"यह ऐप्लिकेशन हर समय तस्वीरें लेना और वीडियो रिकॉर्ड करना चाहता है, तब भी जब आप ऐप्लिकेशन इस्तेमाल न कर रहे हों. "<annotation id="link">"सेटिंग में जाकर अनुमति दें."</annotation></string>
-    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को अपने फ़ोन के काॅल लाॅग को ऐक्सेस करने की अनुमति देनी है?"</string>
+    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को आपका कॉल लॉग ऐक्सेस करने की अनुमति देनी है?"</string>
     <string name="permgrouprequest_phone" msgid="1829234136997316752">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को फ़ोन कॉल करने और उन्हें मैनेज करने की अनुमति देनी है?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को अपने स्वास्थ्य से जुड़ी ज़रूरी जानकारी इस्तेमाल करने की अनुमति देनी है?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"यह ऐप्लिकेशन, आपके शरीर के बारे में ज़रूरी जानकारी देने वाले सेंसर डेटा को हमेशा ऐक्सेस करने की अनुमति मांगता है. यह अनुमति उस समय के लिए भी मांगी जाती है जिस समय ऐप्लिकेशन का इस्तेमाल न हो रहा हो. यह अनुमति देने के लिए, "<annotation id="link">"सेटिंग पर जाएं."</annotation></string>
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को अपने शरीर के बारे में जानकारी देने वाले लक्षणों के सेंसर डेटा को ऐक्सेस करने की अनुमति दें?"</string>
     <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"इस ऐप्लिकेशन का इस्तेमाल न किए जाने पर भी, इसे बॉडी सेंसर के डेटा को हमेशा ऐक्सेस करने की अनुमति देने के लिए, "<annotation id="link">"सेटिंग पर जाएं."</annotation></string>
     <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"क्या इस्तेमाल के दौरान, &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को बॉडी सेंसर के डेटा का ऐक्सेस देते रहना है?"</string>
-    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को सूचनाएं भेजने की अनुमति दें?"</string>
+    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; को सूचनाएं भेजने की अनुमति देनी है?"</string>
     <string name="auto_granted_permissions" msgid="6009452264824455892">"कंट्रोल की गई अनुमतियां"</string>
     <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> के पास, डिवाइस की जगह की जानकारी का ऐक्सेस है"</string>
     <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"आपके संगठन ने <xliff:g id="APP_NAME">%1$s</xliff:g> को, डिवाइस की जगह की जानकारी का ऐक्सेस दिया है"</string>
@@ -518,7 +518,7 @@
     <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> को Android की मदद से सुरक्षित किया गया है. आपका डेटा इस डिवाइस पर प्रोसेस किया गया है. इसलिए, इस ऐप्लिकेशन की अनुमति के इस्तेमाल की जानकारी, प्राइवसी डैशबोर्ड पर नहीं दिखती."</string>
     <string name="blocked_camera_title" msgid="1128510551791284384">"डिवाइस का कैमरा ब्लॉक किया गया है"</string>
     <string name="blocked_microphone_title" msgid="1631517143648232585">"डिवाइस का माइक्रोफ़ोन ब्लॉक किया गया है"</string>
-    <string name="blocked_location_title" msgid="2005608279812892383">"डिवाइस की जगह की जानकारी की सुविधा बंद है"</string>
+    <string name="blocked_location_title" msgid="2005608279812892383">"डिवाइस की जगह की जानकारी की सेटिंग बंद है"</string>
     <string name="blocked_sensor_summary" msgid="4443707628305027375">"ऐप्लिकेशन और सेवाओं के लिए"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"जब आपातकालीन नंबर पर कॉल किया जाता है, तो माइक ब्लॉक होने के बावजूद माइक्रोफ़ोन का डेटा शेयर किया जा सकता है."</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"बदलें"</string>
diff --git a/PermissionController/res/values-hr/strings.xml b/PermissionController/res/values-hr/strings.xml
index 6cb8130..4458cdf 100644
--- a/PermissionController/res/values-hr/strings.xml
+++ b/PermissionController/res/values-hr/strings.xml
@@ -476,7 +476,7 @@
     <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"Dopustiti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristup &lt;b&gt;foto/video/audiodatotekama i glazbi&lt;/b&gt; na ovom uređaju?"</string>
     <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"Dopustiti apl. &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristup &lt;b&gt;foto/video/audio i drugim datotekama te glazbi&lt;/b&gt; na uređaju?"</string>
     <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"Želite li dopustiti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristup glazbi i audiodatotekama na ovom uređaju?"</string>
-    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Želite li aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dopustiti pristup fotografijama i videozapisima na ovom uređaju?"</string>
+    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Želite li aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dopustiti da pristupa fotografijama i videozapisima na ovom uređaju?"</string>
     <string name="permgrouprequest_more_photos" msgid="128933814654231321">"Želite li aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dopustiti pristup većem broju fotografija i videozapisa na ovom uređaju?"</string>
     <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Želite li aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dopustiti da snima audiozapise?"</string>
     <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Aplikacija će moći snimati audiozapise samo dok je upotrebljavate"</string>
@@ -507,7 +507,7 @@
     <string name="not_used_permissions_description" msgid="7595514824169388718">"Dopuštenja koja upotrebljavaju samo aplikacije sustava."</string>
     <string name="additional_permissions_label" msgid="7693557637462569046">"Dodatna dopuštenja"</string>
     <string name="additional_permissions_description" msgid="2186611950890732112">"Dopuštenja koja definiraju aplikacije."</string>
-    <string name="privdash_label_camera" msgid="1426440033626198096">"Fotoaparat"</string>
+    <string name="privdash_label_camera" msgid="1426440033626198096">"Kamera"</string>
     <string name="privdash_label_microphone" msgid="8415035835803511693">"Mikrofon"</string>
     <string name="privdash_label_location" msgid="6882400763866489291">"Lokacija"</string>
     <string name="privdash_label_other" msgid="3710394147423236033">"Drugo"</string>
@@ -537,7 +537,7 @@
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Provjera statusa"</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Vaše kontrole privatnosti"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Više postavki"</string>
-    <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Pristup fotoaparatu"</string>
+    <string name="camera_toggle_label_qs" msgid="3880261453066157285">"Pristup kameri"</string>
     <string name="microphone_toggle_label_qs" msgid="8132912469813396552">"Pristup mikrofonu"</string>
     <string name="permissions_removed_qs" msgid="8957319130625294572">"Dopuštenje uklonjeno"</string>
     <string name="camera_usage_qs" msgid="4394233566086665994">"Prikaži nedavnu upotrebu fotoaparata"</string>
@@ -579,7 +579,7 @@
     <string name="safety_center_background_location_access_revoked" msgid="6972274943343442213">"Promijenjen je pristup"</string>
     <string name="safety_center_view_recent_location_access" msgid="3524391299490678243">"Prikaži nedavnu upotrebu lokacije"</string>
     <string name="privacy_controls_title" msgid="7605929972256835199">"Kontrole privatnosti"</string>
-    <string name="camera_toggle_title" msgid="1251201397431837666">"Pristup fotoaparatu"</string>
+    <string name="camera_toggle_title" msgid="1251201397431837666">"Pristup kameri"</string>
     <string name="mic_toggle_title" msgid="2649991093496110162">"Pristup mikrofonu"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Za aplikacije i usluge"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Za aplikacije i usluge. Ako je ta postavka isključena, podaci mikrofona i dalje se mogu dijeliti kad nazovete broj hitne službe."</string>
diff --git a/PermissionController/res/values-in-v33/strings.xml b/PermissionController/res/values-in-v33/strings.xml
index b74e806..90be234 100644
--- a/PermissionController/res/values-in-v33/strings.xml
+++ b/PermissionController/res/values-in-v33/strings.xml
@@ -27,7 +27,7 @@
     <string name="safety_center_entry_group_with_actions_needed_content_description" msgid="2708884606775932657">"Daftar. <xliff:g id="ENTRY_TITLE">%1$s</xliff:g>. Diperlukan tindakan. <xliff:g id="ENTRY_SUMMARY">%2$s</xliff:g>"</string>
     <string name="safety_center_entry_group_item_content_description" msgid="7348298582877249787">"Item daftar. <xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string>
     <string name="safety_center_entry_content_description" msgid="3639565652938224321">"<xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string>
-    <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"Peringatan lainnya"</string>
+    <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"Peringatan lain"</string>
     <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"Peringatan yang ditutup"</string>
     <string name="safety_center_more_issues_card_expand_action" msgid="7109451851052272946">"{count,plural, =1{Luaskan untuk melihat satu peringatan lain}other{Luaskan untuk melihat # peringatan lain}}"</string>
     <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"Peringatan. <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string>
diff --git a/PermissionController/res/values-in/strings.xml b/PermissionController/res/values-in/strings.xml
index ac466c4..5d8a80e 100644
--- a/PermissionController/res/values-in/strings.xml
+++ b/PermissionController/res/values-in/strings.xml
@@ -50,12 +50,12 @@
     <string name="permission_revoked_all" msgid="3397649017727222283">"semua dinonaktifkan"</string>
     <string name="permission_revoked_none" msgid="9213345075484381180">"tidak ada yang dinonaktifkan"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Izinkan"</string>
-    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Izinkan sepanjang waktu"</string>
+    <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Selalu izinkan"</string>
     <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Saat aplikasi digunakan"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Ubah ke lokasi presisi"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Tetap gunakan perkiraan"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Hanya kali ini"</string>
-    <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Izinkan sepanjang waktu"</string>
+    <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"Selalu izinkan"</string>
     <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"Izinkan pengelolaan semua file"</string>
     <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"Izinkan akses ke file media"</string>
     <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"Aplikasi"</string>
@@ -109,7 +109,7 @@
     <!-- no translation found for background_access_chooser_dialog_choices:0 (1351721623256561996) -->
     <!-- no translation found for background_access_chooser_dialog_choices:1 (9127301153688725448) -->
     <!-- no translation found for background_access_chooser_dialog_choices:2 (4305536986042401191) -->
-    <string name="permission_access_always" msgid="1474641821883823446">"Izinkan sepanjang waktu"</string>
+    <string name="permission_access_always" msgid="1474641821883823446">"Selalu izinkan"</string>
     <string name="permission_access_only_foreground" msgid="7801170728159326195">"Izinkan saat aplikasi digunakan"</string>
     <string name="permission_access_never" msgid="4647014230217936900">"Jangan izinkan"</string>
     <string name="loading" msgid="4789365003890741082">"Memuat…"</string>
@@ -188,8 +188,8 @@
     <string name="app_permission_button_allow" msgid="5808039516494774647">"Izinkan"</string>
     <string name="app_permission_button_allow_all_files" msgid="1792232272599018825">"Izinkan pengelolaan semua file"</string>
     <string name="app_permission_button_allow_media_only" msgid="2834282724426046154">"Izinkan akses hanya ke media"</string>
-    <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Izinkan sepanjang waktu"</string>
-    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Izinkan hanya saat aplikasi digunakan"</string>
+    <string name="app_permission_button_allow_always" msgid="4573292371734011171">"Selalu izinkan"</string>
+    <string name="app_permission_button_allow_foreground" msgid="1991570451498943207">"Izinkan saat aplikasi digunakan"</string>
     <string name="app_permission_button_always_allow_all" msgid="4905699259378428855">"Selalu izinkan semua"</string>
     <string name="app_permission_button_ask" msgid="3342950658789427">"Selalu tanya"</string>
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Jangan izinkan"</string>
diff --git a/PermissionController/res/values-it/strings.xml b/PermissionController/res/values-it/strings.xml
index 13fd6ab..80a2c36 100644
--- a/PermissionController/res/values-it/strings.xml
+++ b/PermissionController/res/values-it/strings.xml
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Non consentire"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Posizione esatta"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Posizione approssimativa"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Utilizza posizione esatta"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Posizione esatta"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Quando la posizione esatta non è attiva, le app possono accedere alla tua posizione approssimativa"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Autorizzazione <xliff:g id="PERM">%1$s</xliff:g>"</string>
     <string name="app_permission_header" msgid="2951363137032603806">"Accesso a <xliff:g id="PERM">%1$s</xliff:g> per questa app"</string>
diff --git a/PermissionController/res/values-iw/strings.xml b/PermissionController/res/values-iw/strings.xml
index 88e606e..31e6de1 100644
--- a/PermissionController/res/values-iw/strings.xml
+++ b/PermissionController/res/values-iw/strings.xml
@@ -206,7 +206,7 @@
     <string name="auto_revoke_label" msgid="5068393642936571656">"הסרת ההרשאות כשלא בשימוש"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"הסרת הרשאות ופינוי מקום אחסון"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"השהיית הפעילות באפליקציה אם אין בה שימוש"</string>
-    <string name="unused_apps_summary" msgid="8839466950318403115">"ההרשאות של האפליקציה יוסרו, הקבצים הזמניים יימחקו ותופסק קבלת ההתראות ממנה"</string>
+    <string name="unused_apps_summary" msgid="8839466950318403115">"הסרת ההרשאות, מחיקה של הקבצים הזמניים, הפסקה של קבלת ההתראות"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"כדי להגן על הנתונים שלך, אם האפליקציה הזו לא תהיה בשימוש במשך מספר חודשים, ההרשאות שניתנו לה יוסרו."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"כדי להגן על הנתונים שלך, אם האפליקציה לא תהיה בשימוש במשך מספר חודשים, ההרשאות הבאות יוסרו: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
     <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"כדי להגן על הנתונים שלך, הוסרו הרשאות מאפליקציות שלא השתמשת בהן במשך מספר חודשים."</string>
diff --git a/PermissionController/res/values-ja/strings.xml b/PermissionController/res/values-ja/strings.xml
index 7784829..26e787c 100644
--- a/PermissionController/res/values-ja/strings.xml
+++ b/PermissionController/res/values-ja/strings.xml
@@ -34,7 +34,7 @@
     <string name="grant_dialog_button_more_info" msgid="213350268561945193">"詳細"</string>
     <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"すべて許可"</string>
     <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"常にすべて許可"</string>
-    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"アクセス制限を許可する"</string>
+    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"制限付きでアクセスを許可する"</string>
     <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"写真と動画を選択"</string>
     <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"さらに選択"</string>
     <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"他を選択しない"</string>
@@ -56,8 +56,8 @@
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"おおよその位置情報を保持"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"今回のみ"</string>
     <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"常に許可"</string>
-    <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"すべてのファイルの管理を許可"</string>
-    <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"メディア ファイルへのアクセスを許可"</string>
+    <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"すべての管理を許可"</string>
+    <string name="grant_dialog_button_allow_media_only" msgid="4832877658422573832">"アクセスのみ許可"</string>
     <string name="app_permissions_breadcrumb" msgid="5136969550489411650">"アプリ"</string>
     <string name="app_permissions" msgid="3369917736607944781">"アプリの権限"</string>
     <string name="unused_apps" msgid="2058057455175955094">"使用されていないアプリ"</string>
@@ -86,7 +86,7 @@
     <string name="app_permissions_group_summary" msgid="8788419008958284002">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> 個のアプリを許可"</string>
     <string name="app_permissions_group_summary2" msgid="4329922444840521150">"<xliff:g id="COUNT_0">%1$d</xliff:g>/<xliff:g id="COUNT_1">%2$d</xliff:g> 件のアプリを許可"</string>
     <string name="menu_show_system" msgid="4254021607027872504">"システムアプリを表示"</string>
-    <string name="menu_hide_system" msgid="3855390843744028465">"システムアプリを表示しない"</string>
+    <string name="menu_hide_system" msgid="3855390843744028465">"システムアプリを非表示"</string>
     <string name="menu_show_7_days_data" msgid="8979611198508523706">"過去 7 日間を表示"</string>
     <string name="menu_show_24_hours_data" msgid="8228054833323380780">"過去 24 時間を表示"</string>
     <string name="manage_permission" msgid="2895385393037061964">"権限の管理"</string>
@@ -351,7 +351,7 @@
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"これらのアプリでは、画面、アクション、入力の表示、アクションの実行、ディスプレイの操作を行えます。"</string>
     <string name="role_assistant_label" msgid="4727586018198208128">"デフォルトのデジタル アシスタント アプリ"</string>
     <string name="role_assistant_short_label" msgid="3369003713187703399">"デジタル アシスタント アプリ"</string>
-    <string name="role_assistant_description" msgid="6622458130459922952">"アシストアプリは、表示している画面の情報に基づいてアシスタントを提供します。一部のアプリはランチャーと音声入力サービスの両方に対応しており、統合されたアシスタントを提供します。"</string>
+    <string name="role_assistant_description" msgid="6622458130459922952">"アシストアプリは、表示している画面の情報に基づいてサポートを提供します。一部のアプリはランチャーと音声入力サービスの両方に対応しており、統合されたサポートを提供します。"</string>
     <string name="role_browser_label" msgid="2877796144554070207">"デフォルトのブラウザアプリ"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"ブラウザアプリ"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"インターネットにアクセスするためのアプリです。タップしたリンクは、このアプリで開きます。"</string>
@@ -457,7 +457,7 @@
     <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"アシスタントのトリガー検出を表示"</string>
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"マイクを使って音声アシスタントを有効にする場合にステータスバーにアイコンを表示する"</string>
     <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"デバイス内の写真やメディアへのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
-    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"連絡先へのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
+    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"連絡先へのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
     <string name="permgrouprequest_location" msgid="6990232580121067883">"このデバイスの位置情報へのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
     <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"このアプリは、ユーザーがアプリを使用している間のみ位置情報にアクセスできます"</string>
     <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"このデバイスの位置情報へのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
@@ -485,14 +485,14 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に対するマイクへのアクセス許可を変更しますか?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)音声を録音できる権限を求めています。"<annotation id="link">"[設定] で許可してください。"</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"身体活動データへのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"写真と動画の撮影を「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"写真と動画の撮影を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"アプリは、ユーザーがアプリを使用している場合のみ写真や動画を撮影できます"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"写真と動画の撮影を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)写真や動画を撮影する可能性があります。"<annotation id="link">"[設定] で許可してください。"</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に対するカメラへのアクセス許可を変更しますか?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"このアプリは、いつでも(ユーザーがアプリを使用していない場合でも)写真や動画を撮影できる権限を求めています。"<annotation id="link">"[設定] で許可してください。"</annotation></string>
-    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"通話履歴へのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
-    <string name="permgrouprequest_phone" msgid="1829234136997316752">"電話の発信と管理を「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
+    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"通話履歴へのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
+    <string name="permgrouprequest_phone" msgid="1829234136997316752">"電話の発信と管理を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"バイタルサインに関するセンサーデータへのアクセスを「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」に許可しますか?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"このアプリは、未使用時も含め、常にバイタルサインに関するセンサーデータへのアクセスを試みます。これを変更するには、"<annotation id="link">"設定に移動"</annotation>"してください。"</string>
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"バイタルサインに関するセンサーデータへのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
@@ -585,7 +585,7 @@
     <string name="mic_toggle_description" msgid="9163104307990677157">"アプリとサービスによるアクセス。この設定が OFF の場合でも、緊急通報番号に発信したときは、マイクのデータが共有されることがあります。"</string>
     <string name="location_settings_subtitle" msgid="2328360561197430695">"位置情報にアクセスできるアプリとサービスを確認"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"クリップボードへのアクセスを通知"</string>
-    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"クリップボードにコピーしたテキストや画像などにアプリがアクセスすると、メッセージが表示されます"</string>
+    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"クリップボードにコピーしたテキストや画像などにアプリがアクセスした際に、メッセージを表示します"</string>
     <string name="show_password_title" msgid="2877269286984684659">"パスワードを表示"</string>
     <string name="show_password_summary" msgid="1110166488865981610">"入力した文字を一瞬だけ表示します"</string>
     <string name="permission_rationale_message_location" msgid="2153841534298068414">"このアプリは、位置情報をサードパーティと共有する可能性があります"</string>
diff --git a/PermissionController/res/values-ka/strings.xml b/PermissionController/res/values-ka/strings.xml
index 6962b00..b143ef3 100644
--- a/PermissionController/res/values-ka/strings.xml
+++ b/PermissionController/res/values-ka/strings.xml
@@ -202,7 +202,7 @@
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"ყველა ნებართვის ნახვა: <xliff:g id="APP">%1$s</xliff:g>"</string>
     <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"ამ ნებართვის მქონე ყველა აპის ნახვა"</string>
     <string name="assistant_mic_label" msgid="1011432357152323896">"ასისტენტის მიკროფონის გამოყენების ჩვენება"</string>
-    <string name="unused_apps_category_title" msgid="2988455616845243901">"აპის გამოუყენებელი პარამეტრები"</string>
+    <string name="unused_apps_category_title" msgid="2988455616845243901">"გამოუყენებელი აპის პარამეტრები"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"ნებართვების ამოშლა აპის გამოუყენებლობის შემთხვევაში."</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"ნებართვების ამოშლა და მეხსიერების გათავისუფლება"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"დაპაუზდეს აპში აქტივობა, თუ არ იყენებენ"</string>
diff --git a/PermissionController/res/values-ko/strings.xml b/PermissionController/res/values-ko/strings.xml
index 9ab5a57..143fce7 100644
--- a/PermissionController/res/values-ko/strings.xml
+++ b/PermissionController/res/values-ko/strings.xml
@@ -351,7 +351,7 @@
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"이 앱이 내 화면, 작업, 입력 내용을 보고 작업을 실행하며 디스플레이를 제어할 수 있습니다."</string>
     <string name="role_assistant_label" msgid="4727586018198208128">"기본 디지털 어시스턴트 앱"</string>
     <string name="role_assistant_short_label" msgid="3369003713187703399">"디지털 어시스턴트 앱"</string>
-    <string name="role_assistant_description" msgid="6622458130459922952">"지원 앱은 화면에 표시된 정보에 맞게 도움을 줄 수 있습니다. 일부 앱은 통합된 지원을 제공하기 위해 런처와 음성 입력 서비스를 모두 지원합니다."</string>
+    <string name="role_assistant_description" msgid="6622458130459922952">"지원 앱은 화면에 표시된 정보를 기반으로 도움을 줄 수 있습니다. 일부 앱은 통합된 지원을 제공하기 위해 런처와 음성 입력 서비스를 모두 지원합니다."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"기본 브라우저 앱"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"브라우저 앱"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"인터넷에 액세스하고 탭하는 링크를 표시하는 앱"</string>
diff --git a/PermissionController/res/values-ky/strings.xml b/PermissionController/res/values-ky/strings.xml
index 62beded..1250553 100644
--- a/PermissionController/res/values-ky/strings.xml
+++ b/PermissionController/res/values-ky/strings.xml
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"Микрофонду колдонуу"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Колдонмолор жана кызматтар үчүн"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Кырсыктаганда жардамга келчү кызматка чалганда, микрофондогу нерселер бөлүшүлүшү мүмкүн."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"Кайда жүргөнүңүздү көрүүгө уруксаты бар колдонмолорду жана кызматтарды көрүү"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"Кайда жүргөнүңүздү көрө алган колдонмолор менен кызматтардын тизмеси"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Алмашуу буферин пайдалануу мүмкүнчүлүгүн көрсөтүү"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Колдонмолор көчүрүлгөн текстти, сүрөттөрдү же башка нерселерди пайдаланганда билдирүүлөр көрүнөт"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Сырсөз көрүнсүн"</string>
@@ -616,7 +616,7 @@
     <string name="learn_about_data_sharing" msgid="4200480587079488045">"Маалыматтарды бөлүшүү жөнүндө кеңири маалымат"</string>
     <string name="shares_location_with_third_parties" msgid="2278051743742057767">"Жүргөн жериңиз тууралуу маалымат үчүнчү тараптар менен бөлүшүлүп жатат"</string>
     <string name="shares_location_with_third_parties_for_advertising" msgid="1918588064014480513">"Жүргөн жериңизди үчүнчү тараптар жарнамалоо же маркетинг максатында билип турушат"</string>
-    <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Кечээ жаңыртылды}=1{Кечээ жаңыртылды}other{# күн мурда жаңыртылды}}"</string>
+    <string name="updated_in_last_days" msgid="8371811947153042322">"{count,plural, =0{Кечээ жаңырды}=1{Кечээ жаңырды}other{# күн мурда жаңырды}}"</string>
     <string name="no_updates_at_this_time" msgid="9031085635689982935">"Азырынча жаңыртуулар жок"</string>
     <string name="safety_label_changes_notification_title" msgid="4479955083472203839">"Маалыматты бөлүшүү жаңыртуулары"</string>
     <string name="safety_label_changes_notification_desc" msgid="7808764283266234675">"Айрым колдонмолор турган жериңизди билдирүү ыкмасын өзгөрттү"</string>
diff --git a/PermissionController/res/values-lv/strings.xml b/PermissionController/res/values-lv/strings.xml
index e95ad8e..4fb7d2d 100644
--- a/PermissionController/res/values-lv/strings.xml
+++ b/PermissionController/res/values-lv/strings.xml
@@ -587,7 +587,7 @@
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Rādīt paziņojumus par piekļuvi starpliktuvei"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Rādīt ziņojumu, kad lietotnes piekļūst jūsu nokopētajam tekstam, attēliem vai citam saturam"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Rādīt paroles"</string>
-    <string name="show_password_summary" msgid="1110166488865981610">"Rakstot tiek īslaicīgi rādītas rakstzīmes"</string>
+    <string name="show_password_summary" msgid="1110166488865981610">"Rakstot īslaicīgi rādīt rakstzīmes"</string>
     <string name="permission_rationale_message_location" msgid="2153841534298068414">"Lietotne norādīja, ka tā var kopīgot atrašanās vietas datus ar trešajām pusēm."</string>
     <string name="permission_rationale_location_title" msgid="2404797182678793506">"Datu kopīgošana un atrašanās vieta"</string>
     <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"Datu kopīgošanas informācijas avots"</string>
diff --git a/PermissionController/res/values-mn/strings.xml b/PermissionController/res/values-mn/strings.xml
index 56d0f20..4b962da 100644
--- a/PermissionController/res/values-mn/strings.xml
+++ b/PermissionController/res/values-mn/strings.xml
@@ -28,7 +28,7 @@
     <string name="uninstall_or_disable" msgid="4496612999740858933">"Устгах эсвэл идэвхгүй болгох"</string>
     <string name="app_not_found_dlg_title" msgid="6029482906093859756">"Апп олдсонгүй"</string>
     <string name="grant_dialog_button_deny" msgid="88262611492697192">"Бүү зөвшөөр"</string>
-    <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"Бүү зөвшөөрч, дахин битгий асуу"</string>
+    <string name="grant_dialog_button_deny_and_dont_ask_again" msgid="1748925431574312595">"Бүү зөвшөөр, дахин бүү асуу"</string>
     <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"\"Аппыг ашиглаж байх үед\" хэвээр үлдээх"</string>
     <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"“Зөвхөн энэ удаад зөвшөөрөх”-г хэвээр хадгалах"</string>
     <string name="grant_dialog_button_more_info" msgid="213350268561945193">"Дэлгэрэнгүй мэдээлэл"</string>
@@ -45,7 +45,7 @@
     <string name="permission_add_background_warning_template" msgid="1812914855915092273">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-д <xliff:g id="ACTION">%2$s</xliff:g>-г тогтмол зөвшөөрөх үү?"</string>
     <string name="allow_permission_foreground_only" msgid="116465816039675404">"Зөвхөн апп ашиглах үед"</string>
     <string name="allow_permission_always" msgid="5194342531206054051">"Тогтмол"</string>
-    <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"Бүү зөвшөөрч, дахин битгий асуу"</string>
+    <string name="deny_permission_deny_and_dont_ask_again" msgid="6106035221490102341">"Бүү зөвшөөр, дахин бүү асуу"</string>
     <string name="permission_revoked_count" msgid="4785082705441547086">"<xliff:g id="COUNT">%1$d</xliff:g>-г цуцалсан"</string>
     <string name="permission_revoked_all" msgid="3397649017727222283">"бүгдийг цуцалсан"</string>
     <string name="permission_revoked_none" msgid="9213345075484381180">"алийг нь ч цуцлаагүй"</string>
@@ -376,7 +376,7 @@
     <string name="role_emergency_request_description" msgid="131645948770262850">"Ямар ч зөвшөөрөл шаардлагагүй"</string>
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
     <string name="role_home_label" msgid="3871847846649769412">"Нүүр хуудасны өгөгдмөл апп"</string>
-    <string name="role_home_short_label" msgid="8544733747952272337">"Нүүр хуудасны апп"</string>
+    <string name="role_home_short_label" msgid="8544733747952272337">"Home апп"</string>
     <string name="role_home_description" msgid="7997371519626556675">"Таны Android төхөөрөмжийн үндсэн нүүрийг сольдог бөгөөд таны төхөөрөмжийн контент болон онцлогуудад хандах эрх олгодог, ихэвчлэн эхлүүлэгч гэж нэрлэгддэг аппууд"</string>
     <string name="role_home_request_title" msgid="738136983453341081">"<xliff:g id="APP_NAME">%1$s</xliff:g>-г нүүр хуудасны өгөгдмөл аппаар тохируулах уу?"</string>
     <string name="role_home_request_description" msgid="2658833966716057673">"Ямар ч зөвшөөрөл шаардлагагүй"</string>
diff --git a/PermissionController/res/values-mr/strings.xml b/PermissionController/res/values-mr/strings.xml
index 463e29d..7215ddb 100644
--- a/PermissionController/res/values-mr/strings.xml
+++ b/PermissionController/res/values-mr/strings.xml
@@ -554,7 +554,7 @@
     <string name="recent_app_usage_1_qs" msgid="261450184773310741">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g>) द्वारे अलीकडे वापरले गेले"</string>
     <string name="active_app_usage_2_qs" msgid="6107866785243565283">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g> • <xliff:g id="PROXY_LABEL">%3$s</xliff:g>) द्वारे वापरले जात आहे"</string>
     <string name="recent_app_usage_2_qs" msgid="3591205954235694403">"<xliff:g id="APP_NAME">%1$s</xliff:g> (<xliff:g id="ATTRIBUTION_LABEL">%2$s</xliff:g> • <xliff:g id="PROXY_LABEL">%3$s</xliff:g>) द्वारे अलीकडे वापरले गेले"</string>
-    <string name="media_confirm_dialog_positive_button" msgid="9020793594051526399">"कंफर्म करा"</string>
+    <string name="media_confirm_dialog_positive_button" msgid="9020793594051526399">"कन्फर्म करा"</string>
     <string name="media_confirm_dialog_negative_button" msgid="226987376924861785">"मागे जा"</string>
     <string name="media_confirm_dialog_title_a_to_p_aural_allow" msgid="8560601114044699903">"इतर फाइलच्या अ‍ॅक्सेसलादेखील अनुमती दिली जाईल"</string>
     <string name="media_confirm_dialog_title_a_to_p_aural_deny" msgid="7841428716317307685">"इतर फाइलच्या अ‍ॅक्सेसलादेखील अनुमती दिली जाणार नाही"</string>
diff --git a/PermissionController/res/values-ms/strings.xml b/PermissionController/res/values-ms/strings.xml
index c978285..68ae382 100644
--- a/PermissionController/res/values-ms/strings.xml
+++ b/PermissionController/res/values-ms/strings.xml
@@ -249,7 +249,7 @@
     <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Ditolak / Tidak pernah mengakses"</string>
     <string name="allowed_header" msgid="7769277978004790414">"Dibenarkan"</string>
     <string name="allowed_always_header" msgid="6455903312589013545">"Dibenarkan sepanjang masa"</string>
-    <string name="allowed_foreground_header" msgid="6845655788447833353">"Dibenarkan hanya semasa dalam penggunaan"</string>
+    <string name="allowed_foreground_header" msgid="6845655788447833353">"Dibenarkan hanya semasa digunakan"</string>
     <string name="allowed_storage_scoped" msgid="5383645873719086975">"Dibenarkan mengakses media sahaja"</string>
     <string name="allowed_storage_full" msgid="5356699280625693530">"Dibenarkan mengurus semua fail"</string>
     <string name="ask_header" msgid="2633816846459944376">"Tanya setiap kali"</string>
diff --git a/PermissionController/res/values-my/strings.xml b/PermissionController/res/values-my/strings.xml
index 8c684fa..60e5c3a 100644
--- a/PermissionController/res/values-my/strings.xml
+++ b/PermissionController/res/values-my/strings.xml
@@ -349,8 +349,8 @@
     <string name="accessibility_service_dialog_title_multiple" msgid="5527879210683548175">"အများသုံးစွဲနိုင်မှုဆိုင်ရာ အက်ပ် <xliff:g id="NUM_SERVICES">%s</xliff:g> ခုက သင့်စက်ပစ္စည်းကို အပြည့်အဝ အသုံးပြုခွင့်ရှိသည်"</string>
     <string name="accessibility_service_dialog_bottom_text_single" msgid="1128666197822205958">"<xliff:g id="SERVICE_NAME">%s</xliff:g> သည် သင်၏ မျက်နှာပြင်၊ လုပ်ဆောင်ချက်များ၊ ထည့်သွင်းမှုများကို ကြည့်နိုင်ပြီး လုပ်ဆောင်ချက်များကို ဆောင်ရွက်နိုင်သည့်အပြင် မျက်နှာပြင်သမှုကိုလည်း ထိန်းချုပ်နိုင်သည်။"</string>
     <string name="accessibility_service_dialog_bottom_text_multiple" msgid="7009848932395519852">"ဤအက်ပ်များက သင်၏ မျက်နှာပြင်၊ လုပ်ဆောင်ချက်များ၊ ထည့်သွင်းမှုများကို ကြည့်နိုင်ပြီး လုပ်ဆောင်ချက်များကို ဆောင်ရွက်နိုင်သည့်အပြင် မျက်နှာပြင်ပြသမှုကိုလည်း ထိန်းချုပ်နိုင်သည်။"</string>
-    <string name="role_assistant_label" msgid="4727586018198208128">"မူလဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string>
-    <string name="role_assistant_short_label" msgid="3369003713187703399">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string>
+    <string name="role_assistant_label" msgid="4727586018198208128">"မူရင်း ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string>
+    <string name="role_assistant_short_label" msgid="3369003713187703399">"ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string>
     <string name="role_assistant_description" msgid="6622458130459922952">"အကူအညီအက်ပ်များသည် သင်ကြည့်နေသည့် မျက်နှာပြင်မှ အချက်အလက်ကို အခြေခံ၍ ပံ့ပိုးပေးနိုင်ပါသည်။ ဘက်စုံ အထောက်အကူပေးနိုင်ရန်အတွက် အချို့အက်ပ်များသည် စဖွင့်စနစ်နှင့် အသံဖြင့်ထည့်သွင်းဝန်ဆောင်မှု နှစ်ခုလုံးကို ပံ့ပိုးပါသည်။"</string>
     <string name="role_browser_label" msgid="2877796144554070207">"မူရင်း ဘရောင်ဇာအက်ပ်"</string>
     <string name="role_browser_short_label" msgid="6745009127123292296">"ဘရောင်ဇာ အက်ပ်"</string>
@@ -458,7 +458,7 @@
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"အသံအကူအညီ စတင်ရန် မိုက်ခရိုဖုန်းအသုံးပြုသည့်အခါ သင်္ကေတကို အခြေအနေဘားတွင် ပြပါ"</string>
     <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သင့်စက်ပေါ်ရှိ ဓာတ်ပုံနှင့် မီဒီယာဖိုင်များ ဝင်သုံးခွင့်ပေးလိုပါသလား။"</string>
     <string name="permgrouprequest_contacts" msgid="8391550064551053695">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သင်၏အဆက်အသွယ်များကို သုံးခွင့်ပေးလိုပါသလား။"</string>
-    <string name="permgrouprequest_location" msgid="6990232580121067883">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးလိုပါသလား။"</string>
+    <string name="permgrouprequest_location" msgid="6990232580121067883">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးမလား။"</string>
     <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"အက်ပ်ကိုအသုံးပြုသည့် အချိန်တွင်သာ ၎င်းကတည်နေရာကို အသုံးပြုခွင့်ရပါမည်"</string>
     <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဤစက်ပစ္စည်း၏တည်နေရာကို သုံးခွင့်ပေးလိုပါသလား။"</string>
     <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"သင် အသုံးမပြုနေလျှင်တောင်မှ ဤအက်ပ်က သင့်တည်နေရာကို သုံးခွင့်ရနေပါမည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string>
@@ -480,14 +480,14 @@
     <string name="permgrouprequest_more_photos" msgid="128933814654231321">"ဤစက်ရှိ နောက်ထပ်ဓာတ်ပုံနှင့် ဗီဒီယိုများကို &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သုံးခွင့်ပေးမလား။"</string>
     <string name="permgrouprequest_microphone" msgid="2825208549114811299">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို အသံဖမ်းယူခွင့် ပေးလိုပါသလား။"</string>
     <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"ဤအက်ပ်ကို အသုံးပြုနေသည့် အချိန်တွင်သာ ၎င်းက အသံဖမ်းနိုင်သည်။"</string>
-    <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို အသံဖမ်းခွင့် ပေးလိုပါသလား။"</string>
+    <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို အသံဖမ်းခွင့် ပေးမလား။"</string>
     <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက တစ်ချိန်လုံး အသံဖမ်းယူလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string>
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&amp;gt အတွက် မိုက်ခရိုဖုန်း အသုံးပြုခွင့် ပြောင်းမလား။"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက တစ်ချိန်လုံး အသံဖမ်းလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သင့်ကိုယ်ခန္ဓာလှုပ်ရှားမှုကို  ဝင်ကြည့်ခွင့် ပေးလိုပါသလား။"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးလိုပါသလား။"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးမလား။"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ဤအက်ပ်ကို အသုံးပြုနေသည့် အချိန်တွင်သာ ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို ရိုက်ကူးနိုင်သည်။"</string>
-    <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးလိုပါသလား။"</string>
+    <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ကို ဓာတ်ပုံနှင့် ဗီဒီယိုရိုက်ကူးခွင့် ပေးမလား။"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို တစ်ချိန်လုံး ရိုက်ကူးလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&amp;gt အတွက် ကင်မရာအသုံးပြုခွင့် ပြောင်းမလား။"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"ဤအက်ပ်ကို သင်အသုံးမပြုနေလျှင်ပင် ၎င်းက ဓာတ်ပုံနှင့် ဗီဒီယိုများကို တစ်ချိန်လုံး ရိုက်ကူးလိုသည်။ "<annotation id="link">"ဆက်တင်များတွင် ခွင့်ပြုပါ။"</annotation></string>
diff --git a/PermissionController/res/values-ne/strings.xml b/PermissionController/res/values-ne/strings.xml
index 65b7fea..9f15102 100644
--- a/PermissionController/res/values-ne/strings.xml
+++ b/PermissionController/res/values-ne/strings.xml
@@ -32,9 +32,9 @@
     <string name="grant_dialog_button_no_upgrade" msgid="8344732743633736625">"“एप प्रयोगमा भएको बेलामा” शीर्षक कायम राख्नुहोस्"</string>
     <string name="grant_dialog_button_no_upgrade_one_time" msgid="5125892775684968694">"“यस बेला मात्र” राख्नुहोस्"</string>
     <string name="grant_dialog_button_more_info" msgid="213350268561945193">"थप जानकारी"</string>
-    <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"सबै डेटा प्रयोग गर्ने अनुमति दिनुहोस्"</string>
+    <string name="grant_dialog_button_allow_all" msgid="5939066403732409516">"सबै अनुमति दिइयोस्"</string>
     <string name="grant_dialog_button_always_allow_all" msgid="1719900027660252167">"सधैँ सबै अनुमति दिइयोस्"</string>
-    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"सीमित एक्सेस दिनुहोस्"</string>
+    <string name="grant_dialog_button_allow_limited_access" msgid="5713551784422137594">"सीमित एक्सेस दिइयोस्"</string>
     <string name="grant_dialog_button_allow_selected_photos" msgid="5497042471576153842">"फोटो र भिडियोहरू चयन गर्नुहोस्"</string>
     <string name="grant_dialog_button_allow_more_selected_photos" msgid="5145657877588697709">"अझ धेरै फोटो चयन गर्नुहोस्"</string>
     <string name="grant_dialog_button_dont_select_more" msgid="6643552729129461268">"थप डेटा चयन नगर्नुहोस्"</string>
@@ -205,7 +205,7 @@
     <string name="unused_apps_category_title" msgid="2988455616845243901">"प्रयोग नगरिएको एपसम्बन्धी सेटिङ"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"यो एप प्रयोग नहुँदा यसलाई दिइएका अनुमतिहरू रद्द गरियोस्"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"अनुमतिहरू हटाई ठाउँ खाली गरियोस्"</string>
-    <string name="unused_apps_label_v2" msgid="7058776770056517980">"एप प्रयोग नगरिएको अवस्थामा उक्त एपमा बिताएको समय रेकर्ड नगरियोस्"</string>
+    <string name="unused_apps_label_v2" msgid="7058776770056517980">"एप प्रयोग नगरिएको अवस्थामा उक्त एपमा गरिएको गतिविधि रेकर्ड नगरियोस्"</string>
     <string name="unused_apps_summary" msgid="8839466950318403115">"अनुमतिहरू रद्द गरियोस्, अस्थायी फाइलहरू मेटाइयोस् र एपसम्बन्धी सूचना नपठाइयोस्"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"तपाईंका डेटाको सुरक्षार्थ यो एप केही महिनासम्म प्रयोग नगरिएका खण्डमा यसलाई दिइएका अनुमति रद्द गरिने छन्।"</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"तपाईंका डेटाको सुरक्षार्थ यो एप केही महिनासम्म प्रयोग नगरिएका खण्डमा निम्न अनुमति रद्द गरिने छन्: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
@@ -429,7 +429,7 @@
     <string name="default_apps_manage_domain_urls" msgid="6775566451561036069">"लिंकहरू खोल्दा"</string>
     <string name="default_apps_for_work" msgid="4970308943596201811">"कार्यका लागि डिफल्ट"</string>
     <string name="default_app_none" msgid="9084592086808194457">"कुनै पनि होइन"</string>
-    <string name="default_app_system_default" msgid="6218386768175513760">"(डिफल्ट सिस्टम एप)"</string>
+    <string name="default_app_system_default" msgid="6218386768175513760">"(सिस्टम डिफल्ट)"</string>
     <string name="default_app_no_apps" msgid="115720991680586885">"कुनै पनि एप छैन"</string>
     <string name="car_default_app_selected" msgid="5416420830430644174">"चयन गरिएको"</string>
     <string name="car_default_app_selected_with_info" msgid="1932204186080593500">"चयन गरिएको - <xliff:g id="ADDITIONAL_INFO">%1$s</xliff:g>"</string>
@@ -445,14 +445,14 @@
     <string name="incident_report_notification_text" msgid="3376480583513587923">"<xliff:g id="APP_NAME">%1$s</xliff:g> डिबग प्रक्रियासम्बन्धी जानकारी अपलोड गर्न चाहन्छ।"</string>
     <string name="incident_report_dialog_title" msgid="669104389325204095">"डिबग प्रक्रियासम्बन्धी डेटा सेयर गर्ने हो?"</string>
     <string name="incident_report_dialog_intro" msgid="5897733669850951832">"प्रणालीले कुनै समस्या फेला पारेको छ"</string>
-    <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ले <xliff:g id="DATE">%2$s</xliff:g> <xliff:g id="TIME">%3$s</xliff:g> मा यो यन्त्रबाट लिएको बगको रिपोर्ट अपलोड गर्ने अनुरोध गर्दै छ। बग रिपोर्टमा प्रयोगकर्ताका नाम, स्ठानसम्बन्धी डेटा, डिभाइसका पहिचानकर्ता र नेटवर्कसम्बन्धी जानकारी जस्ता तपाईंको डिभाइसको व्यक्तिगत जानकारी वा अनुप्रयोगले लग गरेको जानकारी समावेश छ। तपाईंलाई यो जानकारी दिँदा फरक पर्दैन जस्तो लाग्ने विश्वसनीय मान्छे वा एपसँग मात्र बग रिपोर्टहरू सेयर गर्नुहोस्। <xliff:g id="APP_NAME_1">%4$s</xliff:g> लाई बग रिपोर्ट अपलोड गर्न दिने हो?"</string>
+    <string name="incident_report_dialog_text" msgid="5675553296891757523">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> ले <xliff:g id="DATE">%2$s</xliff:g> <xliff:g id="TIME">%3$s</xliff:g> मा यो यन्त्रबाट लिएको बगको रिपोर्ट अपलोड गर्ने अनुरोध गर्दै छ। बग रिपोर्टमा प्रयोगकर्ताका नाम, स्ठानसम्बन्धी डेटा, डिभाइसका पहिचानकर्ता र नेटवर्कसम्बन्धी जानकारी जस्ता तपाईंको डिभाइसको व्यक्तिगत जानकारी वा एपले लग गरेको जानकारी समावेश छ। तपाईंलाई यो जानकारी दिँदा फरक पर्दैन जस्तो लाग्ने विश्वसनीय मान्छे वा एपसँग मात्र बग रिपोर्टहरू सेयर गर्नुहोस्। <xliff:g id="APP_NAME_1">%4$s</xliff:g> लाई बग रिपोर्ट अपलोड गर्न दिने हो?"</string>
     <string name="incident_report_error_dialog_text" msgid="4189647113387092272">"<xliff:g id="APP_NAME">%1$s</xliff:g> को बगसम्बन्धी रिपोर्ट प्रक्रियामा लैजाने क्रममा त्रुटि भयो। त्यस कारण विस्तृत डिबग प्रक्रियासम्बन्धी डेटा आदान प्रदान गर्ने कार्य अस्वीकार गरिएको छ। व्यवधानका लागि क्षमा गर्नुहोला।"</string>
     <string name="incident_report_dialog_allow_label" msgid="2970242967721155239">"अनुमति दिनुहोस्"</string>
     <string name="incident_report_dialog_deny_label" msgid="3535314290677579383">"अनुमति नदिनुहोस्"</string>
     <string name="adjust_user_sensitive_title" msgid="4196724451314280527">"उन्नत सेटिङहरू"</string>
     <string name="menu_adjust_user_sensitive" msgid="6497923610654425780">"उन्नत सेटिङहरू"</string>
     <string name="adjust_user_sensitive_globally_title" msgid="8649190949066029174">"प्रणालीका एपको प्रयोगसम्बन्धी जानकारी देखाउनुहोस्"</string>
-    <string name="adjust_user_sensitive_globally_summary" msgid="129467818433773912">"प्रणालीका अनुप्रयोगले गर्ने अनुमतिको प्रयोगसम्बन्धी जानकारी स्टाटस बार, ड्यासबोर्ड र अन्यत्र देखाउनुहोस्"</string>
+    <string name="adjust_user_sensitive_globally_summary" msgid="129467818433773912">"प्रणालीका एपले गर्ने अनुमतिको प्रयोगसम्बन्धी जानकारी स्टाटस बार, ड्यासबोर्ड र अन्यत्र देखाउनुहोस्"</string>
     <string name="adjust_user_sensitive_per_app_header" msgid="4543506440989005648">"निम्न एपको प्रयोगसम्बन्धी जानकारी हाइलाइट गर्नुहोस्"</string>
     <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"सहायक ट्रिगर भएको पत्ता लागेमा देखाउनुहोस्"</string>
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"आवाज सहायक सक्रिय गर्न माइक्रोफोनको प्रयोग गरिँदा स्टाटस बारमा आइकन देखाउनुहोस्"</string>
diff --git a/PermissionController/res/values-nl/strings.xml b/PermissionController/res/values-nl/strings.xml
index a6b2083..3b81188 100644
--- a/PermissionController/res/values-nl/strings.xml
+++ b/PermissionController/res/values-nl/strings.xml
@@ -51,7 +51,7 @@
     <string name="permission_revoked_none" msgid="9213345075484381180">"geen rechten ingetrokken"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Toestaan"</string>
     <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Altijd toestaan"</string>
-    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Tijdens gebruik van de app"</string>
+    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Tijdens gebruik van app"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Wijzigen in exacte locatie"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Geschatte locatie behouden"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Alleen deze keer"</string>
@@ -371,7 +371,7 @@
     <string name="role_sms_search_keywords" msgid="8022048144395047352">"tekst bericht, tekstbericht, sms, sms\'en, berichten, verzenden, sturen"</string>
     <string name="role_emergency_label" msgid="7028825857206842366">"Standaardapp voor noodgevallen"</string>
     <string name="role_emergency_short_label" msgid="2388431453335350348">"Nood-app"</string>
-    <string name="role_emergency_description" msgid="5051840234887686630">"Apps waarmee je je medische gegevens kunt vastleggen en toegankelijk kunt maken voor hulpverleners; apps waarmee je waarschuwingen ontvangt voor gevaarlijk weer of rampen; apps waarmee je mensen kunt laten weten dat je hulp nodig hebt"</string>
+    <string name="role_emergency_description" msgid="5051840234887686630">"Apps waarmee je je medische info kunt vastleggen en toegankelijk kunt maken voor hulpverleners; apps waarmee je waarschuwingen krijgt voor gevaarlijk weer of rampen; apps waarmee je mensen kunt laten weten dat je hulp nodig hebt"</string>
     <string name="role_emergency_request_title" msgid="8469579020654348567">"Wil je <xliff:g id="APP_NAME">%1$s</xliff:g> instellen als je standaard-app voor noodgevallen?"</string>
     <string name="role_emergency_request_description" msgid="131645948770262850">"Geen rechten nodig"</string>
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"bij noodgevallen"</string>
@@ -457,10 +457,10 @@
     <string name="assistant_record_audio_user_sensitive_title" msgid="5532123360322362378">"Activeringsdetectie van de assistent tonen"</string>
     <string name="assistant_record_audio_user_sensitive_summary" msgid="6482937591816401619">"Icoon op statusbalk tonen als microfoon wordt gebruikt om de Spraakassistent te activeren"</string>
     <string name="permgrouprequest_storage_isolated" msgid="4892154224026852295">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot foto\'s en media op je apparaat?"</string>
-    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot je contacten?"</string>
-    <string name="permgrouprequest_location" msgid="6990232580121067883">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot de locatie van dit apparaat?"</string>
+    <string name="permgrouprequest_contacts" msgid="8391550064551053695">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang heeft tot je contacten?"</string>
+    <string name="permgrouprequest_location" msgid="6990232580121067883">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang heeft tot de locatie van dit apparaat?"</string>
     <string name="permgrouprequestdetail_location" msgid="2635935335778429894">"De app heeft alleen toegang tot de locatie wanneer je de app gebruikt"</string>
-    <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot de locatie van dit apparaat?"</string>
+    <string name="permgroupbackgroundrequest_location" msgid="1085680897265734809">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang heeft tot de locatie van dit apparaat?"</string>
     <string name="permgroupbackgroundrequestdetail_location" msgid="8021219324989662957">"Deze app wil mogelijk altijd toegang tot je locatie, ook als je de app niet gebruikt. "<annotation id="link">"Je kunt dit toestaan via de instellingen."</annotation></string>
     <string name="permgroupupgraderequest_location" msgid="8328408946822691636">"Toegang tot locatie wijzigen voor &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"Deze app wil altijd toegang tot je locatie, ook als je de app niet gebruikt. "<annotation id="link">"Je kunt dit toestaan via de instellingen."</annotation></string>
@@ -476,23 +476,23 @@
     <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot &lt;b&gt;foto\'s, video\'s, muziek en audio&lt;/b&gt; op dit apparaat?"</string>
     <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot &lt;b&gt;foto\'s, video\'s, muziek, audio en andere bestanden&lt;/b&gt; op dit apparaat?"</string>
     <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot muziek en audio op dit apparaat?"</string>
-    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot foto\'s en video\'s op dit apparaat?"</string>
+    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang heeft tot foto\'s en video\'s op dit apparaat?"</string>
     <string name="permgrouprequest_more_photos" msgid="128933814654231321">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot meer foto\'s en video\'s op dit apparaat?"</string>
-    <string name="permgrouprequest_microphone" msgid="2825208549114811299">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om audio op te nemen?"</string>
+    <string name="permgrouprequest_microphone" msgid="2825208549114811299">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; audio opneemt?"</string>
     <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"Deze app kan alleen audio opnemen als je de app gebruikt"</string>
-    <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om audio op te nemen?"</string>
+    <string name="permgroupbackgroundrequest_microphone" msgid="8874462606796368183">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; audio opneemt?"</string>
     <string name="permgroupbackgroundrequestdetail_microphone" msgid="553702902263681838">"Deze app wil mogelijk altijd audio opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in instellingen."</annotation></string>
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Toegang tot microfoon wijzigen voor &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Deze app wil altijd audio opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in instellingen."</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot je fysieke activiteit?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om foto\'s te maken en video\'s op te nemen?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; foto\'s maakt en video\'s opneemt?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Deze app kan alleen foto\'s maken en video\'s opnemen als je de app gebruikt"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om foto\'s te maken en video\'s op te nemen?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Deze app wil mogelijk altijd foto\'s maken en video\'s opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in Instellingen."</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Toegang tot camera wijzigen voor &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Deze app wil altijd foto\'s maken en video\'s opnemen, ook als je de app niet gebruikt. "<annotation id="link">"Toestaan in Instellingen."</annotation></string>
-    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot je gesprekslijsten?"</string>
-    <string name="permgrouprequest_phone" msgid="1829234136997316752">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om telefoongesprekken te starten en te beheren?"</string>
+    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang heeft tot je gesprekslijsten?"</string>
+    <string name="permgrouprequest_phone" msgid="1829234136997316752">"Toestaan dat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; telefoongesprekken start en beheert?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot sensorgegevens over je vitale functies?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Deze app wil altijd toegang tot gegevens van lichaamssensoren over je vitale functies, ook als je de app niet gebruikt. "<annotation id="link">"Ga naar Instellingen"</annotation>" als je deze wijziging wilt doorvoeren."</string>
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot sensorgegevens over je vitale functies?"</string>
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"Microfoontoegang"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Voor apps en services"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Voor apps en services. Als deze instelling uitstaat, kunnen microfoongegevens nog altijd worden gedeeld als je een alarmnummer belt."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"Bekijk apps en services die toegang hebben tot die locatie"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"Bekijk apps en services die toegang hebben tot de locatie"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Toegang tot klembord tonen"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Toon een bericht als apps toegang hebben tot tekst, afbeeldingen of andere content die je hebt gekopieerd"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Wachtwoorden tonen"</string>
@@ -610,7 +610,7 @@
     <string name="app_location_permission_rationale_title" msgid="925420340572401350">"Locatiegegevens kunnen worden gedeeld"</string>
     <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"Deze app geeft aan dat je locatiegegevens met derden kunnen worden gedeeld"</string>
     <string name="data_sharing_updates_title" msgid="7996933386875213859">"Updates voor het delen van locatiegegevens"</string>
-    <string name="data_sharing_updates_summary" msgid="764113985772233889">"Check apps die de manier hebben veranderd waarop je locatiegegevens worden gedeeld"</string>
+    <string name="data_sharing_updates_summary" msgid="764113985772233889">"Ga na welke apps de manier hebben veranderd waarop je locatiegegevens worden gedeeld"</string>
     <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"Deze apps hebben de manier veranderd waarop ze je locatiegegevens kunnen delen. Misschien deelden ze de gegevens eerder niet, of kunnen ze deze nu delen voor reclame- en marketingdoeleinden."</string>
     <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"De ontwikkelaars van deze apps hebben informatie gegeven aan een appstore over hun procedures voor gegevens delen. Ze kunnen deze informatie in de loop van de tijd updaten.\n\nProcedures voor gegevens delen kunnen verschillen op basis van je app-versie, gebruik, regio en leeftijd."</string>
     <string name="learn_about_data_sharing" msgid="4200480587079488045">"Meer informatie over gegevens delen"</string>
diff --git a/PermissionController/res/values-pa-v33/strings.xml b/PermissionController/res/values-pa-v33/strings.xml
index 8f1b9a2..0aa1433 100644
--- a/PermissionController/res/values-pa-v33/strings.xml
+++ b/PermissionController/res/values-pa-v33/strings.xml
@@ -28,7 +28,7 @@
     <string name="safety_center_entry_group_item_content_description" msgid="7348298582877249787">"ਸੂਚੀ ਆਈਟਮ। <xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string>
     <string name="safety_center_entry_content_description" msgid="3639565652938224321">"<xliff:g id="ENTRY_ITEM_TITLE">%1$s</xliff:g>. <xliff:g id="ENTRY_ITEM_SUMMARY">%2$s</xliff:g>"</string>
     <string name="safety_center_more_issues_card_title" msgid="7425844746197493312">"ਹੋਰ ਅਲਰਟ"</string>
-    <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"ਖਾਰਜ ਕੀਤੀਆਂ ਗਈਆਂ ਸੁਚੇਤਨਾਵਾਂ"</string>
+    <string name="safety_center_dismissed_issues_card_title" msgid="2340129842725145733">"ਖਾਰਜ ਕੀਤੇ ਅਲਰਟ"</string>
     <string name="safety_center_more_issues_card_expand_action" msgid="7109451851052272946">"{count,plural, =1{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ ਇੱਕ ਹੋਰ ਅਲਰਟ ਦੇਖੋ}one{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਅਲਰਟ ਦੇਖੋ}other{ਵਿਸਤਾਰ ਕਰੋ ਅਤੇ # ਹੋਰ ਅਲਰਟ ਦੇਖੋ}}"</string>
     <string name="safety_center_issue_card_prefix_content_description" msgid="1447445289637043544">"ਅਲਰਟ। <xliff:g id="ISSUE_CARD_TITLE">%1$s</xliff:g>"</string>
     <string name="safety_center_resolved_issue_fallback" msgid="8548932070610766651">"ਕਾਰਵਾਈ ਪੂਰੀ ਹੋਈ"</string>
diff --git a/PermissionController/res/values-pa/strings.xml b/PermissionController/res/values-pa/strings.xml
index 1c45396..e53c750 100644
--- a/PermissionController/res/values-pa/strings.xml
+++ b/PermissionController/res/values-pa/strings.xml
@@ -371,7 +371,7 @@
     <string name="role_sms_search_keywords" msgid="8022048144395047352">"ਲਿਖਤ ਸੁਨੇਹਾ, ਲਿਖਤ ਭੇਜਣਾ, ਸੁਨੇਹੇ, ਸੁਨੇਹਾ ਭੇਜਣਾ"</string>
     <string name="role_emergency_label" msgid="7028825857206842366">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਕਟਕਾਲੀਨ ਐਪ"</string>
     <string name="role_emergency_short_label" msgid="2388431453335350348">"ਸੰਕਟਕਾਲੀਨ ਐਪ"</string>
-    <string name="role_emergency_description" msgid="5051840234887686630">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਡਾਕਟਰੀ ਜਾਣਕਾਰੀ ਰਿਕਾਰਡ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਸੰਕਟਕਾਲੀਨ ਮਦਦਗਾਰਾਂ ਤੱਕ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਦਿੰਦੀਆਂ ਹਨ; ਗੰਭੀਰ ਮੌਸਮੀ ਘਟਨਾਵਾਂ ਅਤੇ ਆਫ਼ਤਾਂ ਬਾਰੇ ਸੁਚੇਤਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ; ਤੁਹਾਨੂੰ ਮਦਦ ਦੀ ਲੋੜ ਪੈਣ \'ਤੇ ਹੋਰਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ"</string>
+    <string name="role_emergency_description" msgid="5051840234887686630">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਡਾਕਟਰੀ ਜਾਣਕਾਰੀ ਰਿਕਾਰਡ ਕਰਨ ਅਤੇ ਇਸਨੂੰ ਐਮਰਜੈਂਸੀ ਮਦਦਗਾਰਾਂ ਤੱਕ ਪਹੁੰਚਯੋਗ ਬਣਾਉਣ ਦਿੰਦੀਆਂ ਹਨ; ਬਹੁਤ ਜ਼ਿਆਦਾ ਖਰਾਬ ਮੌਸਮੀ ਘਟਨਾਵਾਂ ਅਤੇ ਆਫ਼ਤਾਂ ਬਾਰੇ ਅਲਰਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ; ਤੁਹਾਨੂੰ ਮਦਦ ਦੀ ਲੋੜ ਪੈਣ \'ਤੇ ਹੋਰਾਂ ਨੂੰ ਸੂਚਿਤ ਕਰਨ ਦਿੰਦੀਆਂ ਹਨ"</string>
     <string name="role_emergency_request_title" msgid="8469579020654348567">"ਕੀ <xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਕਟਕਾਲੀਨ ਐਪ ਵਜੋਂ ਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
     <string name="role_emergency_request_description" msgid="131645948770262850">"ਕਿਸੇ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ"</string>
     <string name="role_emergency_search_keywords" msgid="1920007722599213358">"ice"</string>
@@ -400,8 +400,8 @@
     <string name="role_app_streaming_description" msgid="7341638576226183992">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀਆਂ ਸੂਚਨਾਵਾਂ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਨੂੰ ਕਨੈਕਟ ਕੀਤੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ।"</string>
     <string name="role_companion_device_computer_description" msgid="416099879217066377">"ਇਹ ਸੇਵਾ ਤੁਹਾਡੀਆਂ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੋਂ ਹੋਰ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰਦੀ ਹੈ।"</string>
     <string name="role_notes_label" msgid="7451627001058089536">"ਨੋਟ-ਕਥਨਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਐਪ"</string>
-    <string name="role_notes_short_label" msgid="8796604147546125285">"ਨੋਟ-ਕਥਨਾਂ ਲਈ ਐਪ"</string>
-    <string name="role_notes_description" msgid="8496852798616883551">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਨੋਟ-ਕਥਨ ਲੈਣ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ"</string>
+    <string name="role_notes_short_label" msgid="8796604147546125285">"ਨੋਟ ਲਈ ਐਪ"</string>
+    <string name="role_notes_description" msgid="8496852798616883551">"ਐਪਾਂ ਜੋ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡੀਵਾਈਸ \'ਤੇ ਨੋਟ ਲਿਖਣ ਦੀ ਸੁਵਿਧਾ ਦਿੰਦੀਆਂ ਹਨ"</string>
     <string name="role_notes_search_keywords" msgid="7710756695666744631">"ਨੋਟ-ਕਥਨ"</string>
     <string name="request_role_current_default" msgid="738722892438247184">"ਮੌਜੂਦਾ ਪੂਰਵ-ਨਿਰਧਾਰਤ"</string>
     <string name="request_role_dont_ask_again" msgid="3556017886029520306">"ਦੁਬਾਰਾ ਨਾ ਪੁੱਛੋ"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਲਈ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣਾ ਹੈ?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਆਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਆਪਣੀ ਸਰੀਰਕ ਸਰਗਰਮੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੇਣਾ ਹੈ?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਐਪ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਹੀ ਐਪ ਤਸਵੀਰਾਂ ਖਿੱਚ ਸਕੇਗੀ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰ ਸਕੇਗੀ"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਹੈ?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"ਇਹ ਐਪ ਹਰ ਵੇਲੇ ਤਸਵੀਰਾਂ ਖਿੱਚਣ ਅਤੇ ਵੀਡੀਓ ਰਿਕਾਰਡ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਸਕਦੀ ਹੈ, ਉਦੋਂ ਵੀ ਜਦੋਂ ਤੁਸੀਂ ਐਪ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰ ਰਹੇ ਹੋਵੋ। "<annotation id="link">"ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਜਾਜ਼ਤ ਦਿਓ।"</annotation></string>
diff --git a/PermissionController/res/values-pl/strings.xml b/PermissionController/res/values-pl/strings.xml
index 184f784..45a1fdd 100644
--- a/PermissionController/res/values-pl/strings.xml
+++ b/PermissionController/res/values-pl/strings.xml
@@ -342,7 +342,7 @@
     <string name="no_apps_allowed" msgid="7718822655254468631">"Nie zezwolono żadnym aplikacjom"</string>
     <string name="no_apps_allowed_full" msgid="8011716991498934104">"Brak aplikacji z uprawnieniami dla wszystkich plików"</string>
     <string name="no_apps_allowed_scoped" msgid="4908850477787659501">"Brak aplikacji z uprawnieniami tylko dla multimediów"</string>
-    <string name="no_apps_denied" msgid="7663435886986784743">"Nie zabroniono żadnym aplikacjom"</string>
+    <string name="no_apps_denied" msgid="7663435886986784743">"Nie zabroniono dostępu żadnym aplikacjom"</string>
     <string name="car_permission_selected" msgid="180837028920791596">"Wybrana"</string>
     <string name="settings" msgid="5409109923158713323">"Ustawienia"</string>
     <string name="accessibility_service_dialog_title_single" msgid="7956432823014102366">"Usługa <xliff:g id="SERVICE_NAME">%s</xliff:g> ma pełny dostęp do urządzenia"</string>
diff --git a/PermissionController/res/values-pt-rBR/strings.xml b/PermissionController/res/values-pt-rBR/strings.xml
index 7d52b00..d283167 100644
--- a/PermissionController/res/values-pt-rBR/strings.xml
+++ b/PermissionController/res/values-pt-rBR/strings.xml
@@ -248,8 +248,8 @@
     <string name="app_permission_never_accessed_summary" msgid="401346181461975090">"Nunca acessou"</string>
     <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Negado/nunca acessado"</string>
     <string name="allowed_header" msgid="7769277978004790414">"Permitido"</string>
-    <string name="allowed_always_header" msgid="6455903312589013545">"Permitido sempre"</string>
-    <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitido durante o uso"</string>
+    <string name="allowed_always_header" msgid="6455903312589013545">"Permitidos sempre"</string>
+    <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitidos durante o uso"</string>
     <string name="allowed_storage_scoped" msgid="5383645873719086975">"Com permissão para acessar apenas mídia"</string>
     <string name="allowed_storage_full" msgid="5356699280625693530">"Com permissão para gerenciar todos os arquivos"</string>
     <string name="ask_header" msgid="2633816846459944376">"Perguntar sempre"</string>
diff --git a/PermissionController/res/values-pt-rPT/strings.xml b/PermissionController/res/values-pt-rPT/strings.xml
index a0eee96..8306f90 100644
--- a/PermissionController/res/values-pt-rPT/strings.xml
+++ b/PermissionController/res/values-pt-rPT/strings.xml
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Não permitir"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Localização exata"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Localização aproximada"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Usar localização exata"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Localização exata"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Quando a localização exata está desativada, as apps podem aceder à sua localização aproximada"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Autorização de <xliff:g id="PERM">%1$s</xliff:g>"</string>
     <string name="app_permission_header" msgid="2951363137032603806">"Acesso desta app a <xliff:g id="PERM">%1$s</xliff:g>"</string>
@@ -205,8 +205,8 @@
     <string name="unused_apps_category_title" msgid="2988455616845243901">"Definições de apps não usadas"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Remover autorizações se a app não for utilizada"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Remover autorizações e libertar espaço"</string>
-    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade de apps, se não usadas"</string>
-    <string name="unused_apps_summary" msgid="8839466950318403115">"Remova autorizações, elimine ficheiros temporários e pare notificações"</string>
+    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Pausar atividade de apps se não usadas"</string>
+    <string name="unused_apps_summary" msgid="8839466950318403115">"Remover autorizações, eliminar ficheiros temporários e parar notificações"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Para proteger os seus dados, as autorizações desta app serão removidas se a mesma não for utilizada durante alguns meses."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Para proteger os seus dados, se a app não for utilizada há alguns meses, serão removidas as seguintes autorizações: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
     <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Para proteger os seus dados, foram removidas as autorizações para as apps que não utiliza há alguns meses."</string>
@@ -492,7 +492,7 @@
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Quer alterar o acesso à câmara para a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Esta app quer tirar fotos e gravar vídeos sempre, mesmo quando não a está a utilizar. "<annotation id="link">"Permita-o nas Definições."</annotation></string>
     <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Permitir que a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aceda aos registos de chamadas do seu telemóvel?"</string>
-    <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; faça e gira chamadas telefónicas?"</string>
+    <string name="permgrouprequest_phone" msgid="1829234136997316752">"Permitir que a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; passe a fazer e gerir chamadas telefónicas?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Permitir que a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aceda aos dados de sensores acerca dos seus sinais vitais?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Esta app quer aceder sempre aos dados de sensores sobre os seus sinais vitais, mesmo quando não a estiver a usar. Para fazer esta alteração, "<annotation id="link">"aceda às definições."</annotation></string>
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Permitir que a app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aceda aos dados de sensores acerca dos seus sinais vitais?"</string>
@@ -585,9 +585,9 @@
     <string name="mic_toggle_description" msgid="9163104307990677157">"Para apps e serviços. Se esta definição estiver desativada, os dados do microfone ainda podem ser partilhados quando ligar para um número de emergência."</string>
     <string name="location_settings_subtitle" msgid="2328360561197430695">"Veja as apps e os serviços que têm acesso à localização"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Mostrar acesso à área de transferência"</string>
-    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Apresente uma mensagem quando as apps acedem a texto, imagens ou outro conteúdo que copiou"</string>
+    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"Mostra uma mensagem quando as apps acedem a texto, imagens ou outro conteúdo que copiou"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Mostrar palavras-passe"</string>
-    <string name="show_password_summary" msgid="1110166488865981610">"Apresente rapidamente os carateres ao escrever"</string>
+    <string name="show_password_summary" msgid="1110166488865981610">"Mostra brevemente os carateres ao escrever"</string>
     <string name="permission_rationale_message_location" msgid="2153841534298068414">"Esta app declarou que pode partilhar dados de localização com terceiros"</string>
     <string name="permission_rationale_location_title" msgid="2404797182678793506">"Localização e partilha de dados"</string>
     <string name="permission_rationale_data_sharing_source_title" msgid="6874604543125814316">"Qual é a origem das informações da partilha de dados"</string>
diff --git a/PermissionController/res/values-pt/strings.xml b/PermissionController/res/values-pt/strings.xml
index 7d52b00..d283167 100644
--- a/PermissionController/res/values-pt/strings.xml
+++ b/PermissionController/res/values-pt/strings.xml
@@ -248,8 +248,8 @@
     <string name="app_permission_never_accessed_summary" msgid="401346181461975090">"Nunca acessou"</string>
     <string name="app_permission_never_accessed_denied_summary" msgid="6596000497490905146">"Negado/nunca acessado"</string>
     <string name="allowed_header" msgid="7769277978004790414">"Permitido"</string>
-    <string name="allowed_always_header" msgid="6455903312589013545">"Permitido sempre"</string>
-    <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitido durante o uso"</string>
+    <string name="allowed_always_header" msgid="6455903312589013545">"Permitidos sempre"</string>
+    <string name="allowed_foreground_header" msgid="6845655788447833353">"Permitidos durante o uso"</string>
     <string name="allowed_storage_scoped" msgid="5383645873719086975">"Com permissão para acessar apenas mídia"</string>
     <string name="allowed_storage_full" msgid="5356699280625693530">"Com permissão para gerenciar todos os arquivos"</string>
     <string name="ask_header" msgid="2633816846459944376">"Perguntar sempre"</string>
diff --git a/PermissionController/res/values-ru-v34/strings.xml b/PermissionController/res/values-ru-v34/strings.xml
index 64a927b..64a5167 100644
--- a/PermissionController/res/values-ru-v34/strings.xml
+++ b/PermissionController/res/values-ru-v34/strings.xml
@@ -17,7 +17,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="security_privacy_brand_name" msgid="7303621734258440812">"Защита и конфиденциальность"</string>
+    <string name="security_privacy_brand_name" msgid="7303621734258440812">"Безопасность и кон­фи­ден­циаль­ность"</string>
     <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"Настройки"</string>
     <string name="health_connect_title" msgid="2132233890867430855">"Здоровье и спорт"</string>
     <string name="health_connect_summary" msgid="815473513776882296">"Настроить доступ приложений к данным о здоровье"</string>
diff --git a/PermissionController/res/values-ru/strings.xml b/PermissionController/res/values-ru/strings.xml
index bd46093..2f6da82 100644
--- a/PermissionController/res/values-ru/strings.xml
+++ b/PermissionController/res/values-ru/strings.xml
@@ -195,7 +195,7 @@
     <string name="app_permission_button_deny" msgid="6016454069832050300">"Запретить"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"Точное местоположение"</string>
     <string name="approximate_image_description" msgid="938803699637069884">"Приблизительное местоположение"</string>
-    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Использовать точное местоположение"</string>
+    <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Точное местоположение"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Если определение точного местоположения отключено, приложения могут использовать данные о примерном местоположении устройства"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"Разрешение \"<xliff:g id="PERM">%1$s</xliff:g>\""</string>
     <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g>: доступ для этого приложения"</string>
@@ -522,7 +522,7 @@
     <string name="blocked_sensor_summary" msgid="4443707628305027375">"Для приложений и сервисов"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"Данные микрофона могут передаваться при звонке на номер экстренной службы"</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Изменить"</string>
-    <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Защита и конфиденциальность"</string>
+    <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"Защита и кон­фи­ден­циаль­ность"</string>
     <string name="safety_center_rescan_button" msgid="4517514567809409596">"Сканировать устройство"</string>
     <string name="safety_center_issue_card_dismiss_button" msgid="5113965506144222402">"Закрыть"</string>
     <string name="safety_center_issue_card_dismiss_confirmation_title" msgid="2734809473425036382">"Закрыть оповещение?"</string>
@@ -533,7 +533,7 @@
     <string name="safety_status_preference_title_and_summary_content_description" msgid="3511373256505058464">"Статус безопасности и конфиденциальности. <xliff:g id="OVERALL_SAFETY_STATUS">%1$s</xliff:g>. <xliff:g id="SUMMARY_OF_DEVICE_STATUS">%2$s</xliff:g>"</string>
     <string name="security_settings" msgid="3808106921175271317">"Настройки безопасности"</string>
     <string name="sensor_permissions_qs" msgid="1022267900031317472">"Разрешения"</string>
-    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Защита и конфиденциальность"</string>
+    <string name="safety_privacy_qs_tile_title" msgid="727301867710374052">"Безопасность и кон­фи­ден­циаль­ность"</string>
     <string name="safety_privacy_qs_tile_subtitle" msgid="3621544532041936749">"Проверьте статус."</string>
     <string name="privacy_controls_qs" msgid="5780144882040591169">"Ваши настройки конфиденциальности"</string>
     <string name="security_settings_button_label_qs" msgid="8280343822465962330">"Другие настройки"</string>
diff --git a/PermissionController/res/values-sk/strings.xml b/PermissionController/res/values-sk/strings.xml
index 66bf1b6..23d92f3 100644
--- a/PermissionController/res/values-sk/strings.xml
+++ b/PermissionController/res/values-sk/strings.xml
@@ -491,7 +491,7 @@
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Táto aplikácia môže požadovať nepretržitý prístup k foteniu a nahrávaniu videí, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Chcete aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; zmeniť prístup k fotoaparátu?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Táto aplikácia požaduje nepretržitý prístup k foteniu a nahrávaniu videí, aj keď ju nepoužívate. "<annotation id="link">"Povolíte ho v nastaveniach."</annotation></string>
-    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Chcete povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; prístup k zoznamu tel. hovorov?"</string>
+    <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Chcete povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; prístup k zoznamu hovorov?"</string>
     <string name="permgrouprequest_phone" msgid="1829234136997316752">"Chcete povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uskutočňovať a spravovať telefonické hovory?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; používať údaje senzorov o vašich životných funkciách?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Táto aplikácia požaduje nepretržitý prístup k dátam senzorov o vašich životných funkciách, a to aj vtedy, keď ju nepoužívate. Povolíte to "<annotation id="link">"v nastaveniach"</annotation>"."</string>
diff --git a/PermissionController/res/values-sl/strings.xml b/PermissionController/res/values-sl/strings.xml
index 388c1f0..02e7c99 100644
--- a/PermissionController/res/values-sl/strings.xml
+++ b/PermissionController/res/values-sl/strings.xml
@@ -498,7 +498,7 @@
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti dostop do podatkov tipal o vitalnih znakih?"</string>
     <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Če želite tej aplikaciji omogočiti stalen dostop do podatkov tipal telesnih funkcij, tudi ko je ne uporabljate, "<annotation id="link">"pojdite v nastavitve"</annotation>"."</string>
     <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"Ali želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; še naprej dovoliti dostop do podatkov tipal telesnih funkcij, ko je v uporabi?"</string>
-    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti, da vam pošilja obvestila?"</string>
+    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; dovoliti, da vam pošilja obvestila?"</string>
     <string name="auto_granted_permissions" msgid="6009452264824455892">"Zunanje upravljana dovoljenja"</string>
     <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> ima dostop do lokacije"</string>
     <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Vaša organizacija aplikaciji <xliff:g id="APP_NAME">%1$s</xliff:g> dovoljuje dostop do vaše lokacije."</string>
diff --git a/PermissionController/res/values-sr/strings.xml b/PermissionController/res/values-sr/strings.xml
index 1228f18..aaacc9c 100644
--- a/PermissionController/res/values-sr/strings.xml
+++ b/PermissionController/res/values-sr/strings.xml
@@ -438,7 +438,7 @@
     <string name="no_special_app_access" msgid="6950277571805106247">"Нема посебног приступа апл."</string>
     <string name="special_app_access_no_apps" msgid="4102911722787886970">"Нема апликација"</string>
     <string name="home_missing_work_profile_support" msgid="1756855847669387977">"Не подржава пословни профил"</string>
-    <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Напомена: Ако рестартујете уређај и подесили сте закључавање екрана, ова апликација не може да се покрене док не откључате уређај."</string>
+    <string name="encryption_unaware_confirmation_message" msgid="8274491794636402484">"Напомена: Ако рестартујете уређај и подесили сте откључавање екрана, ова апликација не може да се покрене док не откључате уређај."</string>
     <string name="assistant_confirmation_message" msgid="7476540402884416212">"Помоћник ће моћи да чита информације о апликацијама које се користе у систему, укључујући информације видљиве на екрану или којима може да се приступа у оквиру апликација."</string>
     <string name="incident_report_channel_name" msgid="3144954065936288440">"Дељење података о отклањању грешака"</string>
     <string name="incident_report_notification_title" msgid="4635984625656519773">"Делите детаљне податке за отклањање грешака?"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Желите да промените приступ микрофону за апликацију &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Ова апликација жели да снима звук све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Желите ли да дозволите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; приступа физичким активностима?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Желите да дозволите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; снима слике и видео снимке?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Желите да дозволите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; снима слике и видео?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Апликација ће моћи да снима слике и видео снимке само док користите апликацију"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Желите да дозволите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; снима слике и видео снимке?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Ова апликација можда жели да снима слике и видео снимке све време, чак и када не користите апликацију. "<annotation id="link">"Дозволите у подешавањима."</annotation></string>
diff --git a/PermissionController/res/values-te/strings.xml b/PermissionController/res/values-te/strings.xml
index 02e2616..53f11b9 100644
--- a/PermissionController/res/values-te/strings.xml
+++ b/PermissionController/res/values-te/strings.xml
@@ -583,9 +583,9 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"మైక్రోఫోన్ యాక్సెస్"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"యాప్‌లు, సర్వీస్‌ల కోసం"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"యాప్‌లు, సర్వీస్‌ల కోసం. ఈ సెట్టింగ్ ఆఫ్ చేయబడి ఉన్నట్లయితే, మీరు ఎమర్జెన్సీ నంబర్‌కు కాల్ చేసినప్పుడు మైక్రోఫోన్ డేటా ఇప్పటికీ షేర్ చేయబడవచ్చు."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"లొకేషన్‌కు యాక్సెస్ ఉన్న యాప్‌లు, సర్వీస్‌లను చూడండి"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"లొకేషన్ యాక్సెస్ ఉన్న యాప్‌లను, సర్వీస్‌లను చూడండి"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"క్లిప్‌బోర్డ్ యాక్సెస్‌ను చూపించండి"</string>
-    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"మీరు కాపీ చేసిన టెక్స్ట్, ఇమేజ్‌లను లేదా ఇతర కంటెంట్‌ను యాప్‌లు యాక్సెస్ చేసినప్పుడు మెసేజ్‌ను చూపుతుంది"</string>
+    <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"మీరు కాపీ చేసిన టెక్స్ట్‌ను, ఇమేజ్‌లను లేదా ఇతర కంటెంట్‌ను యాప్‌లు యాక్సెస్ చేసినప్పుడు ఒక మెసేజ్‌ను చూపుతుంది"</string>
     <string name="show_password_title" msgid="2877269286984684659">"పాస్‌వర్డ్‌లను చూపిస్తుంది"</string>
     <string name="show_password_summary" msgid="1110166488865981610">"మీరు టైప్ చేస్తున్నప్పుడు అక్షరాలను క్లుప్తంగా చూపిస్తుంది"</string>
     <string name="permission_rationale_message_location" msgid="2153841534298068414">"ఈ యాప్, అది లొకేషన్ డేటాను థర్డ్-పార్టీలతో షేర్ చేయవచ్చని పేర్కొంది"</string>
diff --git a/PermissionController/res/values-th-v34/strings.xml b/PermissionController/res/values-th-v34/strings.xml
index 8e6bae8..08f3197 100644
--- a/PermissionController/res/values-th-v34/strings.xml
+++ b/PermissionController/res/values-th-v34/strings.xml
@@ -20,7 +20,7 @@
     <string name="security_privacy_brand_name" msgid="7303621734258440812">"ความปลอดภัยและความเป็นส่วนตัว"</string>
     <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"การควบคุม"</string>
     <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string>
-    <string name="health_connect_summary" msgid="815473513776882296">"จัดการสิทธิ์เข้าถึงข้อมูลสุขภาพของแอป"</string>
+    <string name="health_connect_summary" msgid="815473513776882296">"จัดการสิทธิ์ของแอปในการเข้าถึงข้อมูลสุขภาพ"</string>
     <string name="location_settings" msgid="8863940440881290182">"สิทธิ์เข้าถึงตำแหน่ง"</string>
     <string name="mic_toggle_description" msgid="1504101620086616040">"สำหรับแอปและบริการ หากปิดการตั้งค่านี้ ระบบอาจยังคงแชร์ข้อมูลไมโครโฟนเมื่อคุณโทรหาหมายเลขฉุกเฉิน"</string>
     <string name="location_settings_subtitle" msgid="6846532794702613851">"สำหรับแอปและบริการ"</string>
diff --git a/PermissionController/res/values-th/strings.xml b/PermissionController/res/values-th/strings.xml
index aef68d4..f3ef89b 100644
--- a/PermissionController/res/values-th/strings.xml
+++ b/PermissionController/res/values-th/strings.xml
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"สิทธิ์เข้าถึงไมโครโฟน"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"สำหรับแอปและบริการ"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"สำหรับแอปและบริการ หากปิดการตั้งค่านี้ ระบบอาจยังคงแชร์ข้อมูลไมโครโฟนเมื่อคุณโทรหาหมายเลขฉุกเฉิน"</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"ดูแอปและบริการที่มีสิทธิ์เข้าถึงสถานที่ตั้ง"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"ดูแอปและบริการที่มีสิทธิ์เข้าถึงตำแหน่ง"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"แสดงการเข้าถึงคลิปบอร์ด"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"แสดงข้อความเมื่อแอปเข้าถึงข้อความ รูปภาพ หรือเนื้อหาอื่นๆ ที่คุณคัดลอก"</string>
     <string name="show_password_title" msgid="2877269286984684659">"แสดงรหัสผ่าน"</string>
diff --git a/PermissionController/res/values-uk-v34/strings.xml b/PermissionController/res/values-uk-v34/strings.xml
index 5d14c8e..6b74a35 100644
--- a/PermissionController/res/values-uk-v34/strings.xml
+++ b/PermissionController/res/values-uk-v34/strings.xml
@@ -17,7 +17,7 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="security_privacy_brand_name" msgid="7303621734258440812">"Безпека й конфіденційність"</string>
+    <string name="security_privacy_brand_name" msgid="7303621734258440812">"Захист і конфіденційність"</string>
     <string name="privacy_subpage_controls_header" msgid="4152396976713749322">"Параметри"</string>
     <string name="health_connect_title" msgid="2132233890867430855">"Health Connect"</string>
     <string name="health_connect_summary" msgid="815473513776882296">"Керуйте доступом додатків до даних про здоров’я"</string>
diff --git a/PermissionController/res/values-uk/strings.xml b/PermissionController/res/values-uk/strings.xml
index 335f6bd..6026902 100644
--- a/PermissionController/res/values-uk/strings.xml
+++ b/PermissionController/res/values-uk/strings.xml
@@ -206,7 +206,7 @@
     <string name="auto_revoke_label" msgid="5068393642936571656">"Відкликати дозволи, якщо додаток не використовується"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Вилучати дозволи й звільняти місце"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"Призупиняти роботу в неактивний період"</string>
-    <string name="unused_apps_summary" msgid="8839466950318403115">"Вилучити дозволи, видалити тимчасові файли та зупинити сповіщення"</string>
+    <string name="unused_apps_summary" msgid="8839466950318403115">"Вилучити дозволи, видалити тимчасові файли й зупинити сповіщення"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Щоб захистити ваші дані, дозволи для цього додатка буде автоматично скасовано, якщо ви не будете користуватися ним кілька місяців."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Якщо додаток не використовується впродовж кількох місяців, для захисту ваших даних буде скасовано такі дозволи: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
     <string name="auto_revoked_apps_page_summary" msgid="6594753657893756536">"Щоб захистити ваші дані, було скасовано дозволи додатків, які не використовувалися впродовж кількох місяців."</string>
@@ -232,7 +232,7 @@
     <string name="permission_description_summary_activity_recognition" msgid="2652850576497070146">"Додатки з цим дозволом мають доступ до даних про вашу фізичну активність (ходьбу, поїздки на велосипеді й автомобілі, кількість кроків тощо)"</string>
     <string name="permission_description_summary_calendar" msgid="103329982944411010">"Додатки з цим дозволом мають доступ до вашого календаря"</string>
     <string name="permission_description_summary_call_log" msgid="7321437186317577624">"Додатки з цим дозволом можуть переглядати й редагувати ваш журнал викликів"</string>
-    <string name="permission_description_summary_camera" msgid="108004375101882069">"Додатки з цим дозволом можуть робити знімки та записувати відео"</string>
+    <string name="permission_description_summary_camera" msgid="108004375101882069">"Додатки з цим дозволом можуть робити знімки й записувати відео"</string>
     <string name="permission_description_summary_contacts" msgid="2337798886460408996">"Додатки з цим дозволом мають доступ до ваших контактів"</string>
     <string name="permission_description_summary_location" msgid="2817531799933480694">"Додатки з цим дозволом мають доступ до геоданих цього пристрою"</string>
     <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"Додатки з цим дозволом можуть знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування."</string>
@@ -353,7 +353,7 @@
     <string name="role_assistant_short_label" msgid="3369003713187703399">"Цифровий помічник"</string>
     <string name="role_assistant_description" msgid="6622458130459922952">"Помічники надають допомогу на основі вмісту, який ви переглядаєте на екрані. Задля ефективності деякі додатки підтримують панель запуску й голосовий ввід."</string>
     <string name="role_browser_label" msgid="2877796144554070207">"Веб-переглядач за умовчанням"</string>
-    <string name="role_browser_short_label" msgid="6745009127123292296">"Веб-переглядач"</string>
+    <string name="role_browser_short_label" msgid="6745009127123292296">"Вебпереглядач"</string>
     <string name="role_browser_description" msgid="3465253637499842671">"Додатки, за допомогою яких можна переглядати сайти й переходити за посиланнями"</string>
     <string name="role_browser_request_title" msgid="2895200507835937192">"Зробити <xliff:g id="APP_NAME">%1$s</xliff:g> веб-переглядачем за умовчанням?"</string>
     <string name="role_browser_request_description" msgid="5888803407905985941">"Дозволи не потрібні"</string>
@@ -485,14 +485,14 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Змінити налаштування доступу до мікрофона для додатка &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Цей додаток може записувати звук, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Надати додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до даних про фізичну активність?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; робити знімки та записувати відео?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; робити знімки й записувати відео?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Додаток зможе робити фотографії та записувати відео, лише коли ви використовуєте його"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; робити знімки й записувати відео?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Цей додаток може робити фотографії та записувати відео, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string>
     <string name="permgroupupgraderequest_camera" msgid="640758449200241582">"Змінити налаштування доступу до камери для додатка &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_camera" msgid="6642747548010962597">"Цей додаток може робити фотографії та записувати відео, навіть коли ви не використовуєте його. Дозвіл можна надати в "<annotation id="link">"налаштуваннях"</annotation>"."</string>
     <string name="permgrouprequest_calllog" msgid="2065327180175371397">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до журналів викликів телефона?"</string>
-    <string name="permgrouprequest_phone" msgid="1829234136997316752">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; здійснювати телефонні дзвінки та керувати ними?"</string>
+    <string name="permgrouprequest_phone" msgid="1829234136997316752">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; здійснювати телефонні дзвінки й керувати ними?"</string>
     <string name="permgrouprequest_sensors" msgid="4397358316850652235">"Надати додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до життєвих показників із датчиків?"</string>
     <string name="permgroupupgraderequestdetail_sensors" msgid="6651914048792092835">"Цей додаток хоче постійно отримувати дані життєвих показників від датчиків, навіть коли ви не використовуєте його. Щоб внести зміни, "<annotation id="link">"перейдіть у налаштування"</annotation>"."</string>
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до життєвих показників із датчиків?"</string>
@@ -583,7 +583,7 @@
     <string name="mic_toggle_title" msgid="2649991093496110162">"Доступ до мікрофона"</string>
     <string name="perm_toggle_description" msgid="7801326363741451379">"Для додатків і сервісів"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"Для додатків і сервісів. Якщо це налаштування вимкнено, дані мікрофона можуть усе одно передаватися під час виклику екстреного номера."</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"Перегляньте додатки та сервіси, які мають доступ до геоданих"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"Перегляньте додатки й сервіси, які мають доступ до геоданих"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"Показувати сповіщення про доступ до буфера обміну"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"З’являтиметься сповіщення, коли будь-який додаток отримуватиме доступ до скопійованого вами тексту, зображень чи іншого контенту"</string>
     <string name="show_password_title" msgid="2877269286984684659">"Показувати паролі"</string>
diff --git a/PermissionController/res/values-uz/strings.xml b/PermissionController/res/values-uz/strings.xml
index b616ba1..dd99b7a 100644
--- a/PermissionController/res/values-uz/strings.xml
+++ b/PermissionController/res/values-uz/strings.xml
@@ -498,7 +498,7 @@
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uchun organizm holati haqidagi sensor axborotlariga ruxsat berilsinmi?"</string>
     <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"Bu ilovaga tanadagi sensor maʼlumotlaridan foydalanishga (hatto ilova yopiqligida ham) doimiy ruxsat berish uchun "<annotation id="link">"sozlamalarni oching."</annotation></string>
     <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ilovasining tanadagi sensor maʼlumotlaridan foydalanishiga ruxsat berilsinmi?"</string>
-    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ilovasiga sizga bildirishnomalar yuborishi uchun ruxsat berilsinmi?"</string>
+    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; sizga bildirishnomalar yuborishi uchun ruxsat berilsinmi?"</string>
     <string name="auto_granted_permissions" msgid="6009452264824455892">"Boshqariluvchi ruxsatlar"</string>
     <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"<xliff:g id="APP_NAME">%1$s</xliff:g> joylashuvga kira oladi"</string>
     <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"Tashkilotingiz <xliff:g id="APP_NAME">%1$s</xliff:g> ilovasiga joylashuvingizga kirishga ruxsat bergan"</string>
@@ -518,7 +518,7 @@
     <string name="exempt_info_label" msgid="6286190981253476699">"<xliff:g id="APP_NAME">%1$s</xliff:g> Android tomonidan himoyalangan. Maʼlumotlaringiz qurilmada qayta ishlanishi sababli ilovaning ruxsatlardan foydalanish statistikasi maxfiylik boshqaruv panelida chiqmaydi."</string>
     <string name="blocked_camera_title" msgid="1128510551791284384">"Qurilma kamerasi bloklandi"</string>
     <string name="blocked_microphone_title" msgid="1631517143648232585">"Qurilma mikrofoni bloklandi"</string>
-    <string name="blocked_location_title" msgid="2005608279812892383">"Qurilmada joylashuv axboroti yoqilmagan"</string>
+    <string name="blocked_location_title" msgid="2005608279812892383">"Qurilmada joylashuvni aniqlash oʻchiq"</string>
     <string name="blocked_sensor_summary" msgid="4443707628305027375">"Ilovalar va xizmatlar uchun"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"Favqulodda xizmat raqamiga telefon qilganingizda mikrofon maʼlumotlari hamon ulashilishi mumkin."</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"Oʻzgartirish"</string>
diff --git a/PermissionController/res/values-v33/styles.xml b/PermissionController/res/values-v33/styles.xml
index c018ca0..9434461 100644
--- a/PermissionController/res/values-v33/styles.xml
+++ b/PermissionController/res/values-v33/styles.xml
@@ -566,6 +566,12 @@
         <item name="android:background">@drawable/safety_center_more_issues_card_background</item>
     </style>
 
+    <style name="SafetyCenterMoreIssuesIcon"
+           parent="android:Widget.DeviceDefault">
+        <item name="android:layout_height">20dp</item>
+        <item name="android:layout_width">20dp</item>
+    </style>
+
     <style name="SafetyCenterMoreIssuesTitle"
            parent="SafetyCenterBaseTextContainer">
         <item name="android:textAppearance">@style/TextAppearance.Material3.LabelLarge</item>
@@ -576,43 +582,22 @@
         <item name="android:layout_marginEnd">@dimen/sc_spacing_xxlarge</item>
         <item name="android:maxLines">2</item>
         <item name="android:ellipsize">end</item>
-        <item name="layout_constraintTop_toTopOf">parent</item>
-        <item name="layout_constraintBottom_toBottomOf">parent</item>
-        <item name="layout_constraintStart_toEndOf">@id/status_icon</item>
-        <item name="layout_constraintEnd_toStartOf">@android:id/widget_frame</item>
         <item name="layout_constraintHorizontal_bias">0</item>
         <item name="layout_goneMarginStart">0dp</item>
     </style>
 
-    <style name="SafetyCenterMoreIssuesIcon"
-           parent="android:Widget.DeviceDefault">
-        <item name="android:layout_height">20dp</item>
-        <item name="android:layout_width">20dp</item>
-        <item name="android:gravity">center</item>
-        <item name="layout_constraintTop_toTopOf">parent</item>
-        <item name="layout_constraintBottom_toBottomOf">parent</item>
-        <item name="layout_constraintStart_toStartOf">parent</item>
-    </style>
-
     <style name="SafetyCenterMoreIssuesCounter"
            parent="android:Widget.DeviceDefault">
-        <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_width">wrap_content</item>
-        <item name="android:orientation">horizontal</item>
-        <item name="android:paddingHorizontal">@dimen/sc_spacing_xsmall</item>
+        <item name="android:layout_height">0dp</item>
+        <item name="android:layout_width">0dp</item>
         <item name="android:background">@drawable/safety_center_card_widget_background</item>
-        <item name="android:gravity">center_vertical</item>
-        <item name="layout_constraintTop_toTopOf">parent</item>
-        <item name="layout_constraintBottom_toBottomOf">parent</item>
-        <item name="layout_constraintEnd_toEndOf">parent</item>
     </style>
 
     <style name="SafetyCenterMoreIssuesWidgetTitle"
            parent="SafetyCenterBaseTextContainer">
         <item name="android:textAppearance">@style/TextAppearance.SafetyCenter.Body</item>
-        <item name="android:lineHeight">@dimen/sc_line_height_medium</item>
-        <item name="android:paddingVertical">@dimen/sc_spacing_xxxsmall</item>
         <item name="android:textColor">?android:attr/textColorPrimary</item>
+	<item name="android:paddingStart">@dimen/sc_spacing_xsmall</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_marginEnd">@dimen/sc_spacing_xxxsmall</item>
@@ -623,8 +608,8 @@
            parent="android:Widget.DeviceDefault">
         <item name="android:layout_height">16dp</item>
         <item name="android:layout_width">16dp</item>
-        <item name="android:gravity">center</item>
         <item name="android:scaleType">fitCenter</item>
+	<item name="android:layout_marginEnd">@dimen/sc_spacing_xsmall</item>
     </style>
 
     <style name="SafetyCenterEntry"
diff --git a/PermissionController/res/values-vi/strings.xml b/PermissionController/res/values-vi/strings.xml
index 26c442b..6b68e6f 100644
--- a/PermissionController/res/values-vi/strings.xml
+++ b/PermissionController/res/values-vi/strings.xml
@@ -205,7 +205,7 @@
     <string name="unused_apps_category_title" msgid="2988455616845243901">"Chế độ cài đặt cho ứng dụng không dùng đến"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"Thu hồi quyền nếu bạn không dùng ứng dụng"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"Thu hồi quyền và giải phóng dung lượng"</string>
-    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tạm dừng hoạt động trong ứng dụng nếu không dùng"</string>
+    <string name="unused_apps_label_v2" msgid="7058776770056517980">"Tạm dừng hoạt động của ứng dụng nếu không dùng"</string>
     <string name="unused_apps_summary" msgid="8839466950318403115">"Loại bỏ quyền, xoá tệp tạm thời và dừng thông báo"</string>
     <string name="auto_revoke_summary" msgid="5867548789805911683">"Để bảo vệ dữ liệu của bạn, các quyền cấp cho ứng dụng này sẽ bị thu hồi nếu bạn không dùng ứng dụng trong vài tháng."</string>
     <string name="auto_revoke_summary_with_permissions" msgid="389712086597285013">"Để bảo vệ dữ liệu của bạn, nếu bạn không dùng ứng dụng này trong vài tháng thì các quyền sau đây sẽ bị thu hồi: <xliff:g id="PERMS">%1$s</xliff:g>"</string>
diff --git a/PermissionController/res/values-zh-rCN/strings.xml b/PermissionController/res/values-zh-rCN/strings.xml
index ce603cb..86b06f4 100644
--- a/PermissionController/res/values-zh-rCN/strings.xml
+++ b/PermissionController/res/values-zh-rCN/strings.xml
@@ -234,7 +234,7 @@
     <string name="permission_description_summary_call_log" msgid="7321437186317577624">"具有此权限的应用可以读取和写入手机通话记录"</string>
     <string name="permission_description_summary_camera" msgid="108004375101882069">"具有此权限的应用可以拍摄照片和录制视频"</string>
     <string name="permission_description_summary_contacts" msgid="2337798886460408996">"具有此权限的应用可以访问您的通讯录"</string>
-    <string name="permission_description_summary_location" msgid="2817531799933480694">"具有此权限的应用可以使用此设备的位置信息"</string>
+    <string name="permission_description_summary_location" msgid="2817531799933480694">"具有此权限的应用可以访问此设备的位置信息"</string>
     <string name="permission_description_summary_nearby_devices" msgid="8269183818275073741">"具有这项权限的应用可以查找、连接附近设备,以及确定附近设备的相对位置"</string>
     <string name="permission_description_summary_microphone" msgid="630834800308329907">"具有此权限的应用可以录制音频"</string>
     <string name="permission_description_summary_phone" msgid="4515277217435233619">"具有此权限的应用可以拨打电话及管理通话"</string>
@@ -609,8 +609,8 @@
     <string name="app_permission_rationale_message" msgid="8511466916077100713">"数据安全"</string>
     <string name="app_location_permission_rationale_title" msgid="925420340572401350">"可能会分享位置数据"</string>
     <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"此应用已声明它可能会与第三方分享您的位置数据"</string>
-    <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置数据分享方面的更新"</string>
-    <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看改变了位置数据分享方式的应用"</string>
+    <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置数据共享方面的更新"</string>
+    <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看改变了位置数据共享方式的应用"</string>
     <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"这些应用改变了它们在分享您位置数据上的做法。它们之前可能未分享过位置数据,也可能现在是为了广告或营销目的而分享此类数据。"</string>
     <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"这些应用的开发者已将其数据分享做法相关信息提供给应用商店。此类信息可能会随时间更新。\n\n数据分享做法可能会因应用版本、使用情况、地区和年龄而异。"</string>
     <string name="learn_about_data_sharing" msgid="4200480587079488045">"了解数据分享"</string>
diff --git a/PermissionController/res/values-zh-rHK/strings.xml b/PermissionController/res/values-zh-rHK/strings.xml
index 299e7da..4cfedc7 100644
--- a/PermissionController/res/values-zh-rHK/strings.xml
+++ b/PermissionController/res/values-zh-rHK/strings.xml
@@ -202,7 +202,7 @@
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看「<xliff:g id="APP">%1$s</xliff:g>」的所有權限"</string>
     <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"查看擁有此權限的所有應用程式"</string>
     <string name="assistant_mic_label" msgid="1011432357152323896">"顯示「Google 助理」麥克風使用情況"</string>
-    <string name="unused_apps_category_title" msgid="2988455616845243901">"未使用的應用程式設定"</string>
+    <string name="unused_apps_category_title" msgid="2988455616845243901">"不使用的應用程式設定"</string>
     <string name="auto_revoke_label" msgid="5068393642936571656">"如不使用應用程式,即移除權限"</string>
     <string name="unused_apps_label" msgid="2595428768404901064">"移除權限並騰出空間"</string>
     <string name="unused_apps_label_v2" msgid="7058776770056517980">"暫停未使用應用程式的活動"</string>
@@ -476,7 +476,7 @@
     <string name="permgrouprequest_storage_q_to_s" msgid="8213701872983685505">"要允許 &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; 存取此裝置上的&lt;b&gt;相片、影片、音樂和音訊&lt;/b&gt;嗎?"</string>
     <string name="permgrouprequest_storage_pre_q" msgid="168130651144569428">"要允許 &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; 存取此裝置上的&lt;b&gt;相片、影片、音樂、音訊和其他檔案&lt;/b&gt;嗎?"</string>
     <string name="permgrouprequest_read_media_aural" msgid="2593365397347577812">"要允許 &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; 存取此裝置上的音樂和音訊嗎?"</string>
-    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"要允許 &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; 存取此裝置上的相片和影片嗎?"</string>
+    <string name="permgrouprequest_read_media_visual" msgid="5548780620779729975">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取此裝置上的相片和影片嗎?"</string>
     <string name="permgrouprequest_more_photos" msgid="128933814654231321">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取此裝置上更多的相片和影片?"</string>
     <string name="permgrouprequest_microphone" msgid="2825208549114811299">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;錄音嗎?"</string>
     <string name="permgrouprequestdetail_microphone" msgid="8510456971528228861">"此應用程式將只能在你使用期間錄音"</string>
@@ -498,7 +498,7 @@
     <string name="permgroupbackgroundrequest_sensors" msgid="5661924322018503886">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取與你生命體徵相關的感應器資料嗎?"</string>
     <string name="permgroupbackgroundrequestdetail_sensors" msgid="7726767635834043501">"如要讓此應用程式隨時存取人體感應器資料 (即使在你沒有使用此應用程式時),請"<annotation id="link">"前往設定"</annotation>"。"</string>
     <string name="permgroupupgraderequest_sensors" msgid="7576527638411370468">"要讓「<xliff:g id="APP_NAME">%1$s</xliff:g>」應用程式&lt;b&gt;&lt;/b&gt;在使用時存取人體感應器資料嗎?"</string>
-    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;傳送通知給你嗎?"</string>
+    <string name="permgrouprequest_notifications" msgid="6396739062335106181">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;傳送通知給你嗎?"</string>
     <string name="auto_granted_permissions" msgid="6009452264824455892">"由管理員控制的權限"</string>
     <string name="auto_granted_location_permission_notification_title" msgid="7570818224669050377">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」有位置存取權"</string>
     <string name="auto_granted_permission_notification_body" msgid="5040234389205471318">"你的機構允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取位置資訊"</string>
diff --git a/PermissionController/res/values-zh-rTW-v34/strings.xml b/PermissionController/res/values-zh-rTW-v34/strings.xml
index 533a95e..7f4955b 100644
--- a/PermissionController/res/values-zh-rTW-v34/strings.xml
+++ b/PermissionController/res/values-zh-rTW-v34/strings.xml
@@ -23,5 +23,5 @@
     <string name="health_connect_summary" msgid="815473513776882296">"管理應用程式的健康資料存取權"</string>
     <string name="location_settings" msgid="8863940440881290182">"位置資訊存取權"</string>
     <string name="mic_toggle_description" msgid="1504101620086616040">"適用於應用程式和服務。即使關閉這項設定,系統仍可能會在你撥打緊急電話號碼時,分享麥克風資料"</string>
-    <string name="location_settings_subtitle" msgid="6846532794702613851">"應用程式和服務"</string>
+    <string name="location_settings_subtitle" msgid="6846532794702613851">"適用於應用程式和服務"</string>
 </resources>
diff --git a/PermissionController/res/values-zh-rTW/strings.xml b/PermissionController/res/values-zh-rTW/strings.xml
index b4ce0b5..d269094 100644
--- a/PermissionController/res/values-zh-rTW/strings.xml
+++ b/PermissionController/res/values-zh-rTW/strings.xml
@@ -53,7 +53,7 @@
     <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"一律允許"</string>
     <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"使用應用程式時"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"改用精確位置"</string>
-    <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"繼續使用概略位置"</string>
+    <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"繼續使用大概位置"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"僅允許這一次"</string>
     <string name="grant_dialog_button_allow_background" msgid="8236044729434367833">"一律允許"</string>
     <string name="grant_dialog_button_allow_all_files" msgid="4955436994954829894">"允許管理所有檔案"</string>
@@ -194,9 +194,9 @@
     <string name="app_permission_button_ask" msgid="3342950658789427">"每次都詢問"</string>
     <string name="app_permission_button_deny" msgid="6016454069832050300">"不允許"</string>
     <string name="precise_image_description" msgid="6349638632303619872">"精確位置"</string>
-    <string name="approximate_image_description" msgid="938803699637069884">"概略位置"</string>
+    <string name="approximate_image_description" msgid="938803699637069884">"大概位置"</string>
     <string name="app_permission_location_accuracy" msgid="7166912915040018669">"使用精確位置"</string>
-    <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"精確位置關閉時,應用程式會存取你的概略位置資訊"</string>
+    <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"精確位置關閉時,應用程式會存取你的大概位置資訊"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g>權限"</string>
     <string name="app_permission_header" msgid="2951363137032603806">"是否允許這個應用程式取得「<xliff:g id="PERM">%1$s</xliff:g>」的存取權限"</string>
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"查看「<xliff:g id="APP">%1$s</xliff:g>」的所有權限"</string>
@@ -466,10 +466,10 @@
     <string name="permgroupupgraderequestdetail_location" msgid="1550899076845189165">"這個應用程式想要隨時存取你的位置資訊 (即使在你未使用此應用程式時)。"<annotation id="link">"如要授予權限,請前往「設定」"</annotation>"。"</string>
     <string name="permgrouprequest_nearby_devices" msgid="2272829282660436700">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;尋找、連結及判斷附近裝置的相對位置嗎?"</string>
     <string name="permgroupupgraderequestdetail_nearby_devices" msgid="6877531270654738614">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;尋找、連結及判斷附近裝置的相對位置嗎?"<annotation id="link">"請前往「設定」授予權限。"</annotation></string>
-    <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要將「<xliff:g id="APP_NAME">&lt;b&gt;%1$s&lt;/b&gt;</xliff:g>」可以存取的定位資訊從「概略位置」改為「精確位置」嗎?"</string>
-    <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取這部裝置的概略位置資訊嗎?"</string>
+    <string name="permgrouprequest_fineupgrade" msgid="2334242928821697672">"要將「<xliff:g id="APP_NAME">&lt;b&gt;%1$s&lt;/b&gt;</xliff:g>」可以存取的定位資訊從「大概位置」改為「精確位置」嗎?"</string>
+    <string name="permgrouprequest_coarselocation" msgid="7244605063736425232">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取這部裝置的大概位置資訊嗎?"</string>
     <string name="permgrouprequest_finelocation_imagetext" msgid="1313062433398914334">"精確"</string>
-    <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"概略"</string>
+    <string name="permgrouprequest_coarselocation_imagetext" msgid="8650605041483025297">"大概"</string>
     <string name="permgrouprequest_calendar" msgid="1493150855673603806">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取你的日曆嗎?"</string>
     <string name="permgrouprequest_sms" msgid="5672063688745420991">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」傳送及查看簡訊嗎?"</string>
     <string name="permgrouprequest_storage" msgid="8717773092518621602">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取裝置中的相片、媒體和檔案嗎?"</string>
@@ -519,7 +519,7 @@
     <string name="blocked_camera_title" msgid="1128510551791284384">"裝置相機已封鎖"</string>
     <string name="blocked_microphone_title" msgid="1631517143648232585">"裝置麥克風已封鎖"</string>
     <string name="blocked_location_title" msgid="2005608279812892383">"裝置位置資訊已關閉"</string>
-    <string name="blocked_sensor_summary" msgid="4443707628305027375">"應用程式和服務"</string>
+    <string name="blocked_sensor_summary" msgid="4443707628305027375">"適用於應用程式和服務"</string>
     <string name="blocked_mic_summary" msgid="8960466941528458347">"當你撥打緊急電話號碼時,系統仍會提供麥克風的資料。"</string>
     <string name="blocked_sensor_button_label" msgid="6742092634984289658">"變更"</string>
     <string name="safety_center_dashboard_page_title" msgid="2810774008694315854">"安全性與隱私權"</string>
@@ -581,9 +581,9 @@
     <string name="privacy_controls_title" msgid="7605929972256835199">"隱私權控制項"</string>
     <string name="camera_toggle_title" msgid="1251201397431837666">"相機存取權"</string>
     <string name="mic_toggle_title" msgid="2649991093496110162">"麥克風存取權"</string>
-    <string name="perm_toggle_description" msgid="7801326363741451379">"應用程式和服務"</string>
+    <string name="perm_toggle_description" msgid="7801326363741451379">"適用於應用程式和服務"</string>
     <string name="mic_toggle_description" msgid="9163104307990677157">"適用於應用程式和服務。即使關閉這項設定,系統仍可能會在你撥打緊急電話號碼時,分享麥克風資料。"</string>
-    <string name="location_settings_subtitle" msgid="2328360561197430695">"查看對位置擁有存取權的應用程式與服務"</string>
+    <string name="location_settings_subtitle" msgid="2328360561197430695">"查看可存取位置資訊的應用程式與服務"</string>
     <string name="show_clip_access_notification_title" msgid="5168467637351109096">"顯示剪貼簿存取通知"</string>
     <string name="show_clip_access_notification_summary" msgid="3532020182782112687">"系統會在應用程式存取你複製的文字、圖片或其他內容時顯示通知訊息"</string>
     <string name="show_password_title" msgid="2877269286984684659">"顯示密碼"</string>
@@ -609,8 +609,8 @@
     <string name="app_permission_rationale_message" msgid="8511466916077100713">"資料安全"</string>
     <string name="app_location_permission_rationale_title" msgid="925420340572401350">"可能會分享位置資料"</string>
     <string name="app_location_permission_rationale_subtitle" msgid="6986985722752868692">"這個應用程式表示可能會將位置資料分享給第三方"</string>
-    <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置資料分享更新"</string>
-    <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看哪些應用程式變更了分享位置資料的做法"</string>
+    <string name="data_sharing_updates_title" msgid="7996933386875213859">"位置資料共用方式更新"</string>
+    <string name="data_sharing_updates_summary" msgid="764113985772233889">"查看變更資料共用方式的應用程式"</string>
     <string name="data_sharing_updates_subtitle" msgid="6311537708950632329">"以下應用程式變更了分享位置資料的做法。這些應用程式先前可能未曾分享位置資料,也可能是現在為了廣告或行銷目的而分享這些資料。"</string>
     <string name="data_sharing_updates_footer_message" msgid="1582711655172892107">"這些應用程式的開發人員已將資料分享做法相關資訊提供給應用程式商店,並可能會隨著時間更新這些資訊。\n\n資料分享做法可能會因你的應用程式版本、使用方式、所在地區和年齡而異。"</string>
     <string name="learn_about_data_sharing" msgid="4200480587079488045">"瞭解資料分享"</string>
diff --git a/PermissionController/res/values-zu/strings.xml b/PermissionController/res/values-zu/strings.xml
index b4f177a..5f00cc9 100644
--- a/PermissionController/res/values-zu/strings.xml
+++ b/PermissionController/res/values-zu/strings.xml
@@ -51,7 +51,7 @@
     <string name="permission_revoked_none" msgid="9213345075484381180">"Lutho olukhutshaziwe"</string>
     <string name="grant_dialog_button_allow" msgid="5314677880021102550">"Vumela"</string>
     <string name="grant_dialog_button_allow_always" msgid="4485552579273565981">"Vumela sonke isikhathi"</string>
-    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Ngenkathi usebenzisa uhlelo lokusebenza"</string>
+    <string name="grant_dialog_button_allow_foreground" msgid="501896824973636533">"Ngenkathi i-app"</string>
     <string name="grant_dialog_button_change_to_precise_location" msgid="3273115879467236033">"Shintshela kwindawo ngqo"</string>
     <string name="grant_dialog_button_keey_approximate_location" msgid="438025182769080011">"Gcina indawo elinganiselwayo"</string>
     <string name="grant_dialog_button_allow_one_time" msgid="2618088516449706391">"Ngalesi sikhathi kuphela"</string>
@@ -198,7 +198,7 @@
     <string name="app_permission_location_accuracy" msgid="7166912915040018669">"Sebenzisa indawo eqondile"</string>
     <string name="app_permission_location_accuracy_subtitle" msgid="2654077606404987210">"Uma indawo ngqo ivaliwe, ama-app angakwazi ukufinyelela indawo yakho elinganiselwayo"</string>
     <string name="app_permission_title" msgid="2090897901051370711">"<xliff:g id="PERM">%1$s</xliff:g> imvume"</string>
-    <string name="app_permission_header" msgid="2951363137032603806">"<xliff:g id="PERM">%1$s</xliff:g> ukufinyelela kwale app"</string>
+    <string name="app_permission_header" msgid="2951363137032603806">"ukufinyelela kwale app ku<xliff:g id="PERM">%1$s</xliff:g>"</string>
     <string name="app_permission_footer_app_permissions_link" msgid="4926890342636587393">"Bona zonke izimvume ze-<xliff:g id="APP">%1$s</xliff:g>"</string>
     <string name="app_permission_footer_permission_apps_link" msgid="3941988129992794327">"Bona zonke izinhlelo zokusebenza ngale mvume"</string>
     <string name="assistant_mic_label" msgid="1011432357152323896">"Bonisa ukusetshenziswa kwe-microphone kamsizi"</string>
@@ -485,7 +485,7 @@
     <string name="permgroupupgraderequest_microphone" msgid="1362781696161233341">"Shintsha ukufinyelela kwemakrofoni kwe-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;?"</string>
     <string name="permgroupupgraderequestdetail_microphone" msgid="2870497719571464239">"Lolu hlelo lokusebenza lufuna ukurekhoda imisindo ngaso sonke isikhathi, ngisho nalapho ungasebenzisi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string>
     <string name="permgrouprequest_activityRecognition" msgid="5415121592794230330">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthi ifinyelele kumsebenzi wakho womzimba?"</string>
-    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthatha izithombe iphinde irekhode ividiyo?"</string>
+    <string name="permgrouprequest_camera" msgid="5123097035410002594">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ithathe izithombe futhi irekhode ividiyo?"</string>
     <string name="permgrouprequestdetail_camera" msgid="9085323239764667883">"Lolu hlelo lokusebenza luzokwazi ukuthatha izithombe futhi lirekhode ividiyo kuphela kuyilapho usebenzisa uhlelo lokusebenza"</string>
     <string name="permgroupbackgroundrequest_camera" msgid="1274286575704213875">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthatha izithombe iphinde irekhode ividiyo?"</string>
     <string name="permgroupbackgroundrequestdetail_camera" msgid="4458783509089859078">"Lolu hlelo lokusebenza lungafuna ukuthatha izithombe futhi lirekhode ividiyo ngaso sonke isikhathi, ngisho nalapho ungasebenzi uhlelo lokusebenza. "<annotation id="link">"Vumela kumasethingi."</annotation></string>
diff --git a/PermissionController/res/values/styles.xml b/PermissionController/res/values/styles.xml
index 1d7a9cb..4f12ef7 100644
--- a/PermissionController/res/values/styles.xml
+++ b/PermissionController/res/values/styles.xml
@@ -1038,6 +1038,7 @@
         <item name="android:layout_width">wrap_content</item>
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_marginStart">16dp</item>
+        <item name="android:background">@null</item>
     </style>
 
     <!-- END REQUEST ROLE DIALOG ITEM -->
diff --git a/PermissionController/res/xml/roles.xml b/PermissionController/res/xml/roles.xml
index 2f8f5a2..51e0a29 100644
--- a/PermissionController/res/xml/roles.xml
+++ b/PermissionController/res/xml/roles.xml
@@ -140,6 +140,8 @@
                 minSdkVersion="33" />
             <permission name="android.permission.EXECUTE_APP_ACTION"
                 minSdkVersion="34" />
+            <permission name="android.permission.MANAGE_CONTENT_SUGGESTIONS"
+                minSdkVersion="35" optionalMinSdkVersion="34" />
         </permissions>
         <app-op-permissions>
             <app-op-permission name="android.permission.SYSTEM_ALERT_WINDOW" />
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java
index 0c4a145..df44023 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/Permission.java
@@ -16,6 +16,9 @@
 
 package com.android.role.controller.model;
 
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.PermissionInfo;
 import android.os.Build;
 
 import androidx.annotation.NonNull;
@@ -40,9 +43,15 @@
      */
     private final int mMinSdkVersion;
 
-    public Permission(@NonNull String name, int minSdkVersion) {
+    /**
+     * The minimum SDK version for this permission to be optionally granted (when it is grantable).
+     */
+    private final int mOptionalMinSdkVersion;
+
+    public Permission(@NonNull String name, int minSdkVersion, int optionalMinSdkVersion) {
         mName = name;
         mMinSdkVersion = minSdkVersion;
+        mOptionalMinSdkVersion = optionalMinSdkVersion;
     }
 
     @NonNull
@@ -54,18 +63,52 @@
         return mMinSdkVersion;
     }
 
+    public int getOptionalMinSdkVersion() {
+        return mOptionalMinSdkVersion;
+    }
+
     /**
      * Check whether this permission is available.
      *
      * @return whether this permission is available
      */
-    public boolean isAvailable() {
-        // Workaround to match the value 34+ for U+ in roles.xml before SDK finalization.
-        if (mMinSdkVersion >= 34) {
-            return SdkLevel.isAtLeastU();
-        } else {
-            return Build.VERSION.SDK_INT >= mMinSdkVersion;
+    public boolean isAvailable(@NonNull Context context) {
+        if (Build.VERSION.SDK_INT >= mMinSdkVersion
+                // Workaround to match the value 34 for U in roles.xml before SDK finalization.
+                || (mMinSdkVersion == 34 && SdkLevel.isAtLeastU())) {
+            return true;
         }
+        if (Build.VERSION.SDK_INT >= mOptionalMinSdkVersion) {
+            PackageManager packageManager = context.getPackageManager();
+            PermissionInfo permissionInfo;
+            try {
+                permissionInfo = packageManager.getPermissionInfo(mName, 0);
+            } catch (PackageManager.NameNotFoundException e) {
+                return false;
+            }
+            return permissionInfo.getProtection() == PermissionInfo.PROTECTION_DANGEROUS
+                    || (permissionInfo.getProtectionFlags() & PermissionInfo.PROTECTION_FLAG_ROLE)
+                            == PermissionInfo.PROTECTION_FLAG_ROLE
+                    || (permissionInfo.getProtectionFlags() & PermissionInfo.PROTECTION_FLAG_APPOP)
+                            == PermissionInfo.PROTECTION_FLAG_APPOP;
+        }
+        return false;
+    }
+
+    /**
+     * Return a new permission with the specified SDK versions, or this permission if it already has
+     * the same SDK versions.
+     *
+     * @param minSdkVersion the minimum SDK version
+     * @param optionalMinSdkVersion the optional minimum SDK version
+     * @return a permission with the specified SDK versions
+     */
+    @NonNull
+    public Permission withSdkVersions(int minSdkVersion, int optionalMinSdkVersion) {
+        if (mMinSdkVersion == minSdkVersion && mOptionalMinSdkVersion == optionalMinSdkVersion) {
+            return this;
+        }
+        return new Permission(mName, minSdkVersion, optionalMinSdkVersion);
     }
 
     @Override
@@ -73,6 +116,7 @@
         return "Permission{"
                 + "mName='" + mName + '\''
                 + ", mMinSdkVersion=" + mMinSdkVersion
+                + ", mOptionalMinSdkVersion=" + mOptionalMinSdkVersion
                 + '}';
     }
 
@@ -86,11 +130,12 @@
         }
         Permission that = (Permission) object;
         return mMinSdkVersion == that.mMinSdkVersion
+                && mOptionalMinSdkVersion == that.mOptionalMinSdkVersion
                 && mName.equals(that.mName);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(mName, mMinSdkVersion);
+        return Objects.hash(mName, mMinSdkVersion, mOptionalMinSdkVersion);
     }
 }
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java b/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java
index f55a84c..817acb2 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/Permissions.java
@@ -61,16 +61,18 @@
      * Filter a list of permissions based on their SDK versions.
      *
      * @param permissions the list of permissions
+     * @param context the {@code Context} to retrieve system services
      *
      * @return the filtered list of permission names.
      */
     @NonNull
-    public static List<String> filterBySdkVersion(@NonNull List<Permission> permissions) {
+    public static List<String> filterBySdkVersion(@NonNull List<Permission> permissions,
+            @NonNull Context context) {
         List<String> permissionNames = new ArrayList<>();
         int permissionsSize = permissions.size();
         for (int i = 0; i < permissionsSize; i++) {
             Permission permission = permissions.get(i);
-            if (!permission.isAvailable()) {
+            if (!permission.isAvailable(context)) {
                 continue;
             }
             permissionNames.add(permission.getName());
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java
index 9ff16db..521d792 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/Role.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/Role.java
@@ -392,13 +392,10 @@
      * @return whether this role is available based on SDK version
      */
     boolean isAvailableBySdkVersion() {
-        // Workaround to match the value 34+ for U+ in roles.xml before SDK finalization.
-        if (mMinSdkVersion >= 34) {
-            return SdkLevel.isAtLeastU();
-        } else {
-            return Build.VERSION.SDK_INT >= mMinSdkVersion
-                    && Build.VERSION.SDK_INT <= mMaxSdkVersion;
-        }
+        return (Build.VERSION.SDK_INT >= mMinSdkVersion
+                // Workaround to match the value 34 for U in roles.xml before SDK finalization.
+                || (mMinSdkVersion == 34 && SdkLevel.isAtLeastU()))
+                && Build.VERSION.SDK_INT <= mMaxSdkVersion;
     }
 
     /**
@@ -783,11 +780,12 @@
     public void grant(@NonNull String packageName, boolean dontKillApp,
             boolean overrideUser, @NonNull Context context) {
         boolean permissionOrAppOpChanged = Permissions.grant(packageName,
-                Permissions.filterBySdkVersion(mPermissions),
+                Permissions.filterBySdkVersion(mPermissions, context),
                 SdkLevel.isAtLeastS() ? !mSystemOnly : true, overrideUser, true, false, false,
                 context);
 
-        List<String> appOpPermissionsToGrant = Permissions.filterBySdkVersion(mAppOpPermissions);
+        List<String> appOpPermissionsToGrant =
+                Permissions.filterBySdkVersion(mAppOpPermissions, context);
         int appOpPermissionsSize = appOpPermissionsToGrant.size();
         for (int i = 0; i < appOpPermissionsSize; i++) {
             String appOpPermission = appOpPermissionsToGrant.get(i);
@@ -830,24 +828,26 @@
         List<String> otherRoleNames = roleManager.getHeldRolesFromController(packageName);
         otherRoleNames.remove(mName);
 
-        List<String> permissionsToRevoke = Permissions.filterBySdkVersion(mPermissions);
+        List<String> permissionsToRevoke = Permissions.filterBySdkVersion(mPermissions, context);
         ArrayMap<String, Role> roles = Roles.get(context);
         int otherRoleNamesSize = otherRoleNames.size();
         for (int i = 0; i < otherRoleNamesSize; i++) {
             String roleName = otherRoleNames.get(i);
             Role role = roles.get(roleName);
-            permissionsToRevoke.removeAll(Permissions.filterBySdkVersion(role.mPermissions));
+            permissionsToRevoke.removeAll(
+                    Permissions.filterBySdkVersion(role.mPermissions, context));
         }
 
         boolean permissionOrAppOpChanged = Permissions.revoke(packageName, permissionsToRevoke,
                 true, false, overrideSystemFixedPermissions, context);
 
-        List<String> appOpPermissionsToRevoke = Permissions.filterBySdkVersion(mAppOpPermissions);
+        List<String> appOpPermissionsToRevoke =
+                Permissions.filterBySdkVersion(mAppOpPermissions, context);
         for (int i = 0; i < otherRoleNamesSize; i++) {
             String roleName = otherRoleNames.get(i);
             Role role = roles.get(roleName);
             appOpPermissionsToRevoke.removeAll(
-                    Permissions.filterBySdkVersion(role.mAppOpPermissions));
+                    Permissions.filterBySdkVersion(role.mAppOpPermissions, context));
         }
         int appOpPermissionsSize = appOpPermissionsToRevoke.size();
         for (int i = 0; i < appOpPermissionsSize; i++) {
diff --git a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
index 2329941..31c05d2 100644
--- a/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
+++ b/PermissionController/role-controller/java/com/android/role/controller/model/RoleParser.java
@@ -102,6 +102,7 @@
     private static final String ATTRIBUTE_VISIBLE = "visible";
     private static final String ATTRIBUTE_FLAGS = "flags";
     private static final String ATTRIBUTE_MIN_TARGET_SDK_VERSION = "minTargetSdkVersion";
+    private static final String ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION = "optionalMinSdkVersion";
     private static final String ATTRIBUTE_PERMISSION = "permission";
     private static final String ATTRIBUTE_PROHIBITED = "prohibited";
     private static final String ATTRIBUTE_VALUE = "value";
@@ -252,6 +253,11 @@
             return null;
         }
 
+        int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION,
+                Build.VERSION_CODES.BASE);
+        int optionalMinSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION,
+                minSdkVersion);
+
         List<Permission> permissions = new ArrayList<>();
 
         int type;
@@ -269,6 +275,11 @@
                 if (permission == null) {
                     continue;
                 }
+                int mergedMinSdkVersion = Math.max(permission.getMinSdkVersion(), minSdkVersion);
+                int mergedOptionalMinSdkVersion = Math.max(permission.getOptionalMinSdkVersion(),
+                        optionalMinSdkVersion);
+                permission = permission.withSdkVersions(mergedMinSdkVersion,
+                        mergedOptionalMinSdkVersion);
                 validateNoDuplicateElement(permission, permissions, "permission");
                 permissions.add(permission);
             } else {
@@ -290,7 +301,9 @@
         }
         int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION,
                 Build.VERSION_CODES.BASE);
-        return new Permission(name, minSdkVersion);
+        int optionalMinSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION,
+                minSdkVersion);
+        return new Permission(name, minSdkVersion, optionalMinSdkVersion);
     }
 
     @Nullable
@@ -738,13 +751,29 @@
                     if (permissionSetName == null) {
                         continue;
                     }
-                    if (!permissionSets.containsKey(permissionSetName)) {
+                    PermissionSet permissionSet = permissionSets.get(permissionSetName);
+                    if (permissionSet == null) {
                         throwOrLogMessage("Unknown permission set:" + permissionSetName);
                         continue;
                     }
-                    PermissionSet permissionSet = permissionSets.get(permissionSetName);
-                    // We do allow intersection between permission sets.
-                    permissions.addAll(permissionSet.getPermissions());
+                    int minSdkVersion = getAttributeIntValue(parser, ATTRIBUTE_MIN_SDK_VERSION,
+                            Build.VERSION_CODES.BASE);
+                    int optionalMinSdkVersion = getAttributeIntValue(parser,
+                            ATTRIBUTE_OPTIONAL_MIN_SDK_VERSION, minSdkVersion);
+                    List<Permission> permissionsInSet = permissionSet.getPermissions();
+                    int permissionsInSetSize = permissionsInSet.size();
+                    for (int permissionsInSetIndex = 0;
+                            permissionsInSetIndex < permissionsInSetSize; permissionsInSetIndex++) {
+                        Permission permission = permissionsInSet.get(permissionsInSetIndex);
+                        int mergedMinSdkVersion =
+                                Math.max(permission.getMinSdkVersion(), minSdkVersion);
+                        int mergedOptionalMinSdkVersion = Math.max(
+                                permission.getOptionalMinSdkVersion(), optionalMinSdkVersion);
+                        permission = permission.withSdkVersions(mergedMinSdkVersion,
+                                mergedOptionalMinSdkVersion);
+                        // We do allow intersection between permission sets.
+                        permissions.add(permission);
+                    }
                     break;
                 }
                 case TAG_PERMISSION: {
@@ -1110,7 +1139,7 @@
     }
 
     private void validatePermission(@NonNull Permission permission) {
-        if (!permission.isAvailable()) {
+        if (!permission.isAvailable(mContext)) {
             return;
         }
         validatePermission(permission.getName(), true);
@@ -1146,7 +1175,7 @@
     }
 
     private void validateAppOpPermission(@NonNull Permission appOpPermission) {
-        if (!appOpPermission.isAvailable()) {
+        if (!appOpPermission.isAvailable(mContext)) {
             return;
         }
         validateAppOpPermission(appOpPermission.getName());
diff --git a/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt b/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt
index b2cf75f..7a2d5d5 100644
--- a/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt
+++ b/PermissionController/src/com/android/permissioncontroller/auto/DrivingDecisionReminderService.kt
@@ -112,21 +112,26 @@
                 ready: Boolean ->
                 // just give up if we can't connect to the car
                 if (ready) {
-                    val restrictionsManager =
-                        car.getCarManager(Car.CAR_UX_RESTRICTION_SERVICE)
-                            as CarUxRestrictionsManager
-                    if (
-                        restrictionsManager.currentCarUxRestrictions
-                            .isRequiresDistractionOptimization
-                    ) {
-                        context.startService(
-                            createIntent(
-                                context,
-                                packageName,
-                                permGroupName,
-                                Process.myUserHandle()
-                            )
-                        )
+                    val restrictionsManager = car.getCarManager(
+                        Car.CAR_UX_RESTRICTION_SERVICE) as CarUxRestrictionsManager?
+                    if (restrictionsManager != null) {
+                        val currentCarUxRestrictions = restrictionsManager.currentCarUxRestrictions
+                        if (currentCarUxRestrictions != null) {
+                            if (currentCarUxRestrictions.isRequiresDistractionOptimization) {
+                                context.startService(
+                                    createIntent(
+                                        context,
+                                        packageName,
+                                        permGroupName,
+                                        Process.myUserHandle()))
+                            }
+                        } else {
+                            DumpableLog.e(LOG_TAG,
+                                "Reminder service not created because CarUxRestrictions is null")
+                        }
+                    } else {
+                        DumpableLog.e(LOG_TAG,
+                            "Reminder service not created because CarUxRestrictionsManager is null")
                     }
                 }
                 car.disconnect()
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesLiveData.kt
index ae99635..7fce5ba 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesLiveData.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesLiveData.kt
@@ -42,7 +42,7 @@
 
     init {
         addSource(groupNamesLiveData) {
-            groupNames = it ?: emptyList()
+            groupNames = it
 
             val getLiveData = { groupName: String -> PermGroupLiveData[groupName] }
             setSourcesToDifference(groupNames, permGroupLiveDatas, getLiveData) {
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt
index 8bb33d1..cc5f156 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/data/PermGroupsPackagesUiInfoLiveData.kt
@@ -65,7 +65,7 @@
 
     init {
         addSource(groupNamesLiveData) {
-            groupNames = it ?: emptyList()
+            groupNames = it
             update()
             getPermGroupPackageLiveDatas()
         }
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/data/SmartUpdateMediatorLiveData.kt b/PermissionController/src/com/android/permissioncontroller/permission/data/SmartUpdateMediatorLiveData.kt
index 9cc100e..73b8ed1 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/data/SmartUpdateMediatorLiveData.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/data/SmartUpdateMediatorLiveData.kt
@@ -45,14 +45,6 @@
     }
 
     /**
-     * Boolean, whether or not the value of this uiDataLiveData has been explicitly set yet.
-     * Differentiates between "null value because liveData is new" and "null value because liveData
-     * is invalid"
-     */
-    var isInitialized = false
-        private set
-
-    /**
      * Boolean, whether or not this liveData has a stale value or not. Every time the liveData goes
      * inactive, its data becomes stale, until it goes active again, and is explicitly set.
      */
@@ -66,7 +58,6 @@
         ensureMainThread()
 
         if (!isInitialized) {
-            isInitialized = true
             // If we have received an invalid value, and this is the first time we are set,
             // notify observers.
             if (newValue == null) {
@@ -251,7 +242,7 @@
                     update()
                 }
             },
-            isInitialized = { isInitialized && (staleOk || !isStale) }
+            isValueInitialized = { isInitialized && (staleOk || !isStale) }
         )
     }
 }
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
index 05fee97..14a7f71 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/service/PermissionControllerServiceModel.kt
@@ -25,7 +25,7 @@
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.Observer
-import androidx.lifecycle.Transformations
+import androidx.lifecycle.map
 import com.android.permissioncontroller.DumpableLog
 import com.android.permissioncontroller.PermissionControllerProto.PermissionControllerDumpProto
 import com.android.permissioncontroller.permission.data.AppPermGroupUiInfoLiveData
@@ -86,22 +86,19 @@
             }
 
             var updated = false
-            val observer =
-                object : Observer<T> {
-                    override fun onChanged(data: T) {
-                        if (updated) {
-                            return
-                        }
-                        if (
-                            (liveData is SmartUpdateMediatorLiveData<T> && !liveData.isStale) ||
-                                liveData !is SmartUpdateMediatorLiveData<T>
-                        ) {
-                            onChangedFun(data)
-                            liveData.removeObserver(this)
-                            updated = true
-                        }
+            val observer = object : Observer<T> {
+                override fun onChanged(value: T) {
+                    if (updated) {
+                        return
+                    }
+                    if ((liveData is SmartUpdateMediatorLiveData<T> && !liveData.isStale) ||
+                        liveData !is SmartUpdateMediatorLiveData<T>) {
+                        onChangedFun(value)
+                        liveData.removeObserver(this)
+                        updated = true
                     }
                 }
+            }
 
             liveData.observe(service, observer)
         }
@@ -287,8 +284,10 @@
      *
      * @param callback The callback our result will be returned to
      */
-    fun onCountUnusedApps(callback: IntConsumer) {
-        val unusedAppsCount = Transformations.map(getUnusedPackages()) { it?.size ?: 0 }
+    fun onCountUnusedApps(
+        callback: IntConsumer
+    ) {
+        val unusedAppsCount = getUnusedPackages().map { it?.size ?: 0 }
         observeAndCheckForLifecycleState(unusedAppsCount) { count -> callback.accept(count ?: 0) }
     }
 
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
index a6e5211..13b5886 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/GrantPermissionsActivity.java
@@ -55,7 +55,6 @@
 import android.text.style.ClickableSpan;
 import android.util.Log;
 import android.util.Pair;
-import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnAttachStateChangeListener;
 import android.view.Window;
@@ -66,7 +65,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
-import androidx.core.util.Consumer;
 import androidx.core.util.Preconditions;
 
 import com.android.modules.utils.build.SdkLevel;
@@ -417,7 +415,7 @@
             mViewModel.sendDirectlyToSettings(top, info.getGroupName());
             return;
         } else if (info.getOpenPhotoPicker()) {
-            mViewModel.openPhotoPicker(top, GRANTED_USER_SELECTED);
+            mViewModel.openPhotoPicker(top);
             return;
         }
 
@@ -555,26 +553,6 @@
         }
     }
 
-    // LINT.IfChange(dispatchTouchEvent)
-    @Override
-    public boolean dispatchTouchEvent(MotionEvent ev) {
-        View rootView = getWindow().getDecorView();
-        if (rootView.getTop() != 0) {
-            // We are animating the top view, need to compensate for that in motion events.
-            ev.setLocation(ev.getX(), ev.getY() - rootView.getTop());
-        }
-        final int x = (int) ev.getX();
-        final int y = (int) ev.getY();
-        if ((x < 0) || (y < 0) || (x > (rootView.getWidth())) || (y > (rootView.getHeight()))) {
-            if (MotionEvent.ACTION_DOWN == ev.getAction()) {
-                mViewHandler.onCancelled();
-            }
-            finishAfterTransition();
-        }
-        return super.dispatchTouchEvent(ev);
-    }
-    // LINT.ThenChange(PermissionRationaleActivity.java:dispatchTouchEvent)
-
     @Override
     protected void onSaveInstanceState(@NonNull Bundle outState) {
         super.onSaveInstanceState(outState);
@@ -604,16 +582,14 @@
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-        Consumer<Intent> callback = mViewModel.getActivityResultCallback();
-        if (callback == null || (requestCode != APP_PERMISSION_REQUEST_CODE
-                && requestCode != PHOTO_PICKER_REQUEST_CODE)) {
+        if (requestCode != APP_PERMISSION_REQUEST_CODE
+                && requestCode != PHOTO_PICKER_REQUEST_CODE) {
             return;
         }
         if (requestCode == PHOTO_PICKER_REQUEST_CODE) {
             data = new Intent("").putExtra(INTENT_PHOTOS_SELECTED, resultCode == RESULT_OK);
         }
-        callback.accept(data);
-        mViewModel.setActivityResultCallback(null);
+        mViewModel.handleCallback(data, requestCode);
     }
 
     @Override
@@ -633,11 +609,10 @@
             mPreMergeShownGroupName = null;
         }
 
-        if (Objects.equals(READ_MEDIA_VISUAL, name)
-                && result == GrantPermissionsViewHandler.GRANTED_USER_SELECTED) {
+        if (Objects.equals(READ_MEDIA_VISUAL, name) && result == GRANTED_USER_SELECTED) {
             // Only the top activity can receive activity results
             Activity top = mFollowerActivities.isEmpty() ? this : mFollowerActivities.get(0);
-            mViewModel.openPhotoPicker(top, result);
+            mViewModel.openPhotoPicker(top);
             logGrantPermissionActivityButtons(name, affectedForegroundPermissions, result);
             return;
         }
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
index 6bcf926..ba839ee 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/PermissionAppsFragment.java
@@ -35,6 +35,7 @@
 import android.os.Looper;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.safetycenter.SafetyCenterManager;
 import android.util.ArrayMap;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -93,6 +94,8 @@
 
     private static final int MENU_PERMISSION_USAGE = MENU_HIDE_SYSTEM + 1;
 
+    private static final String PRIVACY_CONTROLS_ACTION = "android.settings.PRIVACY_CONTROLS";
+
     /**
      * Create a bundle with the arguments needed by this fragment
      *
@@ -281,12 +284,30 @@
         findPreference(ALLOWED_FOREGROUND.getCategoryName()).setVisible(false);
     }
 
+    @RequiresApi(Build.VERSION_CODES.TIRAMISU)
+    private String getPrivacyControlsIntent() {
+        SafetyCenterManager safetyCenterManager =
+                getContext().getSystemService(SafetyCenterManager.class);
+        if (safetyCenterManager.isSafetyCenterEnabled()) {
+            return PRIVACY_CONTROLS_ACTION;
+        } else {
+            return Settings.ACTION_PRIVACY_SETTINGS;
+        }
+    }
+
     @RequiresApi(Build.VERSION_CODES.S)
     private CardViewPreference createSensorCard() {
         boolean isLocation = Manifest.permission_group.LOCATION.equals(mPermGroupName);
         Context context = getPreferenceManager().getContext();
-        String action = isLocation ? Settings.ACTION_LOCATION_SOURCE_SETTINGS
-                : Settings.ACTION_PRIVACY_SETTINGS;
+
+        String action;
+        if (isLocation) {
+            action = Settings.ACTION_LOCATION_SOURCE_SETTINGS;
+        } else  if (SdkLevel.isAtLeastT()) {
+            action = getPrivacyControlsIntent();
+        } else {
+            action = Settings.ACTION_PRIVACY_SETTINGS;
+        }
         CardViewPreference sensorCard = new CardViewPreference(context, action);
         sensorCard.setKey(BLOCKED_SENSOR_PREF_KEY);
         sensorCard.setIcon(Utils.getBlockedIcon(mPermGroupName));
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
index 3f19db4..cc20206 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/GrantPermissionsViewModel.kt
@@ -186,6 +186,18 @@
 
     private var appPermGroupLiveDatas = mutableMapOf<String, LightAppPermGroupLiveData>()
 
+    internal data class ResultCallback(val consumer: Consumer<Intent?>, val requestCode: Int)
+
+    private var activityResultCallback: ResultCallback? = null
+
+    init {
+        if (storedState?.containsKey(SAVED_REQUEST_CODE_KEY) == true) {
+            if (storedState.getInt(SAVED_REQUEST_CODE_KEY) == PHOTO_PICKER_REQUEST_CODE) {
+                setPhotoPickerCallback()
+            }
+        }
+    }
+
     /**
      * A class which represents a correctly requested permission group, and the buttons and messages
      * which should be shown with it.
@@ -202,8 +214,6 @@
         val groupName = groupInfo.name
     }
 
-    var activityResultCallback: Consumer<Intent>? = null
-
     /** A LiveData which holds a list of the currently pending RequestInfos */
     val requestInfosLiveData =
         object : SmartUpdateMediatorLiveData<List<RequestInfo>>() {
@@ -1494,7 +1504,9 @@
         Log.v(
             LOG_TAG,
             "Permission grant result requestId=$sessionId " +
-                "callingUid=${packageInfo.uid} callingPackage=$packageName permission=$permission " +
+                "callingUid=${packageInfo.uid} " +
+                "callingPackage=$packageName " +
+                "permission=$permission " +
                 "isImplicit=$isImplicit result=$result " +
                 "isPermissionRationaleShown=$isPermissionRationaleShown"
         )
@@ -1522,6 +1534,7 @@
             val (groupName, isBackground) = groupKey
             outState.putInt(getInstanceStateKey(groupName, isBackground), groupState.state)
         }
+        activityResultCallback?.let { outState.putInt(SAVED_REQUEST_CODE_KEY, it.requestCode) }
     }
 
     /**
@@ -1547,12 +1560,25 @@
         }
     }
 
+    fun handleCallback(data: Intent?, requestCode: Int) {
+        val currCallback = activityResultCallback
+        if (currCallback == null || requestCode != currCallback.requestCode) {
+            return
+        }
+        currCallback.consumer.accept(data)
+        activityResultCallback = null
+    }
+
     fun handleHealthConnectPermissions(activity: Activity) {
         if (activityResultCallback == null) {
-            activityResultCallback = Consumer {
-                permGroupsToSkip.add(HEALTH_PERMISSION_GROUP)
-                requestInfosLiveData.update()
-            }
+            activityResultCallback =
+                ResultCallback(
+                    {
+                        permGroupsToSkip.add(HEALTH_PERMISSION_GROUP)
+                        requestInfosLiveData.update()
+                    },
+                    APP_PERMISSION_REQUEST_CODE
+                )
             val healthPermissions =
                 unfilteredAffectedPermissions
                     .filter { permission -> isHealthPermission(activity, permission) }
@@ -1575,55 +1601,72 @@
      */
     fun sendDirectlyToSettings(activity: Activity, groupName: String) {
         if (activityResultCallback == null) {
-            activityResultCallback = Consumer { data ->
-                if (data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED) == null) {
-                    // User didn't interact, count against rate limit
-                    val group =
-                        groupStates[groupName to false]?.group
-                            ?: groupStates[groupName to true]?.group ?: return@Consumer
-                    if (group.background.isUserSet) {
-                        KotlinUtils.setGroupFlags(
-                            app,
-                            group,
-                            FLAG_PERMISSION_USER_FIXED to true,
-                            filterPermissions = group.backgroundPermNames
-                        )
-                    } else {
-                        KotlinUtils.setGroupFlags(
-                            app,
-                            group,
-                            FLAG_PERMISSION_USER_SET to true,
-                            filterPermissions = group.backgroundPermNames
-                        )
-                    }
-                }
+            activityResultCallback =
+                ResultCallback(
+                    Consumer { data ->
+                        if (data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED) == null) {
+                            // User didn't interact, count against rate limit
+                            val group =
+                                    groupStates[groupName to false]?.group
+                                            ?: groupStates[groupName to true]?.group
+                                            ?: return@Consumer
+                            if (group.background.isUserSet) {
+                                KotlinUtils.setGroupFlags(
+                                        app,
+                                        group,
+                                        FLAG_PERMISSION_USER_FIXED to true,
+                                        filterPermissions = group.backgroundPermNames
+                                )
+                            } else {
+                                KotlinUtils.setGroupFlags(
+                                        app,
+                                        group,
+                                        FLAG_PERMISSION_USER_SET to true,
+                                        filterPermissions = group.backgroundPermNames
+                                )
+                            }
+                        }
 
-                permGroupsToSkip.add(groupName)
-                // Update our liveData now that there is a new skipped group
-                requestInfosLiveData.update()
-            }
+                        permGroupsToSkip.add(groupName)
+                        // Update our liveData now that there is a new skipped group
+                        requestInfosLiveData.update()
+                    },
+                    APP_PERMISSION_REQUEST_CODE
+                )
             startAppPermissionFragment(activity, groupName)
         }
     }
 
-    fun openPhotoPicker(activity: Activity, result: Int) {
+    fun openPhotoPicker(activity: Activity) {
         if (activityResultCallback != null) {
             return
         }
         if (groupStates[READ_MEDIA_VISUAL to false]?.affectedPermissions == null) {
             return
         }
-        activityResultCallback = Consumer { data ->
-            val anySelected = data?.getBooleanExtra(INTENT_PHOTOS_SELECTED, true) == true
-            if (anySelected) {
-                onPermissionGrantResult(READ_MEDIA_VISUAL, null, result)
-            } else {
-                onPermissionGrantResult(READ_MEDIA_VISUAL, null, CANCELED)
-            }
-            requestInfosLiveData.update()
-        }
-        openPhotoPickerForApp(activity, packageInfo.uid, unfilteredAffectedPermissions,
-            PHOTO_PICKER_REQUEST_CODE)
+        setPhotoPickerCallback()
+        openPhotoPickerForApp(
+            activity,
+            packageInfo.uid,
+            unfilteredAffectedPermissions,
+            PHOTO_PICKER_REQUEST_CODE
+        )
+    }
+
+    private fun setPhotoPickerCallback() {
+        activityResultCallback =
+            ResultCallback(
+                { data ->
+                    val anySelected = data?.getBooleanExtra(INTENT_PHOTOS_SELECTED, true) == true
+                    if (anySelected) {
+                        onPermissionGrantResult(READ_MEDIA_VISUAL, null, GRANTED_USER_SELECTED)
+                    } else {
+                        onPermissionGrantResult(READ_MEDIA_VISUAL, null, CANCELED)
+                    }
+                    requestInfosLiveData.update()
+                },
+                PHOTO_PICKER_REQUEST_CODE
+            )
     }
 
     /**
@@ -1634,15 +1677,19 @@
      */
     fun sendToSettingsFromLink(activity: Activity, groupName: String) {
         startAppPermissionFragment(activity, groupName)
-        activityResultCallback = Consumer { data ->
-            val returnGroupName = data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED)
-            if (returnGroupName != null) {
-                permGroupsToSkip.add(returnGroupName)
-                val result = data.getIntExtra(EXTRA_RESULT_PERMISSION_RESULT, -1)
-                logSettingsInteraction(returnGroupName, result)
-                requestInfosLiveData.update()
-            }
-        }
+        activityResultCallback =
+            ResultCallback(
+                { data ->
+                    val returnGroupName = data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED)
+                    if (returnGroupName != null) {
+                        permGroupsToSkip.add(returnGroupName)
+                        val result = data.getIntExtra(EXTRA_RESULT_PERMISSION_RESULT, -1)
+                        logSettingsInteraction(returnGroupName, result)
+                        requestInfosLiveData.update()
+                    }
+                },
+                APP_PERMISSION_REQUEST_CODE
+            )
     }
 
     /**
@@ -1662,15 +1709,19 @@
                 putExtra(Intent.EXTRA_PERMISSION_GROUP_NAME, groupName)
                 putExtra(Constants.EXTRA_SESSION_ID, sessionId)
             }
-        activityResultCallback = Consumer { data ->
-            val returnGroupName = data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED)
-            if (returnGroupName != null) {
-                permGroupsToSkip.add(returnGroupName)
-                val result = data.getIntExtra(EXTRA_RESULT_PERMISSION_RESULT, CANCELED)
-                logSettingsInteraction(returnGroupName, result)
-                requestInfosLiveData.update()
-            }
-        }
+        activityResultCallback =
+            ResultCallback(
+                { data ->
+                    val returnGroupName = data?.getStringExtra(EXTRA_RESULT_PERMISSION_INTERACTED)
+                    if (returnGroupName != null) {
+                        permGroupsToSkip.add(returnGroupName)
+                        val result = data.getIntExtra(EXTRA_RESULT_PERMISSION_RESULT, CANCELED)
+                        logSettingsInteraction(returnGroupName, result)
+                        requestInfosLiveData.update()
+                    }
+                },
+                APP_PERMISSION_REQUEST_CODE
+            )
         activity.startActivityForResult(intent, APP_PERMISSION_REQUEST_CODE)
     }
 
@@ -1836,6 +1887,7 @@
     companion object {
         const val APP_PERMISSION_REQUEST_CODE = 1
         const val PHOTO_PICKER_REQUEST_CODE = 2
+        const val SAVED_REQUEST_CODE_KEY = "saved_request_code"
         private const val STATE_UNKNOWN = 0
         private const val STATE_ALLOWED = 1
         private const val STATE_DENIED = 2
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/ManageStandardPermissionsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/ManageStandardPermissionsViewModel.kt
index b7754e6..aeab0aa 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/ManageStandardPermissionsViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/ManageStandardPermissionsViewModel.kt
@@ -23,7 +23,7 @@
 import android.os.Bundle
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.Transformations
+import androidx.lifecycle.map
 import androidx.navigation.fragment.findNavController
 import com.android.permissioncontroller.R
 import com.android.permissioncontroller.permission.data.PermGroupsPackagesLiveData
@@ -46,7 +46,7 @@
 
     val uiDataLiveData = PermGroupsPackagesUiInfoLiveData(app, StandardPermGroupNamesLiveData)
     val numCustomPermGroups = NumCustomPermGroupsWithPackagesLiveData()
-    val numAutoRevoked = Transformations.map(unusedAutoRevokePackagesLiveData) { it?.size ?: 0 }
+    val numAutoRevoked = unusedAutoRevokePackagesLiveData.map { it?.size ?: 0 }
 
     /**
      * Navigate to the Custom Permissions screen
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt
index c64fd2e..a4f7198 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/PermissionAppsViewModel.kt
@@ -489,12 +489,16 @@
     owner: SavedStateRegistryOwner,
     defaultArgs: Bundle
 ) : AbstractSavedStateViewModelFactory(owner, defaultArgs) {
-
-    override fun <T : ViewModel> create(p0: String, p1: Class<T>, state: SavedStateHandle): T {
-        state.set(SHOULD_SHOW_SYSTEM_KEY, state.get<Boolean>(SHOULD_SHOW_SYSTEM_KEY) ?: false)
-        state.set(HAS_SYSTEM_APPS_KEY, state.get<Boolean>(HAS_SYSTEM_APPS_KEY) ?: true)
-        state.set(SHOW_ALWAYS_ALLOWED, state.get<Boolean>(SHOW_ALWAYS_ALLOWED) ?: false)
-        state.set(CREATION_LOGGED_KEY, state.get<Boolean>(CREATION_LOGGED_KEY) ?: false)
-        @Suppress("UNCHECKED_CAST") return PermissionAppsViewModel(state, app, groupName) as T
+    override fun <T : ViewModel> create(
+        key: String,
+        modelClass: Class<T>,
+        handle: SavedStateHandle
+    ): T {
+        handle.set(SHOULD_SHOW_SYSTEM_KEY, handle.get<Boolean>(SHOULD_SHOW_SYSTEM_KEY) ?: false)
+        handle.set(HAS_SYSTEM_APPS_KEY, handle.get<Boolean>(HAS_SYSTEM_APPS_KEY) ?: true)
+        handle.set(SHOW_ALWAYS_ALLOWED, handle.get<Boolean>(SHOW_ALWAYS_ALLOWED) ?: false)
+        handle.set(CREATION_LOGGED_KEY, handle.get<Boolean>(CREATION_LOGGED_KEY) ?: false)
+        @Suppress("UNCHECKED_CAST")
+        return PermissionAppsViewModel(handle, app, groupName) as T
     }
 }
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/ReviewOngoingUsageViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/ReviewOngoingUsageViewModel.kt
index 2fccd7e..0d8a129 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/ReviewOngoingUsageViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/model/v31/ReviewOngoingUsageViewModel.kt
@@ -619,9 +619,14 @@
     owner: SavedStateRegistryOwner,
     defaultArgs: Bundle
 ) : AbstractSavedStateViewModelFactory(owner, defaultArgs) {
-    override fun <T : ViewModel> create(p0: String, p1: Class<T>, state: SavedStateHandle): T {
-        state.set(FIRST_OPENED_KEY, state.get<Long>(FIRST_OPENED_KEY) ?: System.currentTimeMillis())
+    override fun <T : ViewModel> create(
+        key: String,
+        modelClass: Class<T>,
+        handle: SavedStateHandle
+    ): T {
+        handle.set(FIRST_OPENED_KEY, handle.get<Long>(FIRST_OPENED_KEY)
+            ?: System.currentTimeMillis())
         @Suppress("UNCHECKED_CAST")
-        return ReviewOngoingUsageViewModel(state, extraDurationMillis) as T
+        return ReviewOngoingUsageViewModel(handle, extraDurationMillis) as T
     }
 }
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt b/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt
index f2aa0ae..173e50d 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/KotlinUtils.kt
@@ -144,9 +144,6 @@
     /** Whether to show the location indicators. */
     private const val PROPERTY_LOCATION_INDICATORS_ENABLED = "location_indicators_enabled"
 
-    /** Whether location accuracy feature is enabled */
-    private const val PROPERTY_LOCATION_ACCURACY_ENABLED = "location_accuracy_enabled"
-
     /** Whether to show 7-day toggle in privacy hub. */
     private const val PRIVACY_DASHBOARD_7_DAY_TOGGLE = "privacy_dashboard_7_day_toggle"
 
@@ -252,12 +249,7 @@
     /** Whether the location accuracy feature is enabled */
     @ChecksSdkIntAtLeast(Build.VERSION_CODES.S)
     fun isLocationAccuracyEnabled(): Boolean {
-        return SdkLevel.isAtLeastS() &&
-            DeviceConfig.getBoolean(
-                DeviceConfig.NAMESPACE_PRIVACY,
-                PROPERTY_LOCATION_ACCURACY_ENABLED,
-                true
-            )
+        return SdkLevel.isAtLeastS()
     }
 
     /** Default state of location precision true: default is FINE. false: default is COARSE. */
@@ -1732,16 +1724,17 @@
 /** Get the [value][LiveData.getValue], suspending until [isInitialized] if not yet so */
 suspend fun <T, LD : LiveData<T>> LD.getInitializedValue(
     observe: LD.(Observer<T>) -> Unit = { observeForever(it) },
-    isInitialized: LD.() -> Boolean = { value != null }
+    isValueInitialized: LD.() -> Boolean = { value != null }
 ): T {
-    return if (isInitialized()) {
-        value!!
+    return if (isValueInitialized()) {
+        @Suppress("UNCHECKED_CAST")
+        value as T
     } else {
         suspendCoroutine { continuation: Continuation<T> ->
             val observer = AtomicReference<Observer<T>>()
             observer.set(
                 Observer { newValue ->
-                    if (isInitialized()) {
+                    if (isValueInitialized()) {
                         GlobalScope.launch(Dispatchers.Main) {
                             observer.getAndSet(null)?.let { observerSnapshot ->
                                 removeObserver(observerSnapshot)
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleListSortFunction.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleListSortFunction.java
index b3e3423..ca059aa 100644
--- a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleListSortFunction.java
+++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleListSortFunction.java
@@ -20,17 +20,18 @@
 import android.icu.text.Collator;
 
 import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
+
+import kotlin.jvm.functions.Function1;
 
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 
 /**
- * A function for {@link androidx.lifecycle.Transformations#map(androidx.lifecycle.LiveData,
- * Function)} that sorts a live data for role list.
+ * A function for {@link androidx.lifecycle#map(androidx.lifecycle.LiveData, Function1)}
+ * that sorts a live data for role list.
  */
-public class RoleListSortFunction implements Function<List<RoleItem>, List<RoleItem>> {
+public class RoleListSortFunction implements Function1<List<RoleItem>, List<RoleItem>> {
 
     @NonNull
     private final Comparator<RoleItem> mComparator;
@@ -42,10 +43,9 @@
                 roleItem.getRole().getShortLabelResource()), collator);
     }
 
-    @NonNull
     @Override
-    public List<RoleItem> apply(@NonNull List<RoleItem> input) {
-        List<RoleItem> sorted = new ArrayList<>(input);
+    public List<RoleItem> invoke(List<RoleItem> p1) {
+        List<RoleItem> sorted = new ArrayList<>(p1);
         sorted.sort(mComparator);
         return sorted;
     }
diff --git a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleSortFunction.java b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleSortFunction.java
index 5e74d5e..10db9db 100644
--- a/PermissionController/src/com/android/permissioncontroller/role/ui/RoleSortFunction.java
+++ b/PermissionController/src/com/android/permissioncontroller/role/ui/RoleSortFunction.java
@@ -23,19 +23,20 @@
 import android.util.Pair;
 
 import androidx.annotation.NonNull;
-import androidx.arch.core.util.Function;
 
 import com.android.permissioncontroller.permission.utils.Utils;
 
+import kotlin.jvm.functions.Function1;
+
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 
 /**
- * A function for {@link androidx.lifecycle.Transformations#map(androidx.lifecycle.LiveData,
- * Function)} that sorts a live data for role.
+ * A function for {@link androidx.lifecycle#map(androidx.lifecycle.LiveData, Function1)}
+ * that sorts a live data for role.
  */
-public class RoleSortFunction implements Function<List<Pair<ApplicationInfo, Boolean>>,
+public class RoleSortFunction implements Function1<List<Pair<ApplicationInfo, Boolean>>,
         List<Pair<ApplicationInfo, Boolean>>> {
 
     @NonNull
@@ -51,11 +52,9 @@
         mComparator = labelComparator.thenComparing(userIdComparator);
     }
 
-    @NonNull
     @Override
-    public List<Pair<ApplicationInfo, Boolean>> apply(
-            @NonNull List<Pair<ApplicationInfo, Boolean>> input) {
-        List<Pair<ApplicationInfo, Boolean>> sorted = new ArrayList<>(input);
+    public List<Pair<ApplicationInfo, Boolean>> invoke(List<Pair<ApplicationInfo, Boolean>> p1) {
+        List<Pair<ApplicationInfo, Boolean>> sorted = new ArrayList<>(p1);
         sorted.sort(mComparator);
         return sorted;
     }
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
index 6f146e4..9feecf5 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterFragment.kt
@@ -92,7 +92,7 @@
         }
 
         val safetyCenterIntent: ParsedSafetyCenterIntent =
-            requireActivity().getIntent().toSafetyCenterIntent()
+            requireActivity().intent.toSafetyCenterIntent()
         val isQsFragment =
             getArguments()?.getBoolean(QUICK_SETTINGS_SAFETY_CENTER_FRAGMENT, false) ?: false
         collapsableIssuesCardHelper =
@@ -120,7 +120,7 @@
     override fun onStart() {
         super.onStart()
         configureInteractionLogger()
-        safetyCenterViewModel.interactionLogger.record(Action.SAFETY_CENTER_VIEWED)
+        logSafetyCenterViewedEvent()
     }
 
     override fun onResume() {
@@ -162,6 +162,26 @@
 
     abstract fun configureInteractionLogger()
 
+    private fun logSafetyCenterViewedEvent() {
+        // If Safety Center was opened due to an associated notification click (i.e. intent has an
+        // associated issue), record that issue's metadata on the SAFETY_CENTER_VIEWED event
+        val maybeIssueKey = requireActivity().intent.toSafetyCenterIntent().safetyCenterIssueKey
+        val maybeIssue =
+            maybeIssueKey?.let {
+                safetyCenterViewModel.getCurrentSafetyCenterDataAsUiData().getMatchingIssue(it)
+            }
+
+        if (maybeIssue == null) {
+            safetyCenterViewModel.interactionLogger.record(Action.SAFETY_CENTER_VIEWED)
+        } else {
+            safetyCenterViewModel.interactionLogger.recordForIssue(
+                Action.SAFETY_CENTER_VIEWED,
+                maybeIssue,
+                isDismissed = false
+            )
+        }
+    }
+
     private fun displayErrorDetails(errorDetails: SafetyCenterErrorDetails?) {
         if (errorDetails == null) return
         Toast.makeText(requireContext(), errorDetails.errorMessage, Toast.LENGTH_LONG).show()
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt
index 4714d42..4ddcf1c 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/LiveSafetyCenterViewModel.kt
@@ -33,9 +33,9 @@
 import androidx.core.content.ContextCompat.getMainExecutor
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.Transformations
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.map
 import com.android.modules.utils.build.SdkLevel
 import com.android.permissioncontroller.safetycenter.ui.InteractionLogger
 import com.android.permissioncontroller.safetycenter.ui.NavigationSource
@@ -47,7 +47,7 @@
 
     private val TAG: String = LiveSafetyCenterViewModel::class.java.simpleName
     override val statusUiLiveData: LiveData<StatusUiData>
-        get() = Transformations.map(safetyCenterUiLiveData) { StatusUiData(it.safetyCenterData) }
+        get() = safetyCenterUiLiveData.map { StatusUiData(it.safetyCenterData) }
     override val safetyCenterUiLiveData: LiveData<SafetyCenterUiData> by this::_safetyCenterLiveData
     override val errorLiveData: LiveData<SafetyCenterErrorDetails> by this::_errorLiveData
 
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt
index 239f9a3..69a315f 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/model/SafetyCenterUiData.kt
@@ -16,6 +16,7 @@
 
 package com.android.permissioncontroller.safetycenter.ui.model
 
+import android.os.Build.VERSION_CODES.TIRAMISU
 import android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE
 import android.safetycenter.SafetyCenterData
 import android.safetycenter.SafetyCenterEntryGroup
@@ -24,12 +25,21 @@
 import android.safetycenter.SafetyCenterIssue.ISSUE_SEVERITY_LEVEL_OK
 import androidx.annotation.RequiresApi
 import com.android.safetycenter.internaldata.SafetyCenterBundles.ISSUES_TO_GROUPS_BUNDLE_KEY
+import com.android.safetycenter.internaldata.SafetyCenterIds
+import com.android.safetycenter.internaldata.SafetyCenterIssueKey
 
 /** UI model representation of Safety Center Data */
 data class SafetyCenterUiData(
     val safetyCenterData: SafetyCenterData,
     val resolvedIssues: Map<IssueId, ActionId> = emptyMap()
 ) {
+    @RequiresApi(TIRAMISU)
+    fun getMatchingIssue(issueKey: SafetyCenterIssueKey): SafetyCenterIssue? {
+        return safetyCenterData.issues.find {
+            SafetyCenterIds.issueIdFromString(it.id).safetyCenterIssueKey == issueKey
+        }
+    }
+
     /** Returns the [SafetyCenterEntryGroup] corresponding to the provided ID */
     @RequiresApi(UPSIDE_DOWN_CAKE)
     fun getMatchingGroup(groupId: String): SafetyCenterEntryGroup? {
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt
index b8142e1..ebfbef7 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/view/MoreIssuesHeaderView.kt
@@ -45,13 +45,9 @@
     private val moreIssuesCardAnimator = MoreIssuesCardAnimator()
     private val statusIconView: ImageView by lazyView(R.id.status_icon)
     private val titleView: TextView by lazyView(R.id.title)
-    private val expandCollapseLayout: View by lazyView(android.R.id.widget_frame)
-    private val counterView: TextView by lazyView {
-        expandCollapseLayout.findViewById(R.id.widget_title)
-    }
-    private val expandCollapseIcon: ImageView by lazyView {
-        expandCollapseLayout.findViewById(R.id.widget_icon)
-    }
+    private val expandCollapseLayout: View by lazyView(R.id.widget_frame)
+    private val counterView: TextView by lazyView(R.id.widget_title)
+    private val expandCollapseIcon: ImageView by lazyView(R.id.widget_icon)
     private var cornerAnimator: ValueAnimator? = null
 
     fun showExpandableHeader(
diff --git a/PermissionController/tests/mocking/Android.bp b/PermissionController/tests/mocking/Android.bp
index 64903d6..0c7c3e6 100644
--- a/PermissionController/tests/mocking/Android.bp
+++ b/PermissionController/tests/mocking/Android.bp
@@ -139,5 +139,5 @@
         "mts-permission",
     ],
 
-    kotlincflags: ["-Xjvm-default=enable"],
+    kotlincflags: ["-Xjvm-default=all"],
 }
diff --git a/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml b/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml
index c4328fe..628477b 100644
--- a/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml
+++ b/SafetyCenter/Resources/res/values-b+sr+Latn/strings.xml
@@ -22,7 +22,7 @@
     <string name="lock_screen_sources_summary" msgid="7220439741282516496"></string>
     <string name="lock_screen_title" msgid="4069104894527169877">"Otključavanje ekrana"</string>
     <string name="lock_screen_summary_disabled" msgid="354071230916616692">"Još nema informacija"</string>
-    <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, zaključavanje ekrana, zaključani ekran, lozinka, PIN, šablon"</string>
+    <string name="lock_screen_search_terms" msgid="2678486357779794826">"zaključavanje uređaja, otključavanje ekrana, zaključani ekran, lozinka, PIN, šablon"</string>
     <string name="biometrics_title" msgid="5859504610285212938">"Biometrija"</string>
     <string name="biometrics_search_terms" msgid="6040319118762671981">"otisak prsta, prst, dodaj otisak prsta, otključavanje licem, lice"</string>
     <string name="privacy_sources_title" msgid="4061110826457365957">"Privatnost"</string>
diff --git a/SafetyCenter/Resources/res/values-eu-v34/strings.xml b/SafetyCenter/Resources/res/values-eu-v34/strings.xml
index 20f2cfb..0d25790 100644
--- a/SafetyCenter/Resources/res/values-eu-v34/strings.xml
+++ b/SafetyCenter/Resources/res/values-eu-v34/strings.xml
@@ -25,7 +25,7 @@
     <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Kokapen-datuak partekatzeko aukeraren berritasunak"</string>
     <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"datuak, datuak partekatzeko aukera, datuak partekatzeko aukeraren berritasunak, kokapen-datuak partekatzeko aukeraren berritasunak, partekatzea"</string>
     <string name="advanced_title" msgid="6259362998269627310">"Beste ezarpen batzuk"</string>
-    <string name="more_settings_title" msgid="9033454654010697185">"Segurtasun eta pribatutasun gehiago"</string>
+    <string name="more_settings_title" msgid="9033454654010697185">"Segurtasun eta pribatutasun handiagoa"</string>
     <string name="more_settings_summary" msgid="7086620830002515710">"Betetze automatikoa, jakinarazpenak eta abar"</string>
     <string name="more_settings_search_terms" msgid="1371913937610933955"></string>
     <string name="work_policy_title" msgid="915692932391542104">"Laneko gidalerroei buruzko informazioa"</string>
diff --git a/SafetyCenter/Resources/res/values-fa-v34/strings.xml b/SafetyCenter/Resources/res/values-fa-v34/strings.xml
index d8bf2b7..92a2168 100644
--- a/SafetyCenter/Resources/res/values-fa-v34/strings.xml
+++ b/SafetyCenter/Resources/res/values-fa-v34/strings.xml
@@ -18,7 +18,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="lock_screen_sources_title" msgid="5493678510117489865">"باز کردن قفل دستگاه"</string>
-    <string name="biometrics_title_for_work" msgid="1842284049407771568">"گزینه‌های زیست‌سنجشی ویژه کار"</string>
+    <string name="biometrics_title_for_work" msgid="1842284049407771568">"داده‌های زیست‌سنجشی برای کار"</string>
     <string name="privacy_sources_summary" msgid="4083646673569677049">"اجازه‌ها، داشبورد، کنترل‌ها"</string>
     <string name="health_connect_title" msgid="8318152190040327804">"Health Connect"</string>
     <string name="health_connect_search_terms" msgid="4998970586245680829">"‏سلامت، Health Connect"</string>
diff --git a/SafetyCenter/Resources/res/values-fa/strings.xml b/SafetyCenter/Resources/res/values-fa/strings.xml
index cf277b7..bdf2063 100644
--- a/SafetyCenter/Resources/res/values-fa/strings.xml
+++ b/SafetyCenter/Resources/res/values-fa/strings.xml
@@ -23,7 +23,7 @@
     <string name="lock_screen_title" msgid="4069104894527169877">"قفل صفحه"</string>
     <string name="lock_screen_summary_disabled" msgid="354071230916616692">"هنوز اطلاعاتی دردسترس نیست"</string>
     <string name="lock_screen_search_terms" msgid="2678486357779794826">"قفل دستگاه، قفل صفحه، صفحه قفل، صفحه‌قفل، گذرواژه، پین، الگو"</string>
-    <string name="biometrics_title" msgid="5859504610285212938">"زیست‌سنجشی"</string>
+    <string name="biometrics_title" msgid="5859504610285212938">"داده‌های زیست‌سنجشی"</string>
     <string name="biometrics_search_terms" msgid="6040319118762671981">"اثر انگشت، انگشت، افزودن اثر انگشت، قفل‌گشایی با چهره، چهره"</string>
     <string name="privacy_sources_title" msgid="4061110826457365957">"حریم خصوصی"</string>
     <string name="privacy_sources_summary" msgid="4089719981155120864">"داشبورد، اجازه‌ها، کنترل‌ها"</string>
diff --git a/SafetyCenter/Resources/res/values-fi/strings.xml b/SafetyCenter/Resources/res/values-fi/strings.xml
index de46fb2..5d234cd 100644
--- a/SafetyCenter/Resources/res/values-fi/strings.xml
+++ b/SafetyCenter/Resources/res/values-fi/strings.xml
@@ -30,7 +30,7 @@
     <string name="permission_usage_title" msgid="3633779688945350407">"Yksityisyydenhallintapaneeli"</string>
     <string name="permission_usage_summary" msgid="5323079206029964468">"Näytä, mitkä sovellukset ovat käyttäneet lupia äskettäin"</string>
     <string name="permission_usage_search_terms" msgid="3852343592870257104">"Yksityisyys, yksityisyydenhallintapaneeli"</string>
-    <string name="permission_manager_title" msgid="5277347862821255015">"Lupien ylläpito"</string>
+    <string name="permission_manager_title" msgid="5277347862821255015">"Lupienhallinta"</string>
     <string name="permission_manager_summary" msgid="8099852107340970790">"Päätä sovelluksen pääsystä dataasi"</string>
     <string name="permission_manager_search_terms" msgid="2895147613099694722">"Luvat, lupien hallinta"</string>
     <string name="privacy_controls_title" msgid="5322875777945432395">"Yksityisyysasetukset"</string>
@@ -41,6 +41,6 @@
     <string name="advanced_security_summary" msgid="6172253327022425123">"Salaus, kirjautumistiedot ja muuta"</string>
     <string name="advanced_security_search_terms" msgid="3350609555814362075"></string>
     <string name="advanced_privacy_title" msgid="1117725225706176643">"Lisää yksityisyysasetuksia"</string>
-    <string name="advanced_privacy_summary" msgid="2281203390575069543">"Automaattinen täyttö, toimintojen hallinta ja muuta"</string>
+    <string name="advanced_privacy_summary" msgid="2281203390575069543">"Automaattinen täyttö, toiminnan hallinta ja muuta"</string>
     <string name="advanced_privacy_search_terms" msgid="5044404599789175222"></string>
 </resources>
diff --git a/SafetyCenter/Resources/res/values-in-v34/strings.xml b/SafetyCenter/Resources/res/values-in-v34/strings.xml
index 9d375e0..7c88043 100644
--- a/SafetyCenter/Resources/res/values-in-v34/strings.xml
+++ b/SafetyCenter/Resources/res/values-in-v34/strings.xml
@@ -24,9 +24,9 @@
     <string name="health_connect_search_terms" msgid="4998970586245680829">"Health, Health Connect"</string>
     <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"Pembaruan berbagi data untuk lokasi"</string>
     <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"Data, Berbagi data, Pembaruan berbagi data, Pembaruan berbagi data untuk lokasi, berbagi"</string>
-    <string name="advanced_title" msgid="6259362998269627310">"Setelan lainnya"</string>
-    <string name="more_settings_title" msgid="9033454654010697185">"Keamanan &amp; privasi lainnya"</string>
-    <string name="more_settings_summary" msgid="7086620830002515710">"Isi otomatis, notifikasi, dan lainnya"</string>
+    <string name="advanced_title" msgid="6259362998269627310">"Setelan lain"</string>
+    <string name="more_settings_title" msgid="9033454654010697185">"Keamanan &amp; privasi lain"</string>
+    <string name="more_settings_summary" msgid="7086620830002515710">"Isi otomatis, notifikasi, dan lain-lain"</string>
     <string name="more_settings_search_terms" msgid="1371913937610933955"></string>
     <string name="work_policy_title" msgid="915692932391542104">"Info kebijakan profil kerja Anda"</string>
 </resources>
diff --git a/SafetyCenter/Resources/res/values-ja/strings.xml b/SafetyCenter/Resources/res/values-ja/strings.xml
index 6e67998..b31b169 100644
--- a/SafetyCenter/Resources/res/values-ja/strings.xml
+++ b/SafetyCenter/Resources/res/values-ja/strings.xml
@@ -30,9 +30,9 @@
     <string name="permission_usage_title" msgid="3633779688945350407">"プライバシー ダッシュボード"</string>
     <string name="permission_usage_summary" msgid="5323079206029964468">"権限を最近使用したアプリが表示されます"</string>
     <string name="permission_usage_search_terms" msgid="3852343592870257104">"プライバシー, プライバシー ダッシュボード"</string>
-    <string name="permission_manager_title" msgid="5277347862821255015">"権限マネージャー"</string>
+    <string name="permission_manager_title" msgid="5277347862821255015">"権限マネージャ"</string>
     <string name="permission_manager_summary" msgid="8099852107340970790">"アプリのデータアクセスを管理します"</string>
-    <string name="permission_manager_search_terms" msgid="2895147613099694722">"権限, 権限マネージャー"</string>
+    <string name="permission_manager_search_terms" msgid="2895147613099694722">"権限, 権限マネージャ"</string>
     <string name="privacy_controls_title" msgid="5322875777945432395">"プライバシー管理"</string>
     <string name="privacy_controls_summary" msgid="2402066941190435424">"マイク、カメラなどへのデバイス アクセスを管理します"</string>
     <string name="privacy_controls_search_terms" msgid="3774472175934304165">"プライバシー, プライバシー管理"</string>
diff --git a/SafetyCenter/Resources/res/values-sr/strings.xml b/SafetyCenter/Resources/res/values-sr/strings.xml
index 2cd42d2..af0f517 100644
--- a/SafetyCenter/Resources/res/values-sr/strings.xml
+++ b/SafetyCenter/Resources/res/values-sr/strings.xml
@@ -22,7 +22,7 @@
     <string name="lock_screen_sources_summary" msgid="7220439741282516496"></string>
     <string name="lock_screen_title" msgid="4069104894527169877">"Откључавање екрана"</string>
     <string name="lock_screen_summary_disabled" msgid="354071230916616692">"Још нема информација"</string>
-    <string name="lock_screen_search_terms" msgid="2678486357779794826">"закључавање уређаја, закључавање екрана, закључани екран, лозинка, PIN, шаблон"</string>
+    <string name="lock_screen_search_terms" msgid="2678486357779794826">"закључавање уређаја, откључавање екрана, закључани екран, лозинка, PIN, шаблон"</string>
     <string name="biometrics_title" msgid="5859504610285212938">"Биометрија"</string>
     <string name="biometrics_search_terms" msgid="6040319118762671981">"отисак прста, прст, додај отисак прста, откључавање лицем, лице"</string>
     <string name="privacy_sources_title" msgid="4061110826457365957">"Приватност"</string>
diff --git a/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml b/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml
index ff50335..da468fa 100644
--- a/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml
+++ b/SafetyCenter/Resources/res/values-zh-rCN-v34/strings.xml
@@ -22,7 +22,7 @@
     <string name="privacy_sources_summary" msgid="4083646673569677049">"权限、信息中心和控件"</string>
     <string name="health_connect_title" msgid="8318152190040327804">"健康数据共享"</string>
     <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, 健康数据共享, Health, Health Connect"</string>
-    <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置数据分享方面的更新"</string>
+    <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置数据共享方面的更新"</string>
     <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"数据, 数据分享, 数据分享方面的更新, 位置数据分享方面的更新, 分享, Data, Data sharing, Data sharing updates, Data sharing updates for location, sharing"</string>
     <string name="advanced_title" msgid="6259362998269627310">"其他设置"</string>
     <string name="more_settings_title" msgid="9033454654010697185">"更多安全和隐私设置"</string>
diff --git a/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml b/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml
index 09f8e9d..54bbf0f 100644
--- a/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml
+++ b/SafetyCenter/Resources/res/values-zh-rTW-v34/strings.xml
@@ -22,7 +22,7 @@
     <string name="privacy_sources_summary" msgid="4083646673569677049">"權限、資訊主頁、控制選項"</string>
     <string name="health_connect_title" msgid="8318152190040327804">"健康資料同步"</string>
     <string name="health_connect_search_terms" msgid="4998970586245680829">"健康, 健康資料同步"</string>
-    <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置資料分享更新"</string>
+    <string name="app_data_sharing_updates_title" msgid="7428862330643262588">"位置資料共用方式更新"</string>
     <string name="app_data_sharing_updates_search_terms" msgid="8414777373734245398">"資料, 資料分享, 資料分享更新, 位置資料分享更新, 分享"</string>
     <string name="advanced_title" msgid="6259362998269627310">"其他設定"</string>
     <string name="more_settings_title" msgid="9033454654010697185">"其他安全性和隱私權設定"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-ar/strings.xml b/SafetyCenter/Resources/shared_res/values-ar/strings.xml
index 49e16c3..214844d 100644
--- a/SafetyCenter/Resources/shared_res/values-ar/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-ar/strings.xml
@@ -20,7 +20,7 @@
     <string name="scanning_title" msgid="5424849039854311398">"جارٍ الفحص"</string>
     <string name="loading_summary" msgid="3740846439782713910">"جارٍ التحقّق من إعدادات الجهاز…"</string>
     <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"كل شيء على ما يرام"</string>
-    <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"لم يتم رصد أي مشاكل."</string>
+    <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"لم يتم رصد أي مشاكل"</string>
     <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{الاطّلاع على اقتراح}zero{الاطّلاع على اقتراحات}two{الاطّلاع على اقتراحَين}few{الاطّلاع على اقتراحات}many{الاطّلاع على اقتراحات}other{الاطّلاع على اقتراحات}}"</string>
     <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{الإجراء الذي تم اتخاذه}zero{الإجراءات التي تم اتخاذها}two{الإجراءان اللذان تم اتخاذهما}few{الإجراءات التي تم اتخاذها}many{الإجراءات التي تم اتخاذها}other{الإجراءات التي تم اتخاذها}}"</string>
     <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"مراجعة الإعدادات"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-ca/strings.xml b/SafetyCenter/Resources/shared_res/values-ca/strings.xml
index 640a723..a2d8b0f 100644
--- a/SafetyCenter/Resources/shared_res/values-ca/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-ca/strings.xml
@@ -26,7 +26,7 @@
     <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Revisa la configuració"</string>
     <string name="overall_severity_level_ok_review_summary" msgid="7743619617413076275">"Comprova la llista d\'opcions de configuració"</string>
     <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"El dispositiu pot estar en perill"</string>
-    <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"Dispositiu en perill"</string>
+    <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"El dispositiu està en perill"</string>
     <string name="overall_severity_level_data_recommendation_title" msgid="1424269714861655302">"Les dades poden estar en perill"</string>
     <string name="overall_severity_level_critical_data_warning_title" msgid="1012704126634698604">"Les dades estan en perill"</string>
     <string name="overall_severity_level_passwords_recommendation_title" msgid="8625105570296877719">"Contrasenyes en perill (antigues)"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-kk/strings.xml b/SafetyCenter/Resources/shared_res/values-kk/strings.xml
index 9226d4f..386a0d4 100644
--- a/SafetyCenter/Resources/shared_res/values-kk/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-kk/strings.xml
@@ -25,7 +25,7 @@
     <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{Әрекет жасалды.}other{Әрекеттер жасалды.}}"</string>
     <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Параметрлерді тексерy"</string>
     <string name="overall_severity_level_ok_review_summary" msgid="7743619617413076275">"Параметрлер тізімін тексеріңіз."</string>
-    <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"Құрылғыға қауіп төнген болуы мүмкін"</string>
+    <string name="overall_severity_level_device_recommendation_title" msgid="5250040236433061827">"Құрылғыға қауіп төнген сияқты"</string>
     <string name="overall_severity_level_critical_device_warning_title" msgid="5901771721834272596">"Құрылғыға қауіп төніп тұр"</string>
     <string name="overall_severity_level_data_recommendation_title" msgid="1424269714861655302">"Деректерге қауіп төнген сияқты"</string>
     <string name="overall_severity_level_critical_data_warning_title" msgid="1012704126634698604">"Деректерге қауіп төніп тұр"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-nl/strings.xml b/SafetyCenter/Resources/shared_res/values-nl/strings.xml
index ab8edda..4b10001 100644
--- a/SafetyCenter/Resources/shared_res/values-nl/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-nl/strings.xml
@@ -18,7 +18,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="scanning_title" msgid="5424849039854311398">"Scannen"</string>
-    <string name="loading_summary" msgid="3740846439782713910">"Apparaat­instellingen­ checken…"</string>
+    <string name="loading_summary" msgid="3740846439782713910">"Apparaat­instellingen­ controleren…"</string>
     <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"Dat ziet er goed uit"</string>
     <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Geen problemen gevonden"</string>
     <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{Aanbeveling bekijken}other{Aanbevelingen bekijken}}"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-ru/strings.xml b/SafetyCenter/Resources/shared_res/values-ru/strings.xml
index b72d9b0..7e8e9f8 100644
--- a/SafetyCenter/Resources/shared_res/values-ru/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-ru/strings.xml
@@ -43,7 +43,7 @@
     <string name="refresh_error" msgid="656062128422446177">"{count,plural, =1{Не удалось проверить параметр}one{Не удалось проверить параметры}few{Не удалось проверить параметры}many{Не удалось проверить параметры}other{Не удалось проверить параметры}}"</string>
     <string name="work_profile_paused" msgid="7037400224040869079">"Действие рабочего профиля приостановлено."</string>
     <string name="group_unknown_summary" msgid="6951386960814105641">"Данных пока нет"</string>
-    <string name="notification_channel_group_name" msgid="7155072032524876859">"Защита и конфиденциальность"</string>
+    <string name="notification_channel_group_name" msgid="7155072032524876859">"Безопасность и кон­фи­ден­циаль­ность"</string>
     <string name="notification_channel_name_information" msgid="2966444432152990166">"Рекомендации"</string>
     <string name="notification_channel_name_recommendation" msgid="7847408286580217922">"Предупреждения"</string>
     <string name="notification_channel_name_critical_warning" msgid="5994320322108351769">"Важные предупреждения"</string>
diff --git a/SafetyCenter/Resources/shared_res/values-vi/strings.xml b/SafetyCenter/Resources/shared_res/values-vi/strings.xml
index 8bbffeb..ba9183e 100644
--- a/SafetyCenter/Resources/shared_res/values-vi/strings.xml
+++ b/SafetyCenter/Resources/shared_res/values-vi/strings.xml
@@ -20,7 +20,7 @@
     <string name="scanning_title" msgid="5424849039854311398">"Quét"</string>
     <string name="loading_summary" msgid="3740846439782713910">"Đang kiểm tra chế độ cài đặt của thiết bị…"</string>
     <string name="overall_severity_level_ok_title" msgid="2041250138727564565">"Có vẻ ổn"</string>
-    <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Không phát hiện thấy sự cố nào"</string>
+    <string name="overall_severity_level_ok_summary" msgid="383626536912856690">"Không phát hiện thấy vấn đề nào"</string>
     <string name="overall_severity_level_tip_summary" msgid="1935765582243024999">"{count,plural, =1{Xem đề xuất}other{Xem các đề xuất}}"</string>
     <string name="overall_severity_level_action_taken_summary" msgid="8064091657855656545">"{count,plural, =1{Hành động đã thực hiện}other{Hành động đã thực hiện}}"</string>
     <string name="overall_severity_level_ok_review_title" msgid="1494321117696765360">"Xem lại các chế độ cài đặt"</string>
diff --git a/framework-s/Android.bp b/framework-s/Android.bp
index e017a7e..9cf1e97 100644
--- a/framework-s/Android.bp
+++ b/framework-s/Android.bp
@@ -44,6 +44,7 @@
     name: "framework-permission-s-shared",
     srcs: [":framework-permission-s-shared-srcs"],
     libs: [
+        "error_prone_annotations",
         "framework-annotations-lib",
         "unsupportedappusage",
     ],
diff --git a/service/Android.bp b/service/Android.bp
index 96b8fbb..6d2cf9b 100644
--- a/service/Android.bp
+++ b/service/Android.bp
@@ -154,6 +154,7 @@
         ":statslog-service-permission-java-gen",
     ],
     libs: [
+        "androidx.annotation_annotation",
         "framework-statsd.stubs.module_lib",
     ],
     apex_available: [
diff --git a/service/java/com/android/safetycenter/SafetyCenterFlags.java b/service/java/com/android/safetycenter/SafetyCenterFlags.java
index 67c4d25..e51d3a1 100644
--- a/service/java/com/android/safetycenter/SafetyCenterFlags.java
+++ b/service/java/com/android/safetycenter/SafetyCenterFlags.java
@@ -123,6 +123,9 @@
     private static final String RESURFACE_ISSUE_DELAYS_DEFAULT = "";
     private static final Duration RESURFACE_ISSUE_DELAYS_DEFAULT_DURATION = Duration.ofDays(180);
 
+    private static final ArraySet<String> sAllowedNotificationSourcesUPlus =
+            new ArraySet<>(new String[] {"GoogleBackupAndRestore"});
+
     private static volatile String sUntrackedSourcesDefault =
             "AndroidAccessibility,AndroidBackgroundLocation,"
                     + "AndroidNotificationListener,AndroidPermissionAutoRevoke";
@@ -175,7 +178,10 @@
         fout.println("FLAGS");
         printFlag(fout, PROPERTY_SAFETY_CENTER_ENABLED, getSafetyCenterEnabled());
         printFlag(fout, PROPERTY_NOTIFICATIONS_ENABLED, getNotificationsEnabled());
-        printFlag(fout, PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES, getNotificationsAllowedSourceIds());
+        printFlag(
+                fout,
+                PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES,
+                getNotificationsAllowedSourceIdsFlag());
         printFlag(fout, PROPERTY_NOTIFICATIONS_MIN_DELAY, getNotificationsMinDelay());
         printFlag(
                 fout,
@@ -244,6 +250,20 @@
      * and therefore this is the only way to enable notifications for sources on Android T.
      */
     public static ArraySet<String> getNotificationsAllowedSourceIds() {
+        ArraySet<String> sources = getNotificationsAllowedSourceIdsFlag();
+        if (SdkLevel.isAtLeastU()) {
+            // This is a hack to update the flag value via mainline update. Reasons why we can't do
+            // this via:
+            // remote flag update - these are generally avoided and considered risky
+            // XML config - it would break GTS tests for OEMs that have a separate config copy
+            // default flag value - it would also require a remote flag update
+            sources.addAll(sAllowedNotificationSourcesUPlus);
+        }
+
+        return sources;
+    }
+
+    private static ArraySet<String> getNotificationsAllowedSourceIdsFlag() {
         return getCommaSeparatedStrings(PROPERTY_NOTIFICATIONS_ALLOWED_SOURCES);
     }
 
diff --git a/tests/apex/java/com/android/role/persistence/RolesPersistenceTest.kt b/tests/apex/java/com/android/role/persistence/RolesPersistenceTest.kt
index 1806f8e..d90ffad 100644
--- a/tests/apex/java/com/android/role/persistence/RolesPersistenceTest.kt
+++ b/tests/apex/java/com/android/role/persistence/RolesPersistenceTest.kt
@@ -91,7 +91,7 @@
             .writeText("<roles version=\"-1\"><role name=\"com.foo.bar\"><holder")
         val persistedState = persistence.readForUser(user)
 
-        checkPersistedState(persistedState!!)
+        checkPersistedState(persistedState)
     }
 
     @Test
@@ -103,11 +103,11 @@
         assertThat(persistedState).isNull()
     }
 
-    private fun checkPersistedState(persistedState: RolesState) {
+    private fun checkPersistedState(persistedState: RolesState?) {
         assertThat(persistedState).isEqualTo(state)
-        assertThat(persistedState.version).isEqualTo(state.version)
-        assertThat(persistedState.packagesHash).isEqualTo(state.packagesHash)
-        assertThat(persistedState.roles).isEqualTo(state.roles)
+        assertThat(persistedState?.version).isEqualTo(state.version)
+        assertThat(persistedState?.packagesHash).isEqualTo(state.packagesHash)
+        assertThat(persistedState?.roles).isEqualTo(state.roles)
     }
 
     companion object {
diff --git a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt
index 9c9e9b0..1678ccc 100644
--- a/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt
+++ b/tests/functional/safetycenter/singleuser/src/android/safetycenter/functional/SafetyCenterNotificationTest.kt
@@ -44,7 +44,6 @@
 import com.android.safetycenter.testing.SafetyCenterApisWithShellPermissions.reportSafetySourceErrorWithPermission
 import com.android.safetycenter.testing.SafetyCenterFlags
 import com.android.safetycenter.testing.SafetyCenterTestConfigs
-import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID
 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_1
 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_2
 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SOURCE_ID_5
@@ -68,6 +67,7 @@
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
+import org.junit.rules.TestName
 import org.junit.runner.RunWith
 
 /** Notification-related tests for [SafetyCenterManager]. */
@@ -81,6 +81,7 @@
         requireNotNull(context.getSystemService(SafetyCenterManager::class.java)) {
             "Could not get SafetyCenterManager"
         }
+    private var uniqueSafetySourceId: String = ""
 
     @get:Rule(order = 1) val supportsSafetyCenterRule = SupportsSafetyCenterRule(context)
     @get:Rule(order = 2)
@@ -88,17 +89,23 @@
         SafetyCenterTestRule(safetyCenterTestHelper, withNotifications = true)
     @get:Rule(order = 3) val disableAnimationRule = DisableAnimationRule()
     @get:Rule(order = 4) val freezeRotationRule = FreezeRotationRule()
+    @get:Rule(order = 5) val testNameRule = TestName()
 
     @Before
     fun enableNotificationsForTestSourceBeforeTest() {
         SafetyCenterFlags.notificationsEnabled = true
-        setFlagsForImmediateNotifications(SINGLE_SOURCE_ID)
-        safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig)
+        uniqueSafetySourceId = testNameRule.methodName
+        setFlagsForImmediateNotifications(uniqueSafetySourceId)
+        safetyCenterTestHelper.setConfig(
+            safetyCenterTestConfigs.singleSourceConfig(
+                safetyCenterTestConfigs.dynamicSafetySourceBuilder(uniqueSafetySourceId).build()
+            )
+        )
     }
 
     @Test
     fun setSafetySourceData_withNoIssue_noNotification() {
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.information)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, safetySourceTestData.information)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -108,7 +115,7 @@
         SafetyCenterFlags.immediateNotificationBehaviorIssues = emptySet()
 
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithAccountIssue
         )
 
@@ -120,7 +127,7 @@
         SafetyCenterFlags.notificationsAllowedSources = emptySet()
 
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithAccountIssue
         )
 
@@ -132,7 +139,7 @@
         SafetyCenterFlags.notificationsEnabled = false
 
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithAccountIssue
         )
 
@@ -153,7 +160,7 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -173,7 +180,7 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -204,7 +211,7 @@
                 .addIssue(neverNotifyIssue)
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
         TestNotificationListener.waitForZeroNotifications()
 
         SafetyCenterFlags.notificationsMinDelay = TIMEOUT_SHORT
@@ -212,13 +219,14 @@
         // Sending new data causes Safety Center to recompute which issues to send notifications
         // about and this should now include the delayed issue sent in data1 above.
         Thread.sleep(TIMEOUT_SHORT.toMillis())
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Notify later",
                 text = "This is not urgent.",
-                actions = listOf("See issue")
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -239,13 +247,14 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Notify immediately",
                 text = "This is urgent!",
-                actions = listOf("See issue")
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -267,29 +276,31 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Notify immediately",
                 text = "This is urgent!",
-                actions = listOf("See issue")
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
 
     @Test
     fun setSafetySourceData_withNotificationsAllowedForSourceByFlag_sendsNotification() {
-        SafetyCenterFlags.notificationsAllowedSources = setOf(SINGLE_SOURCE_ID)
+        SafetyCenterFlags.notificationsAllowedSources = setOf(uniqueSafetySourceId)
         val data = safetySourceTestData.recommendationWithAccountIssue
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Recommendation issue title",
                 text = "Recommendation issue summary",
-                actions = listOf("See issue")
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -316,13 +327,14 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Recommendation issue title",
                 text = "Recommendation issue summary",
-                actions = listOf("Action 1", "Action 2")
+                actions = listOf("Action 1", "Action 2"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -355,7 +367,12 @@
 
         safetyCenterTestHelper.setData("MyNotifiableSource", data)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = "MyNotifiableSource",
+            )
+        )
     }
 
     @Test
@@ -393,13 +410,14 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Custom title",
                 text = "Custom text",
-                actions = listOf("Custom action 1", "Custom action 2")
+                actions = listOf("Custom action 1", "Custom action 2"),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -431,13 +449,14 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForSingleNotificationMatching(
             NotificationCharacteristics(
                 title = "Custom title",
                 text = "Custom text",
-                actions = emptyList()
+                actions = emptyList(),
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -454,14 +473,15 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
 
         val initialNotification =
             TestNotificationListener.waitForSingleNotificationMatching(
                 NotificationCharacteristics(
                     title = "Initial",
                     text = "Blah",
-                    actions = listOf("See issue")
+                    actions = listOf("See issue"),
+                    safetySourceId = uniqueSafetySourceId,
                 )
             )
 
@@ -485,14 +505,15 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
         val revisedNotification =
             TestNotificationListener.waitForSingleNotificationMatching(
                 NotificationCharacteristics(
                     title = "Revised",
                     text = "Different",
-                    actions = listOf("See issue", "New action")
+                    actions = listOf("See issue", "New action"),
+                    safetySourceId = uniqueSafetySourceId,
                 )
             )
         assertThat(initialNotification.statusBarNotification.key)
@@ -503,11 +524,16 @@
     fun setSafetySourceData_twiceWithExactSameIssue_doNotNotifyTwice() {
         val data = safetySourceTestData.recommendationWithAccountIssue
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
         TestNotificationListener.waitForZeroNotificationEvents()
     }
@@ -517,11 +543,16 @@
         val data1 = safetySourceTestData.recommendationWithAccountIssue
         val data2 = safetySourceTestData.information
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -532,12 +563,17 @@
         val data1 = safetySourceTestData.recommendationWithAccountIssue
         val data2 = safetySourceTestData.information
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
         SafetyCenterFlags.notificationsEnabled = false
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
         TestNotificationListener.waitForZeroNotificationEvents()
     }
@@ -550,11 +586,16 @@
                 SafetyEvent.Builder(SafetyEvent.SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build()
             )
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
-        safetyCenterManager.reportSafetySourceErrorWithPermission(SINGLE_SOURCE_ID, error)
+        safetyCenterManager.reportSafetySourceErrorWithPermission(uniqueSafetySourceId, error)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -584,20 +625,21 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
 
         val notificationWithChannel =
             TestNotificationListener.waitForSingleNotificationMatching(
                 NotificationCharacteristics(
                     title = "Initial",
                     text = "Blah",
-                    actions = listOf("See issue")
+                    actions = listOf("See issue"),
+                    safetySourceId = uniqueSafetySourceId,
                 )
             )
 
         TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key)
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
         TestNotificationListener.waitForZeroNotifications()
     }
@@ -623,13 +665,24 @@
                         .build()
                 )
                 .build()
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data1)
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data1)
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key)
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data2)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data2)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
     }
 
     @Test
@@ -658,6 +711,7 @@
                 "Critical issue title",
                 "Critical issue summary",
                 actions = listOf("Solve issue"),
+                safetySourceId = SOURCE_ID_5,
             )
         )
     }
@@ -677,7 +731,13 @@
             )
         )
 
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = SOURCE_ID_1,
+                )
+            )
 
         TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key)
 
@@ -693,13 +753,17 @@
                 "Critical issue title",
                 "Critical issue summary",
                 actions = listOf("Solve issue"),
+                safetySourceId = SOURCE_ID_5,
             )
         )
     }
 
     @Test
     fun setSafetySourceData_withInformationIssue_lowImportanceBlockableNotification() {
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue)
+        safetyCenterTestHelper.setData(
+            uniqueSafetySourceId,
+            safetySourceTestData.informationWithIssue
+        )
 
         TestNotificationListener.waitForNotificationsMatching(
             NotificationCharacteristics(
@@ -707,7 +771,8 @@
                 "Information issue summary",
                 actions = listOf("Review"),
                 importance = NotificationManager.IMPORTANCE_LOW,
-                blockable = true
+                blockable = true,
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -715,7 +780,7 @@
     @Test
     fun setSafetySourceData_withRecommendationIssue_defaultImportanceUnblockableNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithAccountIssue
         )
 
@@ -725,7 +790,8 @@
                 "Recommendation issue summary",
                 importance = NotificationManager.IMPORTANCE_DEFAULT,
                 actions = listOf("See issue"),
-                blockable = false
+                blockable = false,
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -733,8 +799,8 @@
     @Test
     fun setSafetySourceData_withCriticalIssue_highImportanceUnblockableNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingDeviceIssue
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingDeviceIssue(sourceId = uniqueSafetySourceId)
         )
 
         TestNotificationListener.waitForNotificationsMatching(
@@ -743,7 +809,8 @@
                 "Critical issue summary",
                 actions = listOf("Solve issue"),
                 importance = NotificationManager.IMPORTANCE_HIGH,
-                blockable = false
+                blockable = false,
+                safetySourceId = uniqueSafetySourceId,
             )
         )
     }
@@ -751,15 +818,20 @@
     @Test
     fun dismissSafetyCenterIssue_dismissesNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithAccountIssue
         )
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
         safetyCenterManager.dismissSafetyCenterIssueWithPermission(
             SafetyCenterTestData.issueId(
-                SINGLE_SOURCE_ID,
+                uniqueSafetySourceId,
                 SafetySourceTestData.RECOMMENDATION_ISSUE_ID
             )
         )
@@ -770,14 +842,20 @@
     @Test
     fun dismissingNotification_doesNotUpdateSafetyCenterData() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingGeneralIssue
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId)
         )
         // Add the listener after setting the initial data so that we don't need to consume/receive
         // an update for that
         val listener = safetyCenterTestHelper.addListener()
 
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
 
         TestNotificationListener.cancelAndWait(notificationWithChannel.statusBarNotification.key)
 
@@ -813,6 +891,7 @@
                     "Critical issue title",
                     "Critical issue summary",
                     actions = listOf("Solve issue"),
+                    safetySourceId = SOURCE_ID_1,
                 )
             )
 
@@ -829,9 +908,14 @@
     fun clearSafetySourceData_cancelsAllNotifications() {
         val data = safetySourceTestData.recommendationWithAccountIssue
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
 
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("See issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
 
         safetyCenterManager.clearAllSafetySourceDataForTestsWithPermission()
 
@@ -841,15 +925,21 @@
     @Test
     fun sendActionPendingIntent_successful_updatesListener() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingGeneralIssue
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId)
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
         val listener = safetyCenterTestHelper.addListener()
@@ -867,15 +957,21 @@
     @Test
     fun sendActionPendingIntent_successfulNoSuccessMessage_removesNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingGeneralIssue
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId)
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
 
@@ -887,40 +983,61 @@
     @Test
     fun sendActionPendingIntent_successfulWithSuccessMessage_successNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage(
+                sourceId = uniqueSafetySourceId
+            )
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
 
         sendActionPendingIntentAndWaitWithPermission(action)
 
-        TestNotificationListener.waitForSuccessNotification("Issue solved")
+        TestNotificationListener.waitForSuccessNotification("Issue solved") {
+            assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId))
+                .isTrue()
+        }
     }
 
     @Test
     fun successNotification_notificationHasAutoCancel() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage(
+                sourceId = uniqueSafetySourceId
+            )
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
         sendActionPendingIntentAndWaitWithPermission(action)
 
         TestNotificationListener.waitForSuccessNotification("Issue solved") {
+            assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId))
+                .isTrue()
             assertThat(it.hasAutoCancel()).isTrue()
         }
     }
@@ -929,15 +1046,23 @@
     @Test
     fun sendActionPendingIntent_flagDisabled_pendingIntentNotSentToSource() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage(
+                sourceId = uniqueSafetySourceId
+            )
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
         SafetyCenterFlags.notificationsEnabled = false
@@ -950,15 +1075,23 @@
     @Test
     fun sendActionPendingIntent_sourceStateChangedSafetyEvent_successNotification() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingIssueWithSuccessMessage(
+                sourceId = uniqueSafetySourceId
+            )
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(
                 safetySourceTestData.information,
                 overrideSafetyEvent =
@@ -968,7 +1101,10 @@
 
         sendActionPendingIntentAndWaitWithPermission(action)
 
-        TestNotificationListener.waitForSuccessNotification("Issue solved")
+        TestNotificationListener.waitForSuccessNotification("Issue solved") {
+            assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId))
+                .isTrue()
+        }
     }
 
     @Test
@@ -981,6 +1117,7 @@
                             "notification_action_id",
                             "Solve now!",
                             safetySourceTestData.resolvingActionPendingIntent(
+                                sourceId = uniqueSafetySourceId,
                                 sourceIssueActionId = "notification_action_id"
                             )
                         )
@@ -1002,6 +1139,7 @@
                                     "issue_action_id",
                                     "Default action",
                                     safetySourceTestData.resolvingActionPendingIntent(
+                                        sourceId = uniqueSafetySourceId,
                                         sourceIssueActionId = "issue_action_id"
                                     )
                                 )
@@ -1017,19 +1155,28 @@
                 )
                 .build()
 
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, data)
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        safetyCenterTestHelper.setData(uniqueSafetySourceId, data)
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve now!"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
         SafetySourceReceiver.setResponse(
-            Request.ResolveAction(SINGLE_SOURCE_ID),
+            Request.ResolveAction(uniqueSafetySourceId),
             Response.SetData(safetySourceTestData.information)
         )
 
         sendActionPendingIntentAndWaitWithPermission(action)
 
-        TestNotificationListener.waitForSuccessNotification("Solved via notification action :)")
+        TestNotificationListener.waitForSuccessNotification("Solved via notification action :)") {
+            assertThat(NotificationCharacteristics.safetySourceIdMatches(it, uniqueSafetySourceId))
+                .isTrue()
+        }
     }
 
     @Test
@@ -1037,14 +1184,23 @@
         // Here we cause a notification with an action to be posted and prepare the fake receiver
         // to resolve that action successfully.
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
-            safetySourceTestData.criticalWithResolvingGeneralIssue
+            uniqueSafetySourceId,
+            safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = uniqueSafetySourceId)
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Solve issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
         val action =
             notificationWithChannel.statusBarNotification.notification.actions.firstOrNull()
         checkNotNull(action) { "Notification action unexpectedly null" }
-        SafetySourceReceiver.setResponse(Request.ResolveAction(SINGLE_SOURCE_ID), Response.Error)
+        SafetySourceReceiver.setResponse(
+            Request.ResolveAction(uniqueSafetySourceId),
+            Response.Error
+        )
         val listener = safetyCenterTestHelper.addListener()
 
         sendActionPendingIntentAndWaitWithPermission(action)
@@ -1056,16 +1212,27 @@
         assertThat(listenerData2.inFlightActions).isEmpty()
         assertThat(listenerData2.status.severityLevel)
             .isEqualTo(SafetyCenterStatus.OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING)
-        TestNotificationListener.waitForSingleNotification()
+        TestNotificationListener.waitForSingleNotificationMatching(
+            NotificationCharacteristics(
+                actions = listOf("Solve issue"),
+                safetySourceId = uniqueSafetySourceId,
+            )
+        )
     }
 
     @Test
     fun sendContentPendingIntent_singleIssue_opensSafetyCenterWithIssueVisible() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithDeviceIssue
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
 
         sendContentPendingIntent(notificationWithChannel) {
             waitSourceIssueDisplayed(safetySourceTestData.recommendationDeviceIssue)
@@ -1082,9 +1249,15 @@
         )
         safetyCenterTestHelper.setData(
             SOURCE_ID_2,
-            safetySourceTestData.criticalWithResolvingGeneralIssue
+            safetySourceTestData.criticalWithResolvingGeneralIssue(sourceId = SOURCE_ID_2)
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = SOURCE_ID_1,
+                )
+            )
 
         sendContentPendingIntent(notificationWithChannel) {
             waitSourceIssueDisplayed(safetySourceTestData.criticalResolvingGeneralIssue)
@@ -1094,8 +1267,17 @@
 
     @Test
     fun whenGreenIssue_notificationHasAutoCancel() {
-        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue)
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        safetyCenterTestHelper.setData(
+            uniqueSafetySourceId,
+            safetySourceTestData.informationWithIssue
+        )
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("Review"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
 
         assertThat(notificationWithChannel.statusBarNotification.hasAutoCancel()).isTrue()
     }
@@ -1103,10 +1285,16 @@
     @Test
     fun whenNotGreenIssue_notificationDoesntHaveAutoCancel() {
         safetyCenterTestHelper.setData(
-            SINGLE_SOURCE_ID,
+            uniqueSafetySourceId,
             safetySourceTestData.recommendationWithDeviceIssue
         )
-        val notificationWithChannel = TestNotificationListener.waitForSingleNotification()
+        val notificationWithChannel =
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = uniqueSafetySourceId,
+                )
+            )
 
         assertThat(notificationWithChannel.statusBarNotification.hasAutoCancel()).isFalse()
     }
diff --git a/tests/hostside/safetycenter/helper-app/Android.bp b/tests/hostside/safetycenter/helper-app/Android.bp
index cf4372d..a05f8d2 100644
--- a/tests/hostside/safetycenter/helper-app/Android.bp
+++ b/tests/hostside/safetycenter/helper-app/Android.bp
@@ -30,6 +30,7 @@
     static_libs: [
         "androidx.test.rules",
         "androidx.test.ext.junit",
+        "safety-center-pending-intents",
         "safety-center-test-util-lib",
     ],
 }
\ No newline at end of file
diff --git a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt
index 784701b..6afcff8 100644
--- a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt
+++ b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterInteractionLoggingHelperTests.kt
@@ -19,14 +19,23 @@
 import android.content.Context
 import android.os.Bundle
 import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCES_GROUP_ID
+import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCE_ID
+import android.safetycenter.SafetyCenterManager.EXTRA_SAFETY_SOURCE_ISSUE_ID
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.compatibility.common.util.UiAutomatorUtils2
 import com.android.safetycenter.testing.SafetyCenterActivityLauncher.launchSafetyCenterActivity
+import com.android.safetycenter.testing.SafetyCenterActivityLauncher.launchSafetyCenterQsActivity
 import com.android.safetycenter.testing.SafetyCenterActivityLauncher.openPageAndExit
 import com.android.safetycenter.testing.SafetyCenterFlags
 import com.android.safetycenter.testing.SafetyCenterTestConfigs
+import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID
 import com.android.safetycenter.testing.SafetyCenterTestHelper
 import com.android.safetycenter.testing.SafetyCenterTestRule
+import com.android.safetycenter.testing.SafetySourceTestData
+import com.android.safetycenter.testing.SafetySourceTestData.Companion.INFORMATION_ISSUE_ID
+import com.android.safetycenter.testing.UiTestHelper.waitAllTextDisplayed
+import org.junit.After
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -47,6 +56,7 @@
     private val context: Context = ApplicationProvider.getApplicationContext()
     private val safetyCenterTestHelper = SafetyCenterTestHelper(context)
     private val safetyCenterTestConfigs = SafetyCenterTestConfigs(context)
+    private val safetySourceTestData = SafetySourceTestData(context)
 
     @get:Rule val safetyCenterTestRule = SafetyCenterTestRule(safetyCenterTestHelper)
 
@@ -55,12 +65,48 @@
         SafetyCenterFlags.showSubpages = true
     }
 
+    @After
+    fun tearDown() {
+        // When an assertion fails, it will end up leaving the previous view open, which screws
+        // with the logging assertions made by this test (polluting with view events from whatever
+        // view was left open). Here we preemptively clear whatever's open to get back to home
+        UiAutomatorUtils2.getUiDevice().pressHome()
+    }
+
     @Test
     fun openSafetyCenter() {
         context.launchSafetyCenterActivity {}
     }
 
     @Test
+    fun openSafetyCenterFullFromQs() {
+        safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig)
+        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue)
+
+        context.launchSafetyCenterQsActivity {
+            openPageAndExit("Settings") { waitAllTextDisplayed(safetySourceTestData.informationIssue.title) }
+        }
+    }
+
+    @Test
+    fun openSafetyCenterWithIssueIntent() {
+        safetyCenterTestHelper.setConfig(safetyCenterTestConfigs.singleSourceConfig)
+
+        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, safetySourceTestData.informationWithIssue)
+
+        val extras = Bundle()
+        extras.putString(EXTRA_SAFETY_SOURCE_ID, SINGLE_SOURCE_ID)
+        extras.putString(EXTRA_SAFETY_SOURCE_ISSUE_ID, INFORMATION_ISSUE_ID)
+
+        context.launchSafetyCenterActivity(extras) {}
+    }
+
+    @Test
+    fun openSafetyCenterQs() {
+        context.launchSafetyCenterQsActivity {}
+    }
+
+    @Test
     fun openSubpageFromIntentExtra() {
         val config = safetyCenterTestConfigs.singleSourceConfig
         safetyCenterTestHelper.setConfig(config)
diff --git a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt
index 4585163..60e6e41 100644
--- a/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt
+++ b/tests/hostside/safetycenter/helper-app/src/android/safetycenter/hostside/device/SafetyCenterNotificationLoggingHelperTests.kt
@@ -21,12 +21,17 @@
 import android.safetycenter.SafetySourceIssue
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.safetycenter.pendingintents.PendingIntentSender
+import com.android.safetycenter.testing.NotificationCharacteristics
+import com.android.safetycenter.testing.SafetyCenterActivityLauncher
 import com.android.safetycenter.testing.SafetyCenterFlags
 import com.android.safetycenter.testing.SafetyCenterTestConfigs
 import com.android.safetycenter.testing.SafetyCenterTestConfigs.Companion.SINGLE_SOURCE_ID
 import com.android.safetycenter.testing.SafetyCenterTestHelper
 import com.android.safetycenter.testing.SafetyCenterTestRule
 import com.android.safetycenter.testing.SafetySourceTestData
+import com.android.safetycenter.testing.StatusBarNotificationWithChannel
+import com.android.safetycenter.testing.TestNotificationListener
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -49,7 +54,9 @@
     private val safetySourceTestData = SafetySourceTestData(context)
     private val safetyCenterTestConfigs = SafetyCenterTestConfigs(context)
 
-    @get:Rule val safetyCenterTestRule = SafetyCenterTestRule(safetyCenterTestHelper)
+    @get:Rule
+    val safetyCenterTestRule =
+        SafetyCenterTestRule(safetyCenterTestHelper, withNotifications = true)
 
     @Before
     fun setUp() {
@@ -64,6 +71,20 @@
         safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, newTestDataWithNotifiableIssue())
     }
 
+    @Test
+    fun openSafetyCenterFromNotification() {
+        safetyCenterTestHelper.setData(SINGLE_SOURCE_ID, newTestDataWithNotifiableIssue())
+
+        sendContentPendingIntent(
+            TestNotificationListener.waitForSingleNotificationMatching(
+                NotificationCharacteristics(
+                    actions = listOf("See issue"),
+                    safetySourceId = SINGLE_SOURCE_ID,
+                )
+            )
+        )
+    }
+
     private fun newTestDataWithNotifiableIssue(): SafetySourceData =
         safetySourceTestData
             .defaultCriticalDataBuilder()
@@ -74,4 +95,17 @@
                     .build()
             )
             .build()
+
+    companion object {
+        private fun sendContentPendingIntent(
+            statusBarNotificationWithChannel: StatusBarNotificationWithChannel
+        ) {
+            val contentIntent =
+                statusBarNotificationWithChannel.statusBarNotification.notification.contentIntent
+            SafetyCenterActivityLauncher.executeBlockAndExit(
+                launchActivity = { PendingIntentSender.send(contentIntent) },
+                block = {} // No action required
+            )
+        }
+    }
 }
diff --git a/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt b/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt
index 5fe9e0a..42a2a8a 100644
--- a/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt
+++ b/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt
@@ -24,13 +24,17 @@
 import com.android.os.AtomsProto.Atom
 import com.android.os.AtomsProto.SafetyCenterInteractionReported
 import com.android.os.AtomsProto.SafetyCenterInteractionReported.Action
+import com.android.os.AtomsProto.SafetyCenterInteractionReported.NavigationSource
 import com.android.os.AtomsProto.SafetyCenterInteractionReported.ViewType
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner
 import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test
 import com.google.common.truth.Truth.assertThat
+import java.math.BigInteger
+import java.security.MessageDigest
 import org.junit.After
 import org.junit.Assume.assumeTrue
 import org.junit.Before
+import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -67,13 +71,75 @@
 
         val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED)
 
-        assertThat(safetyCenterViewedAtoms).isNotEmpty()
+        assertThat(safetyCenterViewedAtoms).hasSize(1)
+        with(safetyCenterViewedAtoms.first()) {
+            assertThat(navigationSource).isEqualTo(NavigationSource.SOURCE_UNKNOWN)
+            assertThat(viewType).isEqualTo(ViewType.FULL)
+        }
+    }
+
+    @Test
+    fun openSafetyCenterQs_recordsSafetyCenterViewedEvent() {
+        helperAppRule.runTest(TEST_CLASS_NAME, "openSafetyCenterQs")
+
+        val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED)
+
+        assertThat(safetyCenterViewedAtoms).hasSize(1)
+        with(safetyCenterViewedAtoms.first()) {
+            assertThat(navigationSource).isEqualTo(NavigationSource.QUICK_SETTINGS_TILE)
+            assertThat(viewType).isEqualTo(ViewType.QUICK_SETTINGS)
+        }
+    }
+
+    @Ignore // TODO: b/323269529 - Deflake this test
+    @Test
+    fun openSafetyCenterFullFromQs_recordsViewEventWithCorrectSource() {
+        helperAppRule.runTest(TEST_CLASS_NAME, "openSafetyCenterFullFromQs")
+
+        val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED)
+
+        val viewTypesToNavSources =
+            safetyCenterViewedAtoms.associate { Pair(it.viewType, it.navigationSource) }
+        assertThat(viewTypesToNavSources)
+            .containsEntry(ViewType.FULL, NavigationSource.QUICK_SETTINGS_TILE)
+    }
+
+    @Test
+    fun openSafetyCenterWithIssueIntent_recordsViewEventWithAssociatedIssueMetadata() {
+        helperAppRule.runTest(TEST_CLASS_NAME, testMethodName = "openSafetyCenterWithIssueIntent")
+
+        val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED)
+
+        assertThat(safetyCenterViewedAtoms).hasSize(1)
+        with(safetyCenterViewedAtoms.first()) {
+            assertThat(navigationSource).isEqualTo(NavigationSource.NOTIFICATION)
+            assertThat(encodedSafetySourceId).isEqualTo(ENCODED_SINGLE_SOURCE_ID)
+            assertThat(encodedIssueTypeId).isEqualTo(ENCODED_ISSUE_TYPE_ID)
+        }
+    }
+
+    @Test
+    fun openSafetyCenterWithNotification_recordsViewEventWithAssociatedIssueMetadata() {
+        assumeAtLeastUpsideDownCake("Safety Center notification APIs require Android U+")
+
+        helperAppRule.runTest(
+            testClassName = ".SafetyCenterNotificationLoggingHelperTests",
+            testMethodName = "openSafetyCenterFromNotification"
+        )
+
+        val safetyCenterViewedAtoms = getInteractionReportedAtoms(Action.SAFETY_CENTER_VIEWED)
+
+        assertThat(safetyCenterViewedAtoms).hasSize(1)
+        with(safetyCenterViewedAtoms.first()) {
+            assertThat(navigationSource).isEqualTo(NavigationSource.NOTIFICATION)
+            assertThat(encodedSafetySourceId).isEqualTo(ENCODED_SINGLE_SOURCE_ID)
+            assertThat(encodedIssueTypeId).isEqualTo(ENCODED_ISSUE_TYPE_ID)
+        }
     }
 
     @Test
     fun sendNotification_recordsNotificationPostedEvent() {
         assumeAtLeastUpsideDownCake("Safety Center notification APIs require Android U+")
-
         helperAppRule.runTest(
             testClassName = ".SafetyCenterNotificationLoggingHelperTests",
             testMethodName = "sendNotification"
@@ -97,8 +163,7 @@
         assertThat(safetyCenterViewedAtoms).hasSize(1)
         with(safetyCenterViewedAtoms.first()) {
             assertThat(viewType).isEqualTo(ViewType.SUBPAGE)
-            assertThat(navigationSource)
-                .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SOURCE_UNKNOWN)
+            assertThat(navigationSource).isEqualTo(NavigationSource.SOURCE_UNKNOWN)
             assertThat(sessionId).isNotNull()
         }
     }
@@ -113,8 +178,7 @@
         val subpageViewedEvent = safetyCenterViewedAtoms.find { it.viewType == ViewType.SUBPAGE }
 
         assertThat(subpageViewedEvent).isNotNull()
-        assertThat(subpageViewedEvent!!.navigationSource)
-            .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SAFETY_CENTER)
+        assertThat(subpageViewedEvent!!.navigationSource).isEqualTo(NavigationSource.SAFETY_CENTER)
         assertThat(safetyCenterViewedAtoms.map { it.sessionId }.distinct()).hasSize(1)
     }
 
@@ -129,8 +193,7 @@
         assertThat(safetyCenterViewedAtoms).hasSize(1)
         with(safetyCenterViewedAtoms.first()) {
             assertThat(viewType).isEqualTo(ViewType.SUBPAGE)
-            assertThat(navigationSource)
-                .isEqualTo(SafetyCenterInteractionReported.NavigationSource.SETTINGS)
+            assertThat(navigationSource).isEqualTo(NavigationSource.SETTINGS)
             assertThat(sessionId).isNotNull()
         }
     }
@@ -148,5 +211,27 @@
 
     private companion object {
         const val TEST_CLASS_NAME = ".SafetyCenterInteractionLoggingHelperTests"
+
+        // LINT.IfChange(single_source_id)
+        val ENCODED_SINGLE_SOURCE_ID = encodeId("test_single_source_id")
+        // LINT.ThenChange(/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt:issue_type_id)
+
+        // LINT.IfChange(issue_type_id)
+        val ENCODED_ISSUE_TYPE_ID = encodeId("issue_type_id")
+        // LINT.ThenChange(/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt:issue_type_id)
+
+        /**
+         * Encodes a string into an long ID. The ID is a SHA-256 of the string, truncated to 64
+         * bits.
+         */
+        fun encodeId(id: String?): Long {
+            if (id == null) return 0
+
+            val digest = MessageDigest.getInstance("MD5")
+            digest.update(id.toByteArray())
+
+            // Truncate to the size of a long
+            return BigInteger(digest.digest()).toLong()
+        }
     }
 }
diff --git a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt
index edf76e8..fe75a05 100644
--- a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt
+++ b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt
@@ -24,14 +24,23 @@
 import org.junit.runner.Description
 import org.junit.runners.model.Statement
 
+/** toBooleanString() doesn't seem available on all Kotlin versions we need to support. */
+private fun String.toBooleanStrictInt(): Boolean =
+    when (this) {
+        "true" -> true
+        "false" -> false
+        else ->
+            throw IllegalArgumentException("The string doesn't represent a boolean value: $this")
+    }
+
 /** JUnit rule for host side tests that requires Safety Center to be supported and enabled. */
 class RequireSafetyCenterRule(private val hostTestClass: BaseHostJUnit4Test) : TestRule {
 
     private val safetyCenterSupported: Boolean by lazy {
-        shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrict()
+        shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrictInt()
     }
     private val safetyCenterEnabled: Boolean by lazy {
-        shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrict()
+        shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrictInt()
     }
 
     override fun apply(base: Statement, description: Description): Statement {
diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt
index 177c235..81b752b 100644
--- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt
+++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/NotificationCharacteristics.kt
@@ -17,18 +17,25 @@
 package com.android.safetycenter.testing
 
 import android.app.Notification
+import android.service.notification.StatusBarNotification
+import com.android.safetycenter.internaldata.SafetyCenterIds
 
 /** The characteristic properties of a notification. */
 data class NotificationCharacteristics(
-    val title: String,
-    val text: String,
+    val title: String? = null,
+    val text: String? = null,
     val actions: List<CharSequence> = emptyList(),
     val importance: Int = IMPORTANCE_ANY,
-    val blockable: Boolean? = null
+    val blockable: Boolean? = null,
+    val safetySourceId: String? = null,
 ) {
     companion object {
         const val IMPORTANCE_ANY = -1
 
+        private fun stringMatches(actual: String?, expected: String?): Boolean {
+            return expected == null || actual == expected
+        }
+
         private fun importanceMatches(
             statusBarNotificationWithChannel: StatusBarNotificationWithChannel,
             characteristicImportance: Int
@@ -45,17 +52,31 @@
                 statusBarNotificationWithChannel.channel.isBlockable == characteristicBlockable
         }
 
+        fun safetySourceIdMatches(
+            statusBarNotification: StatusBarNotification,
+            safetySourceId: String?
+        ): Boolean {
+            return safetySourceId == null ||
+                SafetyCenterIds.issueKeyFromString(statusBarNotification.tag).safetySourceId ==
+                    safetySourceId
+        }
+
         private fun isMatch(
             statusBarNotificationWithChannel: StatusBarNotificationWithChannel,
             characteristic: NotificationCharacteristics
         ): Boolean {
             val notif = statusBarNotificationWithChannel.statusBarNotification.notification
+            val extras = notif.extras
             return notif != null &&
-                notif.extras.getString(Notification.EXTRA_TITLE) == characteristic.title &&
-                notif.extras.getString(Notification.EXTRA_TEXT).orEmpty() == characteristic.text &&
+                stringMatches(extras.getString(Notification.EXTRA_TITLE), characteristic.title) &&
+                stringMatches(extras.getString(Notification.EXTRA_TEXT), characteristic.text) &&
                 notif.actions.orEmpty().map { it.title } == characteristic.actions &&
                 importanceMatches(statusBarNotificationWithChannel, characteristic.importance) &&
-                blockableMatches(statusBarNotificationWithChannel, characteristic.blockable)
+                blockableMatches(statusBarNotificationWithChannel, characteristic.blockable) &&
+                safetySourceIdMatches(
+                    statusBarNotificationWithChannel.statusBarNotification,
+                    characteristic.safetySourceId
+                )
         }
 
         fun areMatching(
diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt
index 2af2b39..b0d209f 100644
--- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt
+++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetyCenterTestConfigs.kt
@@ -856,7 +856,9 @@
          * ID of the only source provided in [singleSourceConfig], [severityZeroConfig] and
          * [noPageOpenConfig].
          */
+        // LINT.IfChange(single_source_id)
         const val SINGLE_SOURCE_ID = "test_single_source_id"
+        // LINT.ThenChange(/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt:single_source_id)
 
         /** ID of the only source provided in [singleSourceAllProfileConfig]. */
         const val SINGLE_SOURCE_ALL_PROFILE_ID = "test_single_source_all_profile_id"
diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt
index 2c4f856..c35d02a 100644
--- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt
+++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/SafetySourceTestData.kt
@@ -428,6 +428,10 @@
     /** A [PendingIntent] used by the resolving [Action] in [criticalResolvingGeneralIssue]. */
     val criticalIssueActionPendingIntent = resolvingActionPendingIntent()
 
+    /** A [PendingIntent] used by the resolving [Action] in [criticalResolvingGeneralIssue]. */
+    fun criticalIssueActionPendingIntent(sourceId: String) =
+        resolvingActionPendingIntent(sourceId = sourceId)
+
     /**
      * Returns a [PendingIntent] for a resolving [Action] with the given [sourceId], [sourceIssueId]
      * and [sourceIssueActionId]. Default values are the same as those used by
@@ -453,6 +457,16 @@
             .setWillResolve(true)
             .build()
 
+    /** A resolving Critical [Action] */
+    private fun criticalResolvingAction(sourceId: String) =
+        Action.Builder(
+                CRITICAL_ISSUE_ACTION_ID,
+                "Solve issue",
+                criticalIssueActionPendingIntent(sourceId = sourceId)
+            )
+            .setWillResolve(true)
+            .build()
+
     /** A resolving Critical [Action] with confirmation */
     val criticalResolvingActionWithConfirmation: SafetySourceIssue.Action
         @RequiresApi(UPSIDE_DOWN_CAKE)
@@ -482,6 +496,17 @@
             .setSuccessMessage("Issue solved")
             .build()
 
+    /** A resolving Critical [Action] that declares a success message */
+    private fun criticalResolvingActionWithSuccessMessage(sourceId: String) =
+        Action.Builder(
+                CRITICAL_ISSUE_ACTION_ID,
+                "Solve issue",
+                criticalIssueActionPendingIntent(sourceId = sourceId)
+            )
+            .setWillResolve(true)
+            .setSuccessMessage("Issue solved")
+            .build()
+
     /** A [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]. */
     val criticalResolvingIssueWithSuccessMessage =
         SafetySourceIssue.Builder(
@@ -494,6 +519,18 @@
             .addAction(criticalResolvingActionWithSuccessMessage)
             .build()
 
+    /** A [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]. */
+    private fun criticalResolvingIssueWithSuccessMessage(sourceId: String) =
+        SafetySourceIssue.Builder(
+                CRITICAL_ISSUE_ID,
+                "Critical issue title",
+                "Critical issue summary",
+                SEVERITY_LEVEL_CRITICAL_WARNING,
+                ISSUE_TYPE_ID
+            )
+            .addAction(criticalResolvingActionWithSuccessMessage(sourceId = sourceId))
+            .build()
+
     /**
      * Another [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a redirecting
      * [Action].
@@ -538,7 +575,10 @@
      * [SafetySourceIssue.Builder] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]
      * .
      */
-    fun defaultCriticalResolvingIssueBuilder(issueId: String = CRITICAL_ISSUE_ID) =
+    fun defaultCriticalResolvingIssueBuilder(
+        issueId: String = CRITICAL_ISSUE_ID,
+        sourceId: String = SINGLE_SOURCE_ID,
+    ) =
         SafetySourceIssue.Builder(
                 issueId,
                 "Critical issue title",
@@ -546,7 +586,7 @@
                 SEVERITY_LEVEL_CRITICAL_WARNING,
                 ISSUE_TYPE_ID
             )
-            .addAction(criticalResolvingAction)
+            .addAction(criticalResolvingAction(sourceId))
 
     /**
      * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]
@@ -555,6 +595,13 @@
     val criticalResolvingGeneralIssue = defaultCriticalResolvingIssueBuilder().build()
 
     /**
+     * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving [Action]
+     * .
+     */
+    private fun criticalResolvingGeneralIssue(sourceId: String) =
+        defaultCriticalResolvingIssueBuilder(sourceId = sourceId).build()
+
+    /**
      * General [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and with deduplication
      * info and a resolving [Action].
      */
@@ -580,6 +627,15 @@
             .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE)
             .build()
 
+    /**
+     * Device related [SafetySourceIssue] with a [SEVERITY_LEVEL_CRITICAL_WARNING] and a resolving
+     * [Action].
+     */
+    private fun criticalResolvingDeviceIssue(sourceId: String) =
+        defaultCriticalResolvingIssueBuilder(sourceId = sourceId)
+            .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE)
+            .build()
+
     /** A [SafetySourceData.Builder] with a [SEVERITY_LEVEL_CRITICAL_WARNING] status. */
     fun defaultCriticalDataBuilder() =
         SafetySourceData.Builder()
@@ -653,6 +709,15 @@
 
     /**
      * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving general
+     * [SafetySourceIssue] and [SafetySourceStatus].
+     */
+    fun criticalWithResolvingGeneralIssue(sourceId: String) =
+        defaultCriticalDataBuilder()
+            .addIssue(criticalResolvingGeneralIssue(sourceId = sourceId))
+            .build()
+
+    /**
+     * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving general
      * [SafetySourceIssue] and [SafetySourceStatus], with confirmation dialog.
      */
     val criticalWithResolvingGeneralIssueWithConfirmation: SafetySourceData
@@ -683,6 +748,15 @@
 
     /**
      * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving device related
+     * [SafetySourceIssue] and [SafetySourceStatus].
+     */
+    fun criticalWithResolvingDeviceIssue(sourceId: String) =
+        defaultCriticalDataBuilder()
+            .addIssue(criticalResolvingDeviceIssue(sourceId = sourceId))
+            .build()
+
+    /**
+     * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving device related
      * [SafetySourceIssue] and [SafetySourceStatus] and a recommendation issue.
      */
     val criticalWithResolvingDeviceIssueAndRecommendationIssue =
@@ -710,6 +784,24 @@
             .build()
 
     /**
+     * A [SafetySourceData] with a [SEVERITY_LEVEL_CRITICAL_WARNING] resolving [SafetySourceIssue]
+     * and [SafetySourceStatus].
+     */
+    fun criticalWithResolvingIssueWithSuccessMessage(sourceId: String) =
+        SafetySourceData.Builder()
+            .setStatus(
+                SafetySourceStatus.Builder(
+                        "Critical title",
+                        "Critical summary",
+                        SEVERITY_LEVEL_CRITICAL_WARNING
+                    )
+                    .setPendingIntent(createTestActivityRedirectPendingIntent())
+                    .build()
+            )
+            .addIssue(criticalResolvingIssueWithSuccessMessage(sourceId = sourceId))
+            .build()
+
+    /**
      * A [SafetySourceData] with a [SEVERITY_LEVEL_INFORMATION] redirecting [SafetySourceIssue] and
      * [SEVERITY_LEVEL_CRITICAL_WARNING] [SafetySourceStatus].
      */
@@ -802,7 +894,9 @@
         const val CRITICAL_ISSUE_ACTION_ID = "critical_issue_action_id"
 
         /** Issue type ID for all the issues in this file */
+        // LINT.IfChange(issue_type_id)
         const val ISSUE_TYPE_ID = "issue_type_id"
+        // LINT.ThenChange(/tests/hostside/safetycenter/src/android/safetycenter/hostside/SafetyCenterInteractionLoggingHostTest.kt:issue_type_id)
 
         const val CONFIRMATION_TITLE = "Confirmation title"
         const val CONFIRMATION_TEXT = "Confirmation text"
diff --git a/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt b/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt
index 2b2342d..21bf76f 100644
--- a/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt
+++ b/tests/utils/safetycenter/java/com/android/safetycenter/testing/TestNotificationListener.kt
@@ -16,6 +16,7 @@
 
 package com.android.safetycenter.testing
 
+import android.app.Notification
 import android.app.NotificationChannel
 import android.content.ComponentName
 import android.content.Context
@@ -101,35 +102,8 @@
          * if it is met and then violated.
          */
         fun waitForZeroNotifications(timeout: Duration = TIMEOUT_LONG) {
-            waitForNotificationCount(0, timeout)
-        }
-
-        /**
-         * Blocks until there is exactly one Safety Center notification and ensures that remains
-         * true for a short duration. Returns that notification, or throws an [AssertionError] if a
-         * this condition is not met within [timeout], or if it is met and then violated.
-         */
-        fun waitForSingleNotification(
-            timeout: Duration = TIMEOUT_LONG
-        ): StatusBarNotificationWithChannel {
-            return waitForNotificationCount(1, timeout).first()
-        }
-
-        /**
-         * Blocks until there are exactly [count] Safety Center notifications and ensures that
-         * remains true for a short duration. Returns those notifications, or throws an
-         * [AssertionError] if a this condition is not met within [timeout], or if it is met and
-         * then violated.
-         */
-        private fun waitForNotificationCount(
-            count: Int,
-            timeout: Duration = TIMEOUT_LONG
-        ): List<StatusBarNotificationWithChannel> {
-            return waitForNotificationsToSatisfy(
-                timeout = timeout,
-                description = "$count notifications"
-            ) {
-                it.size == count
+            waitForNotificationsToSatisfy(timeout = timeout, description = "No notifications") {
+                it.isEmpty()
             }
         }
 
@@ -175,15 +149,19 @@
             successMessage: String,
             onNotification: (StatusBarNotification) -> Unit = {}
         ) {
-            val successNotificationWithChannel =
-                waitForSingleNotificationMatching(
-                    NotificationCharacteristics(
-                        successMessage,
-                        "",
-                        actions = emptyList(),
-                    )
-                )
-            val statusBarNotification = successNotificationWithChannel.statusBarNotification
+            // Only wait for the notification event and don't wait for all notifications to "settle"
+            // as this notification is auto-cancelled after 10s; which can cause flakyness.
+            val statusBarNotification =
+                (runBlockingWithTimeout {
+                        waitForNotificationEventAsync {
+                            (it is NotificationPosted &&
+                                it.statusBarNotification.notification
+                                    ?.extras
+                                    ?.getString(Notification.EXTRA_TITLE) == successMessage)
+                        }
+                    }
+                        as NotificationPosted)
+                    .statusBarNotification
             onNotification(statusBarNotification)
             // Cancel the notification directly to speed up the tests as it's only auto-cancelled
             // after 10 seconds, and the teardown waits for all notifications to be cancelled to
@@ -253,6 +231,17 @@
             return currentNotifications
         }
 
+        private suspend fun waitForNotificationEventAsync(
+            predicate: (NotificationEvent) -> Boolean
+        ): NotificationEvent {
+            var event: NotificationEvent
+            do {
+                event = safetyCenterNotificationEvents.receive()
+                Log.d(TAG, "Received notification event: $event")
+            } while (!predicate(event))
+            return event
+        }
+
         private fun getSafetyCenterNotifications(): List<StatusBarNotificationWithChannel> {
             return with(getInstanceOrThrow()) {
                 val notificationsSnapshot =