Merge "Revert "Fix 'No Apps' UI issues of ManageApplications"" into sc-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6f6482d..0c65f01 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1823,6 +1823,10 @@
             android:exported="false"
             android:screenOrientation="portrait"/>
 
+        <activity android:name=".biometrics.BiometricHandoffActivity"
+                  android:exported="false"
+                  android:screenOrientation="portrait"/>
+
         <!-- Must not be exported -->
         <activity android:name=".biometrics.BiometricEnrollActivity$InternalActivity"
             android:exported="false"
diff --git a/color-check-baseline.xml b/color-check-baseline.xml
index ea8789a..a9cd4c6 100644
--- a/color-check-baseline.xml
+++ b/color-check-baseline.xml
@@ -4493,4 +4493,259 @@
             column="5"/>
     </issue>
 
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="25"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="31"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="34"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="37"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="40"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="43"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="46"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="25"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="31"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="34"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="37"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="40"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="43"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="        android:fillColor=&quot;@color/fingerprint_enrollment_finish_color_outline&quot;/>"
+        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/drawable/fingerprint_enroll_finish.xml"
+            line="46"
+            column="9"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;fingerprint_enrollment_finish_color_outline&quot;>#669df6&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="51"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;fingerprint_enrollment_finish_color_outline&quot;>#669df6&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="209"
+            column="5"/>
+    </issue>
 </issues>
diff --git a/res/drawable/fingerprint_enroll_finish.xml b/res/drawable/fingerprint_enroll_finish.xml
index 925e6bc..7527dd3 100644
--- a/res/drawable/fingerprint_enroll_finish.xml
+++ b/res/drawable/fingerprint_enroll_finish.xml
@@ -16,85 +16,32 @@
 -->
 
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="228dp"
-    android:height="228dp"
-    android:viewportHeight="228.0"
-    android:viewportWidth="228.0">
+        android:width="216dp"
+        android:height="216dp"
+        android:viewportWidth="216"
+        android:viewportHeight="216">
     <path
-        android:fillColor="#4285F4"
-        android:pathData="M114,4c29.38,0 57.01,11.44 77.78,32.22C212.56,56.99 224,84.62 224,114s-11.44,57.01 -32.22,77.78S143.38,224 114,224s-57.01,-11.44 -77.78,-32.22C15.44,171.01 4,143.38 4,114s11.44,-57.01 32.22,-77.78C56.99,15.44 84.62,4 114,4M114,0C51.04,0 0,51.04 0,114s51.04,114 114,114s114,-51.04 114,-114S176.96,0 114,0L114,0z" />
+        android:pathData="M107.5,214.9C48.8,214.9 1,167.1 1,108.4C1.1,49.7 48.8,2 107.5,2C166.2,2 214,49.7 214,108.4C214,167.1 166.2,214.9 107.5,214.9ZM107.5,12C54.3,12 11,55.3 11,108.5C11,161.7 54.3,205 107.5,205C160.7,205 204,161.7 204,108.5C204,55.3 160.7,12 107.5,12Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M152.18,156.55c0.11,1.46 -0.89,2.8 -2.42,3.07c-3.32,0.64 -6.24,0.7 -7.06,0.7c-6.94,0 -13.07,-1.75 -18.08,-5.19c-8.48,-5.74 -13.61,-14.99 -13.86,-24.85c-0.01,0.08 -0.02,0.16 -0.02,0.25c0,10.15 5.19,19.72 13.88,25.61c5.02,3.44 11.14,5.19 18.08,5.19c0.82,0 3.73,-0.06 7.06,-0.7c1.97,-0.4 2.67,-1.8 2.44,-3.99C152.19,156.6 152.18,156.58 152.18,156.55z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M182.2,201.7C196.007,201.7 207.2,190.507 207.2,176.7C207.2,162.893 196.007,151.7 182.2,151.7C168.393,151.7 157.2,162.893 157.2,176.7C157.2,190.507 168.393,201.7 182.2,201.7Z"
+        android:fillColor="?android:attr/colorBackground"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M81.57,70.73c9.98,-5.48 20.94,-8.23 32.49,-8.23c11.61,0 21.29,2.45 32.49,8.23c0.41,0.23 0.88,0.35 1.34,0.35c1.05,0 2.04,-0.58 2.57,-1.63c0.32,-0.59 0.46,-2.04 0.35,-2.66c-0.02,-0.09 -0.04,-0.17 -0.07,-0.24c0.12,0.63 0.05,1.29 -0.28,1.9c-0.53,1.05 -1.52,1.63 -2.57,1.63c-0.47,0 -0.93,-0.12 -1.34,-0.35c-11.2,-5.77 -20.88,-8.22 -32.49,-8.22c-11.55,0 -22.52,2.74 -32.49,8.22c-1.4,0.76 -3.15,0.23 -3.97,-1.17c-0.36,-0.66 -0.42,-1.41 -0.25,-2.1c-0.01,0.02 -0.01,0.03 -0.02,0.04c-0.25,0.75 -0.13,2.32 0.27,3.05C78.42,70.96 80.17,71.48 81.57,70.73z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M182.2,149C166.9,149 154.4,161.4 154.4,176.8C154.4,192.2 166.8,204.6 182.2,204.6C197.6,204.6 210,192.2 210,176.8C210,161.4 197.5,149 182.2,149ZM182.2,198.9C170,198.9 160,188.9 160,176.7C160,164.5 170,154.5 182.2,154.5C194.4,154.5 204.4,164.5 204.4,176.7C204.4,189 194.4,198.9 182.2,198.9ZM176.7,182.8L169.5,175.6L165.6,179.5L176.7,190.6L198.9,168.4L195,164.5L176.7,182.8Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M166.41,97.07c0,-0.02 -0.01,-0.03 -0.01,-0.05c0.22,1.1 -0.19,2.29 -1.18,2.98c-1.34,0.93 -3.15,0.64 -4.08,-0.7c-5.25,-7.35 -11.9,-13.12 -19.77,-17.15c-16.74,-8.57 -38.15,-8.57 -54.83,0.06c-7.93,4.08 -14.58,9.92 -19.83,17.27c-0.47,0.82 -1.34,1.23 -2.27,1.23c-0.58,0 -1.17,-0.18 -1.69,-0.53c-0.9,-0.63 -1.32,-1.65 -1.22,-2.66c-0.01,0.03 -0.02,0.05 -0.02,0.1c-0.18,1.57 0.27,2.89 1.24,3.56c0.52,0.35 1.11,0.52 1.69,0.52c0.93,0 1.81,-0.41 2.27,-1.22c5.25,-7.35 11.9,-13.18 19.83,-17.27c16.68,-8.63 38.09,-8.63 54.83,-0.06c7.88,4.02 14.52,9.8 19.77,17.15c0.93,1.34 2.74,1.63 4.08,0.7C166.18,100.33 166.75,98.98 166.41,97.07z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M81.8,62C80.4,62 79,61.2 78.4,59.9C77.5,58 78.2,55.7 80.1,54.8C88.4,50.6 97.9,48.4 107.6,48.4C117.3,48.4 126.8,50.6 135.1,54.8C137,55.7 137.8,58 136.8,59.9C135.9,61.8 133.6,62.6 131.7,61.6C124.4,58 116.1,56.1 107.7,56.1C99.2,56.1 90.9,58 83.7,61.6C82.9,61.9 82.4,62 81.8,62Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M144.1,132.43c-1.63,0 -2.92,-1.28 -2.92,-2.92c0,-14.12 -12.19,-25.61 -27.18,-25.61s-27.18,11.49 -27.18,25.61c0,0.17 0.01,0.33 0.01,0.49c0.29,-13.88 12.36,-25.1 27.17,-25.1c14.99,0 27.18,11.49 27.18,25.61c0,1.63 1.28,2.92 2.92,2.92c1.63,0 2.92,-1.28 2.92,-2.92c0,-0.26 -0.01,-0.52 -0.02,-0.79C146.89,131.26 145.66,132.43 144.1,132.43z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M147.3,93.501C146,93.501 144.8,92.901 144.1,91.701C137.5,81.401 123.1,74.701 107.5,74.701C91.9,74.701 77.5,81.401 70.9,91.701C69.8,93.501 67.4,94.001 65.6,92.901C63.8,91.801 63.3,89.401 64.4,87.601C72.5,75.001 89,67.101 107.4,67.101C125.8,67.101 142.3,75.001 150.4,87.601C151.5,89.401 151,91.801 149.2,92.901C148.8,93.301 148.1,93.501 147.3,93.501Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M103.82,167.68c0.15,0.9 -0.11,1.85 -0.79,2.56c-0.64,0.58 -1.4,0.88 -2.16,0.88s-1.52,-0.29 -2.04,-0.88c-5.08,-5.08 -7.82,-8.34 -11.72,-15.4c-3.95,-7.05 -6.04,-15.62 -6.11,-24.83c0,0.17 -0.01,0.34 -0.01,0.51c0,9.39 2.1,18.14 6.12,25.32c3.91,7.06 6.65,10.32 11.72,15.4c0.53,0.58 1.28,0.88 2.04,0.88s1.52,-0.29 2.16,-0.88c0.69,-0.73 1.21,-1.88 0.79,-3.53C103.82,167.69 103.82,167.69 103.82,167.68z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M106.8,149.701C106.5,149.701 106.1,149.701 105.8,149.601C94.6,146.401 87.5,130.001 89.1,118.501C90.3,109.801 96.2,104.601 104.8,104.601C112.3,104.601 118.7,110.001 120,117.401L121.3,125.301C122,129.601 125.7,132.701 130,132.701C134.9,132.701 138.9,128.701 138.9,123.801V122.401C138.9,120.301 140.6,118.601 142.7,118.601C144.8,118.601 146.5,120.301 146.5,122.401V123.801C146.5,132.901 139.1,140.301 130,140.301C121.9,140.301 115.1,134.501 113.7,126.501L112.4,118.601C111.8,114.901 108.6,112.201 104.8,112.201C100,112.201 97.4,114.601 96.7,119.501C95.5,128.301 101.4,140.301 107.9,142.101C109.9,142.701 111.1,144.801 110.5,146.801C110,148.601 108.5,149.701 106.8,149.701Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M133.72,170.12c-0.29,1.34 -1.52,2.22 -2.74,2.22c-0.23,0 -0.53,-0.06 -0.76,-0.12c-9.28,-2.57 -15.34,-6.01 -21.7,-12.25c-8,-7.95 -12.47,-18.47 -12.64,-29.76c0,0.11 -0.02,0.21 -0.02,0.31c0,11.55 4.49,22.34 12.66,30.45c6.36,6.24 12.43,9.68 21.7,12.25c0.23,0.06 0.53,0.12 0.76,0.12c1.22,0 2.45,-0.88 2.74,-2.22c0.11,-0.42 0.24,-1.49 0.07,-2.13C133.84,169.35 133.82,169.74 133.72,170.12z"
-        android:strokeAlpha="0.25" />
+        android:pathData="M75,140.4C73.5,140.4 72,139.5 71.4,137.9C68.6,130.5 68.5,122.8 68.5,122.5C68.5,102 85.6,85.9 107.5,85.9C129.4,85.9 146.5,102 146.5,122.5C146.5,124.6 144.8,126.3 142.7,126.3C140.6,126.3 138.9,124.6 138.9,122.5C138.9,106.3 125.2,93.5 107.6,93.5C90.1,93.5 76.3,106.2 76.3,122.5C76.3,122.6 76.3,129.1 78.7,135.2C79.5,137.2 78.5,139.4 76.5,140.2C76,140.3 75.5,140.4 75,140.4Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
     <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M143.93,146.61c-9.92,0 -17.97,-7.7 -17.97,-17.15c0,-6.24 -5.43,-11.32 -12.13,-11.32c-6.71,0 -12.13,5.08 -12.13,11.32c0,0.23 0.01,0.46 0.02,0.69c0.18,-6.1 5.52,-11.01 12.12,-11.01c6.71,0 12.13,5.08 12.13,11.32c0,9.45 8.05,17.15 17.97,17.15s17.97,-7.7 17.97,-17.15c0,-0.22 -0.01,-0.44 -0.02,-0.67C161.68,139.09 153.72,146.61 143.93,146.61z"
-        android:strokeAlpha="0.25" />
-    <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M65.99,130.52c0,7.88 1.4,14.46 4.26,22.1c-2.8,-7.47 -4.19,-14.89 -4.25,-22.58C66,130.2 65.99,130.36 65.99,130.52z"
-        android:strokeAlpha="0.25" />
-    <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M113.77,89.67c-16.57,0 -31.73,9.22 -38.56,23.51c-2.28,4.72 -3.44,10.27 -3.44,16.33c0,0.26 0,0.52 0,0.8c0.03,-5.99 1.19,-11.46 3.44,-16.13c6.82,-14.29 21.99,-23.51 38.56,-23.51c23.1,0 41.89,17.49 42.27,39.17c0,-0.11 0.02,-0.22 0.02,-0.33C156.06,107.52 137.1,89.67 113.77,89.67z"
-        android:strokeAlpha="0.25" />
-    <path
-        android:fillAlpha="0.25"
-        android:fillColor="#FF000000"
-        android:pathData="M73.98,154.31c-1.52,0.58 -3.21,-0.23 -3.73,-1.69c0.6,1.81 2.09,3.08 3.73,2.69c1.52,-0.53 2.85,-1.63 1.81,-4.34c-0.02,-0.04 -0.03,-0.09 -0.05,-0.13C76.15,152.28 75.41,153.81 73.98,154.31z"
-        android:strokeAlpha="0.25" />
-    <path
-        android:fillColor="#4285F4"
-        android:pathData="M147.89,70.07c-0.47,0 -0.93,-0.12 -1.34,-0.35c-11.2,-5.78 -20.88,-8.23 -32.49,-8.23c-11.55,0 -22.52,2.74 -32.49,8.23c-1.4,0.76 -3.15,0.23 -3.97,-1.17c-0.76,-1.4 -0.23,-3.21 1.17,-3.97c10.85,-5.89 22.75,-8.93 35.29,-8.93c12.43,0 23.27,2.74 35.18,8.87c1.46,0.76 1.98,2.51 1.22,3.91C149.93,69.49 148.94,70.07 147.89,70.07z" />
-    <path
-        android:fillColor="#4285F4"
-        android:pathData="M64.42,100.7c-0.58,0 -1.17,-0.17 -1.69,-0.53c-1.34,-0.93 -1.63,-2.74 -0.7,-4.08c5.78,-8.17 13.12,-14.58 21.88,-19.08c18.32,-9.45 41.77,-9.51 60.14,-0.06c8.75,4.49 16.1,10.85 21.88,18.96c0.93,1.28 0.64,3.15 -0.7,4.08s-3.15,0.64 -4.08,-0.7c-5.25,-7.35 -11.9,-13.12 -19.77,-17.15c-16.74,-8.57 -38.15,-8.57 -54.83,0.06c-7.93,4.08 -14.58,9.92 -19.83,17.27C66.22,100.29 65.35,100.7 64.42,100.7z" />
-    <path
-        android:fillColor="#4285F4"
-        android:pathData="M100.87,171.11c-0.76,0 -1.52,-0.29 -2.04,-0.88c-5.08,-5.07 -7.82,-8.34 -11.72,-15.4c-4.03,-7.17 -6.12,-15.92 -6.12,-25.32c0,-17.32 14.82,-31.44 33.02,-31.44s33.02,14.12 33.02,31.44c0,1.63 -1.28,2.92 -2.92,2.92c-1.63,0 -2.92,-1.28 -2.92,-2.92c0,-14.12 -12.19,-25.61 -27.18,-25.61s-27.18,11.49 -27.18,25.61c0,8.4 1.87,16.16 5.43,22.46c3.73,6.71 6.3,9.57 10.79,14.12c1.11,1.17 1.11,2.98 0,4.14C102.39,170.82 101.63,171.11 100.87,171.11z" />
-    <path
-        android:fillColor="#4285F4"
-        android:pathData="M142.7,160.32c-6.94,0 -13.07,-1.75 -18.08,-5.19c-8.69,-5.89 -13.88,-15.46 -13.88,-25.61c0,-1.63 1.28,-2.92 2.92,-2.92s2.92,1.28 2.92,2.92c0,8.22 4.2,15.98 11.32,20.77c4.14,2.8 8.98,4.14 14.82,4.14c1.4,0 3.73,-0.18 6.07,-0.58c1.57,-0.29 3.09,0.76 3.38,2.39c0.29,1.58 -0.76,3.09 -2.39,3.38C146.43,160.26 143.52,160.32 142.7,160.32z" />
-    <path
-        android:fillColor="#4285F4"
-        android:pathData="M130.97,172.33c-0.23,0 -0.53,-0.06 -0.76,-0.12c-9.27,-2.57 -15.34,-6.01 -21.7,-12.25c-8.17,-8.11 -12.66,-18.9 -12.66,-30.45c0,-9.45 8.05,-17.15 17.97,-17.15s17.97,7.7 17.97,17.15c0,6.24 5.43,11.32 12.13,11.32c6.71,0 12.13,-5.07 12.13,-11.32c0,-21.99 -18.96,-39.84 -42.29,-39.84c-16.57,0 -31.73,9.22 -38.56,23.51c-2.28,4.73 -3.44,10.27 -3.44,16.33c0,4.55 0.41,11.73 3.91,21.06c0.58,1.52 -0.18,3.21 -1.69,3.73c-1.52,0.58 -3.21,-0.23 -3.73,-1.69c-2.86,-7.64 -4.26,-15.23 -4.26,-23.1c0,-7 1.34,-13.36 3.97,-18.9c7.76,-16.28 24.97,-26.83 43.81,-26.83c26.54,0 48.12,20.47 48.12,45.68c0,9.45 -8.05,17.15 -17.97,17.15s-17.97,-7.7 -17.97,-17.15c0,-6.24 -5.43,-11.32 -12.13,-11.32s-12.13,5.07 -12.13,11.32c0,9.98 3.85,19.31 10.91,26.31c5.54,5.48 10.85,8.52 19.07,10.79c1.58,0.41 2.45,2.04 2.04,3.56C133.42,171.46 132.2,172.33 130.97,172.33z" />
-    <path
-        android:fillColor="#FFFFFF"
-        android:pathData="M192.86,217.88c-13.8,0 -25.02,-11.22 -25.02,-25.02s11.22,-25.02 25.02,-25.02s25.02,11.22 25.02,25.02S206.66,217.88 192.86,217.88z" />
-    <path
-        android:fillColor="#32A753"
-        android:pathData="M192.86,169.83c12.7,0 23.04,10.33 23.04,23.04s-10.33,23.04 -23.04,23.04s-23.04,-10.33 -23.04,-23.04S180.16,169.83 192.86,169.83M192.86,165.86c-14.91,0 -27,12.09 -27,27s12.09,27 27,27c14.91,0 27,-12.09 27,-27S207.77,165.86 192.86,165.86L192.86,165.86z" />
-    <path
-        android:fillColor="#32A753"
-        android:pathData="M188.45,205.22l-12.67,-12.67l2.83,-2.83l9.84,9.84l18.15,-18.15l2.83,2.83z" />
+        android:pathData="M107.5,168.5C98.3,168.5 89.9,165.8 83,160.6C81.3,159.3 81,156.9 82.3,155.2C83.6,153.5 86,153.2 87.7,154.5C93.2,158.7 100.1,160.9 107.6,160.9C115.7,160.9 123.3,158.2 129.1,153.2C130.7,151.8 133.1,152 134.5,153.6C135.9,155.2 135.7,157.6 134.1,159C126.9,165.1 117.5,168.5 107.5,168.5Z"
+        android:fillColor="@color/fingerprint_enrollment_finish_color_outline"/>
 </vector>
diff --git a/res/drawable/ic_info_outline_24.xml b/res/drawable/ic_info_outline_24.xml
new file mode 100644
index 0000000..a46bdc1
--- /dev/null
+++ b/res/drawable/ic_info_outline_24.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2021 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z"/>
+</vector>
diff --git a/res/drawable/ic_lock_pin.xml b/res/drawable/ic_lock_pin.xml
index e1821f6..587f49c 100644
--- a/res/drawable/ic_lock_pin.xml
+++ b/res/drawable/ic_lock_pin.xml
@@ -21,5 +21,5 @@
     android:viewportHeight="24">
   <path
       android:pathData="M6,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM16,6c0,1.1 0.9,2 2,2s2,-0.9 2,-2 -0.9,-2 -2,-2 -2,0.9 -2,2zM12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"
-      android:fillColor="?attr/sudListItemIconColor"/>
+      android:fillColor="?android:attr/colorAccent"/>
 </vector>
diff --git a/res/drawable/settings_panel_rounded_top_corner_background.xml b/res/drawable/settings_panel_rounded_top_corner_background.xml
new file mode 100644
index 0000000..1c234cc
--- /dev/null
+++ b/res/drawable/settings_panel_rounded_top_corner_background.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<inset xmlns:android="http://schemas.android.com/apk/res/android">
+    <shape android:shape="rectangle">
+        <corners
+            android:topLeftRadius="@dimen/settings_panel_corner_radius"
+            android:topRightRadius="@dimen/settings_panel_corner_radius"
+            android:bottomLeftRadius="0dp"
+            android:bottomRightRadius="0dp"/>
+        <solid android:color="?android:attr/colorBackground" />
+    </shape>
+</inset>
\ No newline at end of file
diff --git a/res/drawable/tabs_indicator_background.xml b/res/drawable/tabs_indicator_background.xml
new file mode 100644
index 0000000..d326e65
--- /dev/null
+++ b/res/drawable/tabs_indicator_background.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2021 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+
+    <solid android:color="?android:attr/textColorSecondaryInverse"/>
+    <corners android:radius="8dp"/>
+    <size android:height="4dp"/>
+</shape>
diff --git a/res/layout/biometric_handoff.xml b/res/layout/biometric_handoff.xml
new file mode 100644
index 0000000..4861568
--- /dev/null
+++ b/res/layout/biometric_handoff.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2021 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    style="?attr/face_layout_theme"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/face_enroll_accessibility_toggle.xml b/res/layout/face_enroll_accessibility_toggle.xml
index bb3a7ff..a56655d 100644
--- a/res/layout/face_enroll_accessibility_toggle.xml
+++ b/res/layout/face_enroll_accessibility_toggle.xml
@@ -30,15 +30,18 @@
 
     <!-- Title -->
     <com.google.android.setupdesign.view.RichTextView
-        style="@style/SudDescription.Glif"
         android:id="@+id/title"
         android:paddingHorizontal="8dp"
         android:paddingTop="8dp"
+        android:paddingBottom="4dp"
         android:gravity="start"
         android:layout_alignParentStart="true"
         android:layout_toStartOf="@+id/toggle"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
+        android:layout_height="wrap_content"
+        android:textColor="?android:attr/textColorPrimary"
+        android:textSize="@dimen/sud_description_text_size"
+        />
 
     <!-- Subtitle -->
     <TextView
@@ -50,7 +53,8 @@
         android:layout_below="@+id/title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/security_settings_face_enroll_introduction_accessibility_expanded"/>
+        android:text="@string/security_settings_face_enroll_introduction_accessibility_expanded"
+        android:textColor="?android:attr/textColorSecondary"/>
 
     <!-- Vertical divider -->
     <View
diff --git a/res/layout/face_enroll_education.xml b/res/layout/face_enroll_education.xml
index 53a584e..f98380d 100644
--- a/res/layout/face_enroll_education.xml
+++ b/res/layout/face_enroll_education.xml
@@ -21,7 +21,8 @@
     style="?attr/face_layout_theme"
     android:id="@+id/setup_wizard_layout"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    app:sucHeaderText="@string/security_settings_face_enroll_education_title">
 
     <LinearLayout
         style="@style/SudContentFrame"
@@ -38,7 +39,7 @@
         <FrameLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="-32dp">
+            android:layout_marginTop="-24dp">
 
             <com.google.android.setupdesign.view.IllustrationVideoView
                 android:id="@+id/illustration_default"
@@ -97,7 +98,7 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:visibility="gone"
-                    app:messageText="@string/security_settings_face_enroll_introduction_accessibility_diversity"/>
+                    app:messageText="@string/security_settings_face_enroll_introduction_accessibility"/>
 
             </FrameLayout>
 
diff --git a/res/layout/panel_layout.xml b/res/layout/panel_layout.xml
index 674e20e..9e15f15 100644
--- a/res/layout/panel_layout.xml
+++ b/res/layout/panel_layout.xml
@@ -20,7 +20,7 @@
     android:id="@+id/panel_container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@drawable/settings_panel_background" >
+    android:background="@drawable/settings_panel_rounded_top_corner_background" >
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -30,7 +30,11 @@
         <LinearLayout
             android:id="@+id/panel_header"
             android:layout_width="match_parent"
-            android:layout_height="94dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/settings_panel_title_margin"
+            android:layout_marginEnd="@dimen/settings_panel_title_margin"
+            android:layout_marginTop="@dimen/settings_panel_title_margin"
+            android:layout_marginBottom="@dimen/settings_panel_title_margin"
             android:gravity="start|center_vertical"
             android:orientation="horizontal"
             android:visibility="gone">
@@ -51,14 +55,13 @@
                 android:id="@+id/header_layout"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginStart="16dp"
-                android:layout_marginEnd="16dp"
                 android:orientation="vertical">
 
                 <TextView
                     android:id="@+id/header_title"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
+                    android:layout_marginBottom="8dp"
                     android:ellipsize="end"
                     android:maxLines="1"
                     android:textColor="?android:attr/textColorPrimary"
@@ -81,11 +84,12 @@
             android:id="@+id/panel_title"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/settings_panel_title_margin"
+            android:layout_marginBottom="@dimen/settings_panel_title_margin"
             android:gravity="center"
-            android:paddingBottom="24dp"
-            android:paddingTop="18dp"
             android:textColor="?android:attr/textColorPrimary"
-            android:textSize="20sp"/>
+            android:textSize="24sp"
+            android:fontFamily="sans-serif-reqular"/>
 
         <ProgressBar
             android:id="@+id/progress_bar"
diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml
index f8ffa8f..03ba735 100644
--- a/res/layout/preference_list_fragment.xml
+++ b/res/layout/preference_list_fragment.xml
@@ -19,6 +19,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/container_material"
     android:orientation="vertical"
@@ -66,19 +67,20 @@
             android:background="@android:color/transparent"
             android:id="@+id/tabs"
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
+            android:layout_height="48dp"
+            android:layout_marginStart="24dp"
+            android:layout_marginEnd="24dp"
+            android:layout_marginTop="8dp"
+            android:layout_marginBottom="8dp"
             android:layoutDirection="ltr"
             app:tabMaxWidth="0dp"
             app:tabGravity="fill"
             app:tabMode="fixed"
-            app:tabIndicatorColor="@*android:color/accent_device_default"
+            app:tabIndicator="@drawable/tabs_indicator_background"
+            app:tabIndicatorColor="?androidprv:attr/colorAccentPrimaryVariant"
             app:tabSelectedTextColor="@*android:color/accent_device_default"
             app:tabTextAppearance="@style/TextAppearance.Tab"
             app:tabTextColor="?android:attr/textColorSecondary"/>
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1dp"
-            android:background="?android:attr/listDivider"/>
 
         <androidx.viewpager.widget.ViewPager
             android:id="@+id/view_pager"
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index e33db0e..70de5cb 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -496,9 +496,9 @@
     <item msgid="6618900408138432102">"Qırmızı"</item>
   </string-array>
   <string-array name="automatic_storage_management_days">
-    <item msgid="8896644025110620477">"30 gündən köhnədir"</item>
-    <item msgid="9083927335632626281">"60 gündən köhnədir"</item>
-    <item msgid="4146561207729203822">"90 gündən köhnədir"</item>
+    <item msgid="8896644025110620477">"30 gündən köhnə"</item>
+    <item msgid="9083927335632626281">"60 gündən köhnə"</item>
+    <item msgid="4146561207729203822">"90 gündən köhnə"</item>
   </string-array>
     <!-- no translation found for swipe_direction_titles:0 (9039866451038081694) -->
     <!-- no translation found for swipe_direction_titles:1 (3175804938330683021) -->
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 99fa0b7..96dc9a0 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -52,8 +52,8 @@
     <string name="font_size_summary" msgid="1296835853522566260">"Ekrandakı mətni kiçildin və ya böyüdün."</string>
     <string name="font_size_make_smaller_desc" msgid="4978038055549590140">"Kiçildin"</string>
     <string name="font_size_make_larger_desc" msgid="5583046033381722247">"Böyüdün"</string>
-    <string name="auto_rotate_settings_primary_switch_title" msgid="3151963020165952847">"Avtodönüşdən istifadə edin"</string>
-    <string name="smart_rotate_text_headline" msgid="8947678366129076364">"Üz Aşkarlanması, Avtodönüş dəqiqliyini yaxşılaşdırmaq üçün ön kameranı istifadə edir. Şəkillər heç vaxt saxlanmır və Google\'a göndərilmir.&lt;br&gt;&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ekranın avtodönüşü haqqında ətraflı məlumat&lt;/a&gt;"</string>
+    <string name="auto_rotate_settings_primary_switch_title" msgid="3151963020165952847">"Ekran avtomatik dönsün"</string>
+    <string name="smart_rotate_text_headline" msgid="8947678366129076364">"Üzün tanınması funksiyası ön kamera vasitəsilə avtomatik dönmənin dəqiqliyini artırır. Şəkillər yadda saxlanılmır və cihazdan kənara çıxmır.&lt;br&gt;&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ekranın avtomatik dönməsi haqqında&lt;/a&gt;"</string>
     <string name="font_size_preview_text_headline" msgid="1173103737980511652">"Mətn nümunəsi"</string>
     <string name="font_size_preview_text_title" msgid="6363561029914452382">"Ozlu Heyrətamiz Sehrbaz"</string>
     <string name="font_size_preview_text_subtitle" msgid="5806349524325544614">"Fəsil 11: Məftunedici Zümrüd Şəhəri Oz"</string>
@@ -1316,10 +1316,10 @@
     <string name="auto_rotate_option_off" msgid="2788096269396290731">"Deaktiv"</string>
     <string name="auto_rotate_option_on" msgid="5776678230808498171">"Aktiv"</string>
     <string name="auto_rotate_option_face_based" msgid="3438645484087953174">"Aktiv - Üz əsaslı"</string>
-    <string name="auto_rotate_switch_face_based" msgid="7824467067774120000">"Üz Aşkarlanmasını aktiv edin"</string>
+    <string name="auto_rotate_switch_face_based" msgid="7824467067774120000">"Üz tanınması aktiv olsun"</string>
     <string name="color_mode_title" msgid="8666690832113906028">"Rənglər"</string>
     <string name="color_mode_option_natural" msgid="6192875655101283303">"Təbii"</string>
-    <string name="color_mode_option_boosted" msgid="4698797857766774289">"Artan"</string>
+    <string name="color_mode_option_boosted" msgid="4698797857766774289">"Dolğun"</string>
     <string name="color_mode_option_saturated" msgid="3413853820158447300">"Dolğun"</string>
     <string name="color_mode_option_automatic" msgid="2281217686509980870">"Adaptiv"</string>
     <string name="color_mode_summary_natural" msgid="8298840714001791628">"Yalnız doğru rənglərdən istifadə edin"</string>
@@ -1377,7 +1377,7 @@
     <string name="night_display_auto_mode_title" msgid="5869128421470824381">"Rejim"</string>
     <string name="night_display_auto_mode_never" msgid="2721729920187175239">"Heç biri"</string>
     <string name="night_display_auto_mode_custom" msgid="3938791496034086916">"Seçilmiş vaxtda aktiv"</string>
-    <string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"Gün çıxandan batana qədər aktiv edir"</string>
+    <string name="night_display_auto_mode_twilight" msgid="4291855156158833997">"Gün çıxandan batanadək"</string>
     <string name="night_display_start_time_title" msgid="2611541851596977786">"Başlama vaxtı"</string>
     <string name="night_display_end_time_title" msgid="5243112480391192111">"Bitmə tarixi"</string>
     <string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
@@ -1404,7 +1404,7 @@
     <string name="dark_ui_title" msgid="3373976268671557416">"Qaranlıq rejim"</string>
     <string name="dark_ui_auto_mode_title" msgid="9027528859262295099">"Rejim"</string>
     <string name="dark_ui_auto_mode_never" msgid="3980412582267787662">"Yoxdur"</string>
-    <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Gün çıxandan batanadək aktiv"</string>
+    <string name="dark_ui_auto_mode_auto" msgid="6658909029498623375">"Gün çıxandan batanadək"</string>
     <string name="dark_ui_auto_mode_custom" msgid="3800138185265182170">"Seçilmiş vaxtda aktiv"</string>
     <string name="dark_ui_status_title" msgid="3505119141437774329">"Status"</string>
     <string name="dark_ui_summary_off_auto_mode_never" msgid="5828281549475697398">"Avtomatik aktivləşməyəcək"</string>
@@ -1430,10 +1430,10 @@
     <string name="style_suggestion_title" msgid="1213747484782364775">"Telefonunuzu fərdiləşdirin"</string>
     <string name="style_suggestion_summary" msgid="4271131877800968159">"Fərqli üslub, divar kağızı və s. sınayın"</string>
     <string name="screensaver_settings_title" msgid="3588535639672365395">"Ekran qoruyucu"</string>
-    <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Enerji doldurulan və ya bərkidilən zaman"</string>
+    <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Şarj ərzində və ya dok-stansiyada"</string>
     <string name="screensaver_settings_summary_either_short" msgid="2126139984738506920">"Hər ikisi"</string>
-    <string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Enerji doldurulan zaman"</string>
-    <string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Bərkidilərkən"</string>
+    <string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Şarj ərzində"</string>
+    <string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Dok-stansiyada"</string>
     <string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Heç vaxt"</string>
     <string name="screensaver_settings_summary_off" msgid="8720357504939106923">"Qapalı"</string>
     <string name="screensaver_settings_disabled_prompt" msgid="1166343194760238835">"Telefon doklanmış və/və ya yatan zaman baş verənlərə nəzarət edin, ekran qoruyucunu aktiv edin."</string>
@@ -5405,8 +5405,8 @@
     <string name="power_menu_setting_title" msgid="7716546106215378956">"Yandırıb-söndürmə düyməsi menyusu"</string>
     <string name="power_menu_none" msgid="4620640577918731270">"Heç bir məzmunu göstərməyin"</string>
     <string name="lockscreen_privacy_not_secure" msgid="3251276389681975912">"İstifadə etmək üçün ilk öncə ekran kilidini ayarlayın"</string>
-    <string name="power_menu_long_press_for_assist" msgid="2016813721240777737">"Assistent üçün saxlayın"</string>
-    <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Yandırıb-söndürmə düyməsini basıb saxlayaraq Assistenti işə salın"</string>
+    <string name="power_menu_long_press_for_assist" msgid="2016813721240777737">"Basıb saxlayaraq Assistenti işə salın"</string>
+    <string name="power_menu_long_press_for_assist_summary" msgid="8251928804984560312">"Qidalanma düyməsini basıb saxlayaraq Assistenti işə salın"</string>
     <string name="lockscreen_privacy_wallet_setting_toggle" msgid="4188327143734192000">"Pulqabını göstərin"</string>
     <string name="lockscreen_privacy_wallet_summary" msgid="5388868513484652431">"Kilid ekranından və sürətli ayarlardan pulqabına girişə icazə verin"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Cihaz nizamlayıcılarını göstərin"</string>
@@ -5517,7 +5517,7 @@
     <string name="battery_saver_main_switch_title" msgid="5072135547489779352">"Enerjiyə qənaət rejiminə keçin"</string>
     <string name="do_not_disturb_main_switch_title_on" msgid="6965566556539821313">"İndi deaktiv edin"</string>
     <string name="do_not_disturb_main_switch_title_off" msgid="7088088515823752545">"İndi aktiv edin"</string>
-    <string name="night_light_main_switch_title" msgid="3428298022467805219">"Gecə İşığından istifadə edin"</string>
+    <string name="night_light_main_switch_title" msgid="3428298022467805219">"Gecə işıqlanması olsun"</string>
     <string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC istifadə edin"</string>
     <string name="adaptive_battery_main_switch_title" msgid="3127477920505485813">"Adaptiv batareyadan istifadə edin"</string>
     <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Parlaqlıq adaptiv olsun"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 9ed7956..fb85e70 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -345,12 +345,10 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="6319476573697497750">"I agree"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"More"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"Unlock with your face"</string>
-    <!-- no translation found for security_settings_face_enroll_consent_introduction_title (3942331854413767814) -->
-    <skip />
+    <string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"Allow face unlock"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"Use your face to authenticate"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"Use your face to unlock your phone, authorise purchases or sign in to apps."</string>
-    <!-- no translation found for security_settings_face_enroll_introduction_consent_message (866117500419055444) -->
-    <skip />
+    <string name="security_settings_face_enroll_introduction_consent_message" msgid="866117500419055444">"Allow your child to use their face to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"Use your face to unlock your phone or approve purchases.\n\nNote: You can’t use your face to unlock this device. For more information, contact your organisation’s admin."</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Use your face to unlock your phone, authorise purchases or sign in to apps"</string>
     <string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
@@ -410,16 +408,12 @@
     </plurals>
     <string name="security_settings_fingerprint_preference_summary_none" msgid="1044059475710838504"></string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="7931650601996313070">"Set up your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_consent_introduction_title (2278592030102282364) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_consent_introduction_title" msgid="2278592030102282364">"Allow fingerprint unlock"</string>
     <string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="1911710308293783998">"Use your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_message (6100563481214337377) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_consent_message (1833139688278350628) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_message" msgid="6100563481214337377">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps or approve a purchase."</string>
+    <string name="security_settings_fingerprint_enroll_introduction_consent_message" msgid="1833139688278350628">"Allow your child to use their fingerprint to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_1" msgid="6808124116419325722">"You\'re in control"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_footer_title_consent_1 (1122676690472680734) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_footer_title_consent_1" msgid="1122676690472680734">"You and your child are in control"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_2" msgid="5663733424583416266">"Bear in mind"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"The data recorded by fingerprint is stored securely and never leaves your phone. You can delete your data at any time in Settings."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"Your fingerprint may be less secure than a strong pattern or PIN."</string>
@@ -438,20 +432,14 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"Bear in mind"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" msgid="5824014348182478279">"Using your fingerprint to unlock your phone may be less secure than a strong pattern or PIN"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"How it works"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_2 (5909924864816776516) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2 (3493356605815124807) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_3 (4729142136478078228) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3 (5908959250804145997) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"Fingerprint Unlock creates a unique model of your fingerprint to verify that it’s you. To create this fingerprint model during setup, you will take images of your fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"Fingerprint Unlock creates a unique model of your child’s fingerprint to verify that it’s them. To create this fingerprint model during setup, they will take images of their fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" msgid="4729142136478078228">"When you use Pixel Imprint, images are used to update your fingerprint model. Images used to create your fingerprint model are never stored, but the fingerprint model is stored securely on your phone and never leaves the phone. All processing occurs securely on your phone."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" msgid="5908959250804145997">"When they use Pixel Imprint, images are used to update their fingerprint model. Images used to create your child’s fingerprint model are never stored, but the fingerprint model is stored securely on the phone and never leaves the phone. All processing occurs securely on the phone."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" msgid="3948305045484131665">"You can delete your fingerprint images and model, or turn off fingerprint unlock at any time in settings. Fingerprint images and models are stored on the phone until you delete them."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4 (4983770600405797515) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4" msgid="4983770600405797515">"You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they’re deleted."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" msgid="2018885671994058605">"Your phone can be unlocked when you don’t intend it to be; for example, if someone holds it up to your finger."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5 (8356551505082794682) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5" msgid="8356551505082794682">"Your child’s phone can be unlocked when they don’t intend it to be; for example, if someone holds it up to their finger."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_try_adjusting" msgid="3855444121278320304">"Change the position of your finger slightly each time"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_partially_detected" msgid="8330287007361798356">"Cover the icon with the centre of your fingerprint"</string>
@@ -460,8 +448,7 @@
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_fast" msgid="5891227328100822018">"Lift your finger after you feel a vibration"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_bright" msgid="769646735950329315">"Move somewhere with gentler lighting and try again"</string>
     <string name="security_settings_fingerprint_v2_enroll_error_max_attempts" msgid="1464972470750764128">"You’ve reached the maximum number of attempts"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_home_screen (1709655966777714761) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_home_screen" msgid="1709655966777714761">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps\n\n"<annotation id="url">"Learn more"</annotation></string>
     <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="6941188982863819389">"Tap to set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -504,8 +491,7 @@
     <string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="7869449488918552551">"This helps to capture your full fingerprint"</string>
     <string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"Enrolling fingerprint <xliff:g id="PERCENTAGE">%d</xliff:g> per cent"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Fingerprint added"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_finish_message (3469254005423998143) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_finish_message" msgid="3469254005423998143">"Now you can use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps"</string>
     <string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Do it later"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"Skip fingerprint setup?"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"You’ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you’ll need to set this up later. Setup takes only a minute or so."</string>
@@ -576,10 +562,8 @@
     <string name="fingerprint_delete_title" msgid="1469865327307917858">"Remove \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'"</string>
     <string name="fingerprint_delete_message" msgid="1454995433333496541">"Do you want to delete this fingerprint?"</string>
     <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
-    <!-- no translation found for fingerprint_last_delete_message (7860374760549404410) -->
-    <skip />
-    <!-- no translation found for fingerprint_last_delete_message_profile_challenge (4104208067277655068) -->
-    <skip />
+    <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"You won\'t be able to use your fingerprint to unlock your phone or verify that it\'s you in apps."</string>
+    <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"You won\'t be able to use your fingerprint to unlock your work profile, authorise purchases or sign in to work apps."</string>
     <string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Yes, remove"</string>
     <string name="security_settings_biometrics_title" msgid="9156091890323967944">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometrics_summary_none" msgid="7832260410376805323">"Tap to set up"</string>
@@ -2346,8 +2330,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_floating (4459254227203203324) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
@@ -2367,8 +2350,7 @@
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="2717632658372117656">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button or gesture."</string>
     <string name="accessibility_button_description" msgid="7372405202698400339">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button."</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
@@ -3753,11 +3735,9 @@
     <string name="conversation_notifs_category" msgid="2549844862379963273">"Conversation"</string>
     <string name="recent_notifications" msgid="1105631022180160436">"Recently sent"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"See all from last 7 days"</string>
-    <!-- no translation found for general_notification_header (3669031068980713359) -->
-    <skip />
+    <string name="general_notification_header" msgid="3669031068980713359">"Manage"</string>
     <string name="app_notification_field" msgid="3858667320444612716">"App settings"</string>
-    <!-- no translation found for app_notification_field_summary (5981393613897713471) -->
-    <skip />
+    <string name="app_notification_field_summary" msgid="5981393613897713471">"Control notifications from individual apps"</string>
     <string name="advanced_section_header" msgid="6478709678084326738">"General"</string>
     <string name="profile_section_header" msgid="4970209372372610799">"Work notifications"</string>
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
@@ -3912,8 +3892,7 @@
     </plurals>
     <string name="notifications_sent_never" msgid="9081278709126812062">"Never"</string>
     <string name="manage_notification_access_title" msgid="6481256069087219982">"Device &amp; app notifications"</string>
-    <!-- no translation found for manage_notification_access_summary (2907135226478903997) -->
-    <skip />
+    <string name="manage_notification_access_summary" msgid="2907135226478903997">"Control which apps and devices can read notifications"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"Access to work profile notifications is blocked"</string>
     <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Apps cannot read notifications"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
@@ -5290,8 +5269,7 @@
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
     <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <!-- no translation found for choose_sim_text (4356662002583501647) -->
-    <skip />
+    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
     <string name="choose_sim_item_summary_unknown" msgid="7854314795485227568">"Unknown number"</string>
@@ -5478,12 +5456,9 @@
     <string name="mobile_data_off_summary" msgid="3841411571485837651">"Internet won\'t auto‑connect"</string>
     <string name="non_carrier_network_unavailable" msgid="9031567407964127997">"No other networks available"</string>
     <string name="all_network_unavailable" msgid="1163897808282057496">"No networks available"</string>
-    <!-- no translation found for mobile_data_disable_title (8438714772256088913) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message (7829414836454769970) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message_default_carrier (4449469407705838612) -->
-    <skip />
+    <string name="mobile_data_disable_title" msgid="8438714772256088913">"Turn off mobile data?"</string>
+    <string name="mobile_data_disable_message" msgid="7829414836454769970">"You won\'t have access to data or the Internet through <xliff:g id="CARRIER">%s</xliff:g>. Internet will only be available via Wi‑Fi."</string>
+    <string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"your operator"</string>
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Unavailable because bedtime mode is on"</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"Reset notification importance completed."</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"Apps"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index e53aca5..2c53563 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -345,12 +345,10 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="6319476573697497750">"I agree"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"More"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"Unlock with your face"</string>
-    <!-- no translation found for security_settings_face_enroll_consent_introduction_title (3942331854413767814) -->
-    <skip />
+    <string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"Allow face unlock"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"Use your face to authenticate"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"Use your face to unlock your phone, authorize purchases or sign in to apps."</string>
-    <!-- no translation found for security_settings_face_enroll_introduction_consent_message (866117500419055444) -->
-    <skip />
+    <string name="security_settings_face_enroll_introduction_consent_message" msgid="866117500419055444">"Allow your child to use their face to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"Use your face to unlock your phone or approve purchases.\n\nNote: You can’t use your face to unlock this device. For more information, contact your organisation’s admin."</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Use your face to unlock your phone, authorize purchases or sign in to apps"</string>
     <string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
@@ -410,16 +408,12 @@
     </plurals>
     <string name="security_settings_fingerprint_preference_summary_none" msgid="1044059475710838504"></string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="7931650601996313070">"Set up your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_consent_introduction_title (2278592030102282364) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_consent_introduction_title" msgid="2278592030102282364">"Allow fingerprint unlock"</string>
     <string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="1911710308293783998">"Use your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_message (6100563481214337377) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_consent_message (1833139688278350628) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_message" msgid="6100563481214337377">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps or approve a purchase."</string>
+    <string name="security_settings_fingerprint_enroll_introduction_consent_message" msgid="1833139688278350628">"Allow your child to use their fingerprint to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_1" msgid="6808124116419325722">"You\'re in control"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_footer_title_consent_1 (1122676690472680734) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_footer_title_consent_1" msgid="1122676690472680734">"You and your child are in control"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_2" msgid="5663733424583416266">"Bear in mind"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"The data recorded by fingerprint is stored securely and never leaves your phone. You can delete your data at any time in Settings."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"Your fingerprint may be less secure than a strong pattern or PIN."</string>
@@ -438,20 +432,14 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"Bear in mind"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" msgid="5824014348182478279">"Using your fingerprint to unlock your phone may be less secure than a strong pattern or PIN"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"How it works"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_2 (5909924864816776516) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2 (3493356605815124807) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_3 (4729142136478078228) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3 (5908959250804145997) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"Fingerprint Unlock creates a unique model of your fingerprint to verify that it’s you. To create this fingerprint model during setup, you will take images of your fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"Fingerprint Unlock creates a unique model of your child’s fingerprint to verify that it’s them. To create this fingerprint model during setup, they will take images of their fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" msgid="4729142136478078228">"When you use Pixel Imprint, images are used to update your fingerprint model. Images used to create your fingerprint model are never stored, but the fingerprint model is stored securely on your phone and never leaves the phone. All processing occurs securely on your phone."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" msgid="5908959250804145997">"When they use Pixel Imprint, images are used to update their fingerprint model. Images used to create your child’s fingerprint model are never stored, but the fingerprint model is stored securely on the phone and never leaves the phone. All processing occurs securely on the phone."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" msgid="3948305045484131665">"You can delete your fingerprint images and model, or turn off fingerprint unlock at any time in settings. Fingerprint images and models are stored on the phone until you delete them."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4 (4983770600405797515) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4" msgid="4983770600405797515">"You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they’re deleted."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" msgid="2018885671994058605">"Your phone can be unlocked when you don’t intend it to be; for example, if someone holds it up to your finger."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5 (8356551505082794682) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5" msgid="8356551505082794682">"Your child’s phone can be unlocked when they don’t intend it to be; for example, if someone holds it up to their finger."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_try_adjusting" msgid="3855444121278320304">"Change the position of your finger slightly each time"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_partially_detected" msgid="8330287007361798356">"Cover the icon with the centre of your fingerprint"</string>
@@ -460,8 +448,7 @@
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_fast" msgid="5891227328100822018">"Lift your finger after you feel a vibration"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_bright" msgid="769646735950329315">"Move somewhere with gentler lighting and try again"</string>
     <string name="security_settings_fingerprint_v2_enroll_error_max_attempts" msgid="1464972470750764128">"You’ve reached the maximum number of attempts"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_home_screen (1709655966777714761) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_home_screen" msgid="1709655966777714761">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps\n\n"<annotation id="url">"Learn more"</annotation></string>
     <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="6941188982863819389">"Tap to set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -504,8 +491,7 @@
     <string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="7869449488918552551">"This helps to capture your full fingerprint"</string>
     <string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"Enrolling fingerprint <xliff:g id="PERCENTAGE">%d</xliff:g> per cent"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Fingerprint added"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_finish_message (3469254005423998143) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_finish_message" msgid="3469254005423998143">"Now you can use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps"</string>
     <string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Do it later"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"Skip fingerprint setup?"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"You’ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you’ll need to set this up later. Setup takes only a minute or so."</string>
@@ -576,10 +562,8 @@
     <string name="fingerprint_delete_title" msgid="1469865327307917858">"Remove \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'"</string>
     <string name="fingerprint_delete_message" msgid="1454995433333496541">"Do you want to delete this fingerprint?"</string>
     <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
-    <!-- no translation found for fingerprint_last_delete_message (7860374760549404410) -->
-    <skip />
-    <!-- no translation found for fingerprint_last_delete_message_profile_challenge (4104208067277655068) -->
-    <skip />
+    <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"You won\'t be able to use your fingerprint to unlock your phone or verify that it\'s you in apps."</string>
+    <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"You won\'t be able to use your fingerprint to unlock your work profile, authorise purchases or sign in to work apps."</string>
     <string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Yes, remove"</string>
     <string name="security_settings_biometrics_title" msgid="9156091890323967944">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometrics_summary_none" msgid="7832260410376805323">"Tap to set up"</string>
@@ -2346,8 +2330,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_floating (4459254227203203324) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
@@ -2367,8 +2350,7 @@
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="2717632658372117656">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button or gesture."</string>
     <string name="accessibility_button_description" msgid="7372405202698400339">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button."</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
@@ -3753,11 +3735,9 @@
     <string name="conversation_notifs_category" msgid="2549844862379963273">"Conversation"</string>
     <string name="recent_notifications" msgid="1105631022180160436">"Recently sent"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"See all from last 7 days"</string>
-    <!-- no translation found for general_notification_header (3669031068980713359) -->
-    <skip />
+    <string name="general_notification_header" msgid="3669031068980713359">"Manage"</string>
     <string name="app_notification_field" msgid="3858667320444612716">"App settings"</string>
-    <!-- no translation found for app_notification_field_summary (5981393613897713471) -->
-    <skip />
+    <string name="app_notification_field_summary" msgid="5981393613897713471">"Control notifications from individual apps"</string>
     <string name="advanced_section_header" msgid="6478709678084326738">"General"</string>
     <string name="profile_section_header" msgid="4970209372372610799">"Work notifications"</string>
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
@@ -3912,8 +3892,7 @@
     </plurals>
     <string name="notifications_sent_never" msgid="9081278709126812062">"Never"</string>
     <string name="manage_notification_access_title" msgid="6481256069087219982">"Device &amp; app notifications"</string>
-    <!-- no translation found for manage_notification_access_summary (2907135226478903997) -->
-    <skip />
+    <string name="manage_notification_access_summary" msgid="2907135226478903997">"Control which apps and devices can read notifications"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"Access to work profile notifications is blocked"</string>
     <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Apps cannot read notifications"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
@@ -5290,8 +5269,7 @@
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
     <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <!-- no translation found for choose_sim_text (4356662002583501647) -->
-    <skip />
+    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
     <string name="choose_sim_item_summary_unknown" msgid="7854314795485227568">"Unknown number"</string>
@@ -5478,12 +5456,9 @@
     <string name="mobile_data_off_summary" msgid="3841411571485837651">"Internet won\'t auto‑connect"</string>
     <string name="non_carrier_network_unavailable" msgid="9031567407964127997">"No other networks available"</string>
     <string name="all_network_unavailable" msgid="1163897808282057496">"No networks available"</string>
-    <!-- no translation found for mobile_data_disable_title (8438714772256088913) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message (7829414836454769970) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message_default_carrier (4449469407705838612) -->
-    <skip />
+    <string name="mobile_data_disable_title" msgid="8438714772256088913">"Turn off mobile data?"</string>
+    <string name="mobile_data_disable_message" msgid="7829414836454769970">"You won\'t have access to data or the Internet through <xliff:g id="CARRIER">%s</xliff:g>. Internet will only be available via Wi‑Fi."</string>
+    <string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"your operator"</string>
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Unavailable because bedtime mode is on"</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"Reset notification importance completed."</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"Apps"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index d9a7ed0..5460fc2 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -345,12 +345,10 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="6319476573697497750">"I agree"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"More"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"Unlock with your face"</string>
-    <!-- no translation found for security_settings_face_enroll_consent_introduction_title (3942331854413767814) -->
-    <skip />
+    <string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"Allow face unlock"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"Use your face to authenticate"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"Use your face to unlock your phone, authorise purchases or sign in to apps."</string>
-    <!-- no translation found for security_settings_face_enroll_introduction_consent_message (866117500419055444) -->
-    <skip />
+    <string name="security_settings_face_enroll_introduction_consent_message" msgid="866117500419055444">"Allow your child to use their face to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"Use your face to unlock your phone or approve purchases.\n\nNote: You can’t use your face to unlock this device. For more information, contact your organisation’s admin."</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Use your face to unlock your phone, authorise purchases or sign in to apps"</string>
     <string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
@@ -410,16 +408,12 @@
     </plurals>
     <string name="security_settings_fingerprint_preference_summary_none" msgid="1044059475710838504"></string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="7931650601996313070">"Set up your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_consent_introduction_title (2278592030102282364) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_consent_introduction_title" msgid="2278592030102282364">"Allow fingerprint unlock"</string>
     <string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="1911710308293783998">"Use your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_message (6100563481214337377) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_consent_message (1833139688278350628) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_message" msgid="6100563481214337377">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps or approve a purchase."</string>
+    <string name="security_settings_fingerprint_enroll_introduction_consent_message" msgid="1833139688278350628">"Allow your child to use their fingerprint to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_1" msgid="6808124116419325722">"You\'re in control"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_footer_title_consent_1 (1122676690472680734) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_footer_title_consent_1" msgid="1122676690472680734">"You and your child are in control"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_2" msgid="5663733424583416266">"Bear in mind"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"The data recorded by fingerprint is stored securely and never leaves your phone. You can delete your data at any time in Settings."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"Your fingerprint may be less secure than a strong pattern or PIN."</string>
@@ -438,20 +432,14 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"Bear in mind"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" msgid="5824014348182478279">"Using your fingerprint to unlock your phone may be less secure than a strong pattern or PIN"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"How it works"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_2 (5909924864816776516) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2 (3493356605815124807) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_3 (4729142136478078228) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3 (5908959250804145997) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"Fingerprint Unlock creates a unique model of your fingerprint to verify that it’s you. To create this fingerprint model during setup, you will take images of your fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"Fingerprint Unlock creates a unique model of your child’s fingerprint to verify that it’s them. To create this fingerprint model during setup, they will take images of their fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" msgid="4729142136478078228">"When you use Pixel Imprint, images are used to update your fingerprint model. Images used to create your fingerprint model are never stored, but the fingerprint model is stored securely on your phone and never leaves the phone. All processing occurs securely on your phone."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" msgid="5908959250804145997">"When they use Pixel Imprint, images are used to update their fingerprint model. Images used to create your child’s fingerprint model are never stored, but the fingerprint model is stored securely on the phone and never leaves the phone. All processing occurs securely on the phone."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" msgid="3948305045484131665">"You can delete your fingerprint images and model, or turn off fingerprint unlock at any time in settings. Fingerprint images and models are stored on the phone until you delete them."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4 (4983770600405797515) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4" msgid="4983770600405797515">"You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they’re deleted."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" msgid="2018885671994058605">"Your phone can be unlocked when you don’t intend it to be; for example, if someone holds it up to your finger."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5 (8356551505082794682) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5" msgid="8356551505082794682">"Your child’s phone can be unlocked when they don’t intend it to be; for example, if someone holds it up to their finger."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_try_adjusting" msgid="3855444121278320304">"Change the position of your finger slightly each time"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_partially_detected" msgid="8330287007361798356">"Cover the icon with the centre of your fingerprint"</string>
@@ -460,8 +448,7 @@
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_fast" msgid="5891227328100822018">"Lift your finger after you feel a vibration"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_bright" msgid="769646735950329315">"Move somewhere with gentler lighting and try again"</string>
     <string name="security_settings_fingerprint_v2_enroll_error_max_attempts" msgid="1464972470750764128">"You’ve reached the maximum number of attempts"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_home_screen (1709655966777714761) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_home_screen" msgid="1709655966777714761">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps\n\n"<annotation id="url">"Learn more"</annotation></string>
     <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="6941188982863819389">"Tap to set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -504,8 +491,7 @@
     <string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="7869449488918552551">"This helps to capture your full fingerprint"</string>
     <string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"Enrolling fingerprint <xliff:g id="PERCENTAGE">%d</xliff:g> per cent"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Fingerprint added"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_finish_message (3469254005423998143) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_finish_message" msgid="3469254005423998143">"Now you can use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps"</string>
     <string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Do it later"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"Skip fingerprint setup?"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"You’ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you’ll need to set this up later. Setup takes only a minute or so."</string>
@@ -576,10 +562,8 @@
     <string name="fingerprint_delete_title" msgid="1469865327307917858">"Remove \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'"</string>
     <string name="fingerprint_delete_message" msgid="1454995433333496541">"Do you want to delete this fingerprint?"</string>
     <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
-    <!-- no translation found for fingerprint_last_delete_message (7860374760549404410) -->
-    <skip />
-    <!-- no translation found for fingerprint_last_delete_message_profile_challenge (4104208067277655068) -->
-    <skip />
+    <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"You won\'t be able to use your fingerprint to unlock your phone or verify that it\'s you in apps."</string>
+    <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"You won\'t be able to use your fingerprint to unlock your work profile, authorise purchases or sign in to work apps."</string>
     <string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Yes, remove"</string>
     <string name="security_settings_biometrics_title" msgid="9156091890323967944">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometrics_summary_none" msgid="7832260410376805323">"Tap to set up"</string>
@@ -2346,8 +2330,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_floating (4459254227203203324) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
@@ -2367,8 +2350,7 @@
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="2717632658372117656">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button or gesture."</string>
     <string name="accessibility_button_description" msgid="7372405202698400339">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button."</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
@@ -3753,11 +3735,9 @@
     <string name="conversation_notifs_category" msgid="2549844862379963273">"Conversation"</string>
     <string name="recent_notifications" msgid="1105631022180160436">"Recently sent"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"See all from last 7 days"</string>
-    <!-- no translation found for general_notification_header (3669031068980713359) -->
-    <skip />
+    <string name="general_notification_header" msgid="3669031068980713359">"Manage"</string>
     <string name="app_notification_field" msgid="3858667320444612716">"App settings"</string>
-    <!-- no translation found for app_notification_field_summary (5981393613897713471) -->
-    <skip />
+    <string name="app_notification_field_summary" msgid="5981393613897713471">"Control notifications from individual apps"</string>
     <string name="advanced_section_header" msgid="6478709678084326738">"General"</string>
     <string name="profile_section_header" msgid="4970209372372610799">"Work notifications"</string>
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
@@ -3912,8 +3892,7 @@
     </plurals>
     <string name="notifications_sent_never" msgid="9081278709126812062">"Never"</string>
     <string name="manage_notification_access_title" msgid="6481256069087219982">"Device &amp; app notifications"</string>
-    <!-- no translation found for manage_notification_access_summary (2907135226478903997) -->
-    <skip />
+    <string name="manage_notification_access_summary" msgid="2907135226478903997">"Control which apps and devices can read notifications"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"Access to work profile notifications is blocked"</string>
     <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Apps cannot read notifications"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
@@ -5290,8 +5269,7 @@
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
     <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <!-- no translation found for choose_sim_text (4356662002583501647) -->
-    <skip />
+    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
     <string name="choose_sim_item_summary_unknown" msgid="7854314795485227568">"Unknown number"</string>
@@ -5478,12 +5456,9 @@
     <string name="mobile_data_off_summary" msgid="3841411571485837651">"Internet won\'t auto‑connect"</string>
     <string name="non_carrier_network_unavailable" msgid="9031567407964127997">"No other networks available"</string>
     <string name="all_network_unavailable" msgid="1163897808282057496">"No networks available"</string>
-    <!-- no translation found for mobile_data_disable_title (8438714772256088913) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message (7829414836454769970) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message_default_carrier (4449469407705838612) -->
-    <skip />
+    <string name="mobile_data_disable_title" msgid="8438714772256088913">"Turn off mobile data?"</string>
+    <string name="mobile_data_disable_message" msgid="7829414836454769970">"You won\'t have access to data or the Internet through <xliff:g id="CARRIER">%s</xliff:g>. Internet will only be available via Wi‑Fi."</string>
+    <string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"your operator"</string>
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Unavailable because bedtime mode is on"</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"Reset notification importance completed."</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"Apps"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 80e400d..a3e16ec 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -345,12 +345,10 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="6319476573697497750">"I agree"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"More"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"Unlock with your face"</string>
-    <!-- no translation found for security_settings_face_enroll_consent_introduction_title (3942331854413767814) -->
-    <skip />
+    <string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"Allow face unlock"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"Use your face to authenticate"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"Use your face to unlock your phone, authorise purchases or sign in to apps."</string>
-    <!-- no translation found for security_settings_face_enroll_introduction_consent_message (866117500419055444) -->
-    <skip />
+    <string name="security_settings_face_enroll_introduction_consent_message" msgid="866117500419055444">"Allow your child to use their face to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"Use your face to unlock your phone or approve purchases.\n\nNote: You can’t use your face to unlock this device. For more information, contact your organisation’s admin."</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"Use your face to unlock your phone, authorise purchases or sign in to apps"</string>
     <string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
@@ -410,16 +408,12 @@
     </plurals>
     <string name="security_settings_fingerprint_preference_summary_none" msgid="1044059475710838504"></string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="7931650601996313070">"Set up your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_consent_introduction_title (2278592030102282364) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_consent_introduction_title" msgid="2278592030102282364">"Allow fingerprint unlock"</string>
     <string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="1911710308293783998">"Use your fingerprint"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_message (6100563481214337377) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_consent_message (1833139688278350628) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_message" msgid="6100563481214337377">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps or approve a purchase."</string>
+    <string name="security_settings_fingerprint_enroll_introduction_consent_message" msgid="1833139688278350628">"Allow your child to use their fingerprint to unlock their phone or verify that it’s them. This happens when they sign in to apps, approve a purchase and more."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_1" msgid="6808124116419325722">"You\'re in control"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_footer_title_consent_1 (1122676690472680734) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_footer_title_consent_1" msgid="1122676690472680734">"You and your child are in control"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_2" msgid="5663733424583416266">"Bear in mind"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"The data recorded by fingerprint is stored securely and never leaves your phone. You can delete your data at any time in Settings."</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"Your fingerprint may be less secure than a strong pattern or PIN."</string>
@@ -438,20 +432,14 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"Bear in mind"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" msgid="5824014348182478279">"Using your fingerprint to unlock your phone may be less secure than a strong pattern or PIN"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"How it works"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_2 (5909924864816776516) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2 (3493356605815124807) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_3 (4729142136478078228) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3 (5908959250804145997) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"Fingerprint Unlock creates a unique model of your fingerprint to verify that it’s you. To create this fingerprint model during setup, you will take images of your fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"Fingerprint Unlock creates a unique model of your child’s fingerprint to verify that it’s them. To create this fingerprint model during setup, they will take images of their fingerprint from different positions."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" msgid="4729142136478078228">"When you use Pixel Imprint, images are used to update your fingerprint model. Images used to create your fingerprint model are never stored, but the fingerprint model is stored securely on your phone and never leaves the phone. All processing occurs securely on your phone."</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" msgid="5908959250804145997">"When they use Pixel Imprint, images are used to update their fingerprint model. Images used to create your child’s fingerprint model are never stored, but the fingerprint model is stored securely on the phone and never leaves the phone. All processing occurs securely on the phone."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" msgid="3948305045484131665">"You can delete your fingerprint images and model, or turn off fingerprint unlock at any time in settings. Fingerprint images and models are stored on the phone until you delete them."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4 (4983770600405797515) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4" msgid="4983770600405797515">"You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they’re deleted."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" msgid="2018885671994058605">"Your phone can be unlocked when you don’t intend it to be; for example, if someone holds it up to your finger."</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5 (8356551505082794682) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5" msgid="8356551505082794682">"Your child’s phone can be unlocked when they don’t intend it to be; for example, if someone holds it up to their finger."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_try_adjusting" msgid="3855444121278320304">"Change the position of your finger slightly each time"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_partially_detected" msgid="8330287007361798356">"Cover the icon with the centre of your fingerprint"</string>
@@ -460,8 +448,7 @@
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_fast" msgid="5891227328100822018">"Lift your finger after you feel a vibration"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_bright" msgid="769646735950329315">"Move somewhere with gentler lighting and try again"</string>
     <string name="security_settings_fingerprint_v2_enroll_error_max_attempts" msgid="1464972470750764128">"You’ve reached the maximum number of attempts"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_home_screen (1709655966777714761) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_home_screen" msgid="1709655966777714761">"Use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps\n\n"<annotation id="url">"Learn more"</annotation></string>
     <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="6941188982863819389">"Tap to set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -504,8 +491,7 @@
     <string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="7869449488918552551">"This helps to capture your full fingerprint"</string>
     <string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"Enrolling fingerprint <xliff:g id="PERCENTAGE">%d</xliff:g> per cent"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Fingerprint added"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_finish_message (3469254005423998143) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_finish_message" msgid="3469254005423998143">"Now you can use your fingerprint to unlock your phone or verify that it’s you, like when you sign in to apps"</string>
     <string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"Do it later"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"Skip fingerprint setup?"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"You’ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you’ll need to set this up later. Setup takes only a minute or so."</string>
@@ -576,10 +562,8 @@
     <string name="fingerprint_delete_title" msgid="1469865327307917858">"Remove \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\'"</string>
     <string name="fingerprint_delete_message" msgid="1454995433333496541">"Do you want to delete this fingerprint?"</string>
     <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"This deletes the fingerprint images and model associated with \'<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>\' that are stored on your device"</string>
-    <!-- no translation found for fingerprint_last_delete_message (7860374760549404410) -->
-    <skip />
-    <!-- no translation found for fingerprint_last_delete_message_profile_challenge (4104208067277655068) -->
-    <skip />
+    <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"You won\'t be able to use your fingerprint to unlock your phone or verify that it\'s you in apps."</string>
+    <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"You won\'t be able to use your fingerprint to unlock your work profile, authorise purchases or sign in to work apps."</string>
     <string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"Yes, remove"</string>
     <string name="security_settings_biometrics_title" msgid="9156091890323967944">"Face &amp; Fingerprint Unlock"</string>
     <string name="security_settings_biometrics_summary_none" msgid="7832260410376805323">"Tap to set up"</string>
@@ -2346,8 +2330,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"Tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> at the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"Swipe up from the bottom of the screen with three fingers.\n\nTo switch between features, swipe up with three fingers and hold."</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_floating (4459254227203203324) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"More options"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Learn more about <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold volume keys"</string>
@@ -2367,8 +2350,7 @@
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"Accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="2717632658372117656">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button or gesture."</string>
     <string name="accessibility_button_description" msgid="7372405202698400339">"Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the Accessibility button."</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
@@ -3753,11 +3735,9 @@
     <string name="conversation_notifs_category" msgid="2549844862379963273">"Conversation"</string>
     <string name="recent_notifications" msgid="1105631022180160436">"Recently sent"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"See all from last 7 days"</string>
-    <!-- no translation found for general_notification_header (3669031068980713359) -->
-    <skip />
+    <string name="general_notification_header" msgid="3669031068980713359">"Manage"</string>
     <string name="app_notification_field" msgid="3858667320444612716">"App settings"</string>
-    <!-- no translation found for app_notification_field_summary (5981393613897713471) -->
-    <skip />
+    <string name="app_notification_field_summary" msgid="5981393613897713471">"Control notifications from individual apps"</string>
     <string name="advanced_section_header" msgid="6478709678084326738">"General"</string>
     <string name="profile_section_header" msgid="4970209372372610799">"Work notifications"</string>
     <string name="smart_notifications_title" msgid="8995288376897952015">"Adaptive notifications"</string>
@@ -3912,8 +3892,7 @@
     </plurals>
     <string name="notifications_sent_never" msgid="9081278709126812062">"Never"</string>
     <string name="manage_notification_access_title" msgid="6481256069087219982">"Device &amp; app notifications"</string>
-    <!-- no translation found for manage_notification_access_summary (2907135226478903997) -->
-    <skip />
+    <string name="manage_notification_access_summary" msgid="2907135226478903997">"Control which apps and devices can read notifications"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"Access to work profile notifications is blocked"</string>
     <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Apps cannot read notifications"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
@@ -5290,8 +5269,7 @@
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
     <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <!-- no translation found for choose_sim_text (4356662002583501647) -->
-    <skip />
+    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
     <string name="choose_sim_item_summary_unknown" msgid="7854314795485227568">"Unknown number"</string>
@@ -5478,12 +5456,9 @@
     <string name="mobile_data_off_summary" msgid="3841411571485837651">"Internet won\'t auto‑connect"</string>
     <string name="non_carrier_network_unavailable" msgid="9031567407964127997">"No other networks available"</string>
     <string name="all_network_unavailable" msgid="1163897808282057496">"No networks available"</string>
-    <!-- no translation found for mobile_data_disable_title (8438714772256088913) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message (7829414836454769970) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message_default_carrier (4449469407705838612) -->
-    <skip />
+    <string name="mobile_data_disable_title" msgid="8438714772256088913">"Turn off mobile data?"</string>
+    <string name="mobile_data_disable_message" msgid="7829414836454769970">"You won\'t have access to data or the Internet through <xliff:g id="CARRIER">%s</xliff:g>. Internet will only be available via Wi‑Fi."</string>
+    <string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"your operator"</string>
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Unavailable because bedtime mode is on"</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"Reset notification importance completed."</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"Apps"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 65f51d6..e19fbb2 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -345,12 +345,10 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="6319476573697497750">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎I agree‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎More‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‎Unlock with your face‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_face_enroll_consent_introduction_title (3942331854413767814) -->
-    <skip />
+    <string name="security_settings_face_enroll_consent_introduction_title" msgid="3942331854413767814">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎Allow face unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎Use your face to authenticate‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‎Use your face to unlock your phone, authorize purchases, or sign in to apps.‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_face_enroll_introduction_consent_message (866117500419055444) -->
-    <skip />
+    <string name="security_settings_face_enroll_introduction_consent_message" msgid="866117500419055444">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎Allow your child to use their face to unlock their phone or verify it’s them. This happens when they sign in to apps, approve a purchase, and more.‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎Use your face to unlock your phone or approve purchases.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Note: You can’t use your face to unlock this device. For more information, contact your organization’s admin.‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎Use your face to unlock your phone, authorize purchases, or sign in to apps‎‏‎‎‏‎"</string>
     <string name="security_settings_face_enroll_introduction_info_title" msgid="7120796118179406944"></string>
@@ -410,16 +408,12 @@
     </plurals>
     <string name="security_settings_fingerprint_preference_summary_none" msgid="1044059475710838504"></string>
     <string name="security_settings_fingerprint_enroll_introduction_title" msgid="7931650601996313070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎Set up your fingerprint‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_consent_introduction_title (2278592030102282364) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_consent_introduction_title" msgid="2278592030102282364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎Allow fingerprint unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_introduction_title_unlock_disabled" msgid="1911710308293783998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎Use your fingerprint‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_message (6100563481214337377) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_consent_message (1833139688278350628) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_message" msgid="6100563481214337377">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎Use your fingerprint to unlock your phone or verify it’s you, like when you sign in to apps or approve a purchase.‎‏‎‎‏‎"</string>
+    <string name="security_settings_fingerprint_enroll_introduction_consent_message" msgid="1833139688278350628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‎Allow your child to use their fingerprint to unlock their phone or verify it’s them. This happens when they sign in to apps, approve a purchase, and more.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_1" msgid="6808124116419325722">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎You’re in control‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_introduction_footer_title_consent_1 (1122676690472680734) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_introduction_footer_title_consent_1" msgid="1122676690472680734">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎You and your child are in control‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_title_2" msgid="5663733424583416266">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‎Keep in mind‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_1" msgid="7817635368506064516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎The data recorded by Fingerprint is stored securely and never leaves your phone. You can delete your data anytime in Settings.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_introduction_footer_message_2" msgid="3507618608004123384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‎‎‎Your fingerprint may be less secure than a strong pattern or PIN.‎‏‎‎‏‎"</string>
@@ -438,20 +432,14 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_1" msgid="4360262371633254407">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‏‏‏‎Keep in mind‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" msgid="5824014348182478279">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎Using your fingerprint to unlock your phone may be less secure than a strong pattern or PIN‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_title_2" msgid="2580899232734177771">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎How it works‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_2 (5909924864816776516) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2 (3493356605815124807) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_3 (4729142136478078228) -->
-    <skip />
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3 (5908959250804145997) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_2" msgid="5909924864816776516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎Fingerprint Unlock creates a unique model of your fingerprint to verify it’s you. To create this fingerprint model during setup, you will take images of your fingerprint from different positions.‎‏‎‎‏‎"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2" msgid="3493356605815124807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎Fingerprint Unlock creates a unique model of your child’s fingerprint to verify it’s them. To create this fingerprint model during setup, they will take images of their fingerprint from different positions.‎‏‎‎‏‎"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" msgid="4729142136478078228">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‎‎When you use Pixel Imprint, images are used to update your fingerprint model. Images used to create your fingerprint model are never stored, but the fingerprint model is stored securely on your phone and never leaves the phone. All processing occurs securely on your phone.‎‏‎‎‏‎"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" msgid="5908959250804145997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎When they use Pixel Imprint, images are used to update their fingerprint model. Images used to create your child’s fingerprint model are never stored, but the fingerprint model is stored securely on the phone and never leaves the phone. All processing occurs securely on the phone.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" msgid="3948305045484131665">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎You can delete your fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until you delete them.‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4 (4983770600405797515) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4" msgid="4983770600405797515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‏‏‎You and your child can delete their fingerprint images and model, or turn off Fingerprint Unlock at any time in Settings. Fingerprint images and models are stored on the phone until they’re deleted.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_5" msgid="2018885671994058605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎Your phone can be unlocked when you don’t intend to, like if someone holds it up to your finger.‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5 (8356551505082794682) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5" msgid="8356551505082794682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎‎Your child’s phone can be unlocked when they don’t intend to, like if someone holds it up to their finger.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_try_adjusting" msgid="3855444121278320304">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎Change the position of your finger slightly each time‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_partially_detected" msgid="8330287007361798356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎Cover the icon with the center of your fingerprint‎‏‎‎‏‎"</string>
@@ -460,8 +448,7 @@
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_fast" msgid="5891227328100822018">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎Lift your finger after you feel a vibration‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_acquire_too_bright" msgid="769646735950329315">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎Move somewhere with gentler lighting and try again‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_error_max_attempts" msgid="1464972470750764128">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎You’ve reached the maximum number of attempts‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_v2_home_screen (1709655966777714761) -->
-    <skip />
+    <string name="security_settings_fingerprint_v2_home_screen" msgid="1709655966777714761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‎Use your fingerprint to unlock your phone or verify it’s you, like when you sign in to apps‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<annotation id="url">"‎‏‎‎‏‏‏‎Learn more‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎Face &amp; Fingerprint Unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="6941188982863819389">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‏‎Tap to set up‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎Face and fingerprints added‎‏‎‎‏‎"</string>
@@ -504,8 +491,7 @@
     <string name="security_settings_udfps_enroll_repeat_a11y_message" msgid="7869449488918552551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎This helps capture your full fingerprint‎‏‎‎‏‎"</string>
     <string name="security_settings_udfps_enroll_progress_a11y_message" msgid="6183535114682369699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎Enrolling fingerprint ‎‏‎‎‏‏‎<xliff:g id="PERCENTAGE">%d</xliff:g>‎‏‎‎‏‏‏‎ percent‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎Fingerprint added‎‏‎‎‏‎"</string>
-    <!-- no translation found for security_settings_fingerprint_enroll_finish_message (3469254005423998143) -->
-    <skip />
+    <string name="security_settings_fingerprint_enroll_finish_message" msgid="3469254005423998143">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎Now you can use your fingerprint to unlock your phone or verify it’s you, like when you sign in to apps‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_enroll_enrolling_skip" msgid="3004786457919122854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎Do it later‎‏‎‎‏‎"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‎Skip fingerprint setup?‎‏‎‎‏‎"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‏‎You’ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you’ll need to set this up later. Setup takes only a minute or so.‎‏‎‎‏‎"</string>
@@ -576,10 +562,8 @@
     <string name="fingerprint_delete_title" msgid="1469865327307917858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎Remove \'‎‏‎‎‏‏‎<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>‎‏‎‎‏‏‏‎\'‎‏‎‎‏‎"</string>
     <string name="fingerprint_delete_message" msgid="1454995433333496541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎Do you want to delete this fingerprint?‎‏‎‎‏‎"</string>
     <string name="fingerprint_v2_delete_message" msgid="4136720729608391131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎This deletes the fingerprint images and model associated with \'‎‏‎‎‏‏‎<xliff:g id="FINGERPRINT_ID">%1$s</xliff:g>‎‏‎‎‏‏‏‎\' that are stored on your device‎‏‎‎‏‎"</string>
-    <!-- no translation found for fingerprint_last_delete_message (7860374760549404410) -->
-    <skip />
-    <!-- no translation found for fingerprint_last_delete_message_profile_challenge (4104208067277655068) -->
-    <skip />
+    <string name="fingerprint_last_delete_message" msgid="7860374760549404410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎You won\'t be able to use your fingerprint to unlock your phone or verify it\'s you in apps.‎‏‎‎‏‎"</string>
+    <string name="fingerprint_last_delete_message_profile_challenge" msgid="4104208067277655068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎You won\'t be able to use your fingerprint to unlock your work profile, authorize purchases, or sign in to work apps.‎‏‎‎‏‎"</string>
     <string name="fingerprint_last_delete_confirm" msgid="3294910995598819259">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎Yes, remove‎‏‎‎‏‎"</string>
     <string name="security_settings_biometrics_title" msgid="9156091890323967944">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎Face &amp; fingerprint unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_biometrics_summary_none" msgid="7832260410376805323">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‎Tap to set up‎‏‎‎‏‎"</string>
@@ -2346,8 +2330,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎Tap the accessibility button ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎ at the bottom of your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, touch &amp; hold the accessibility button.‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‎Swipe up from the bottom of the screen with 2 fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, swipe up with 2 fingers and hold.‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‎Swipe up from the bottom of the screen with 3 fingers.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, swipe up with 3 fingers and hold.‎‏‎‎‏‎"</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_floating (4459254227203203324) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎More options‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎Learn more about ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎Hold volume keys‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎hold volume keys‎‏‎‎‏‎"</string>
@@ -2367,8 +2350,7 @@
     <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎Accessibility button &amp; gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎Using the accessibility button. The gesture isn’t available with 3-button navigation.‎‏‎‎‏‎"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎Quickly access accessibility features‎‏‎‎‏‎"</string>
-    <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="2717632658372117656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎Quickly access accessibility features from any screen. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To get started, go to accessibility settings and select a feature. Tap on the shortcut and select the accessibility button or gesture.‎‏‎‎‏‎"</string>
     <string name="accessibility_button_description" msgid="7372405202698400339">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‎Quickly access accessibility features from any screen. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To get started, go to accessibility settings and select a feature. Tap on the shortcut and select the accessibility button.‎‏‎‎‏‎"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎Use button or gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎Location‎‏‎‎‏‎"</string>
@@ -3753,11 +3735,9 @@
     <string name="conversation_notifs_category" msgid="2549844862379963273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎Conversation‎‏‎‎‏‎"</string>
     <string name="recent_notifications" msgid="1105631022180160436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎Recently sent‎‏‎‎‏‎"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎See all from last 7 days‎‏‎‎‏‎"</string>
-    <!-- no translation found for general_notification_header (3669031068980713359) -->
-    <skip />
+    <string name="general_notification_header" msgid="3669031068980713359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎Manage‎‏‎‎‏‎"</string>
     <string name="app_notification_field" msgid="3858667320444612716">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎App settings‎‏‎‎‏‎"</string>
-    <!-- no translation found for app_notification_field_summary (5981393613897713471) -->
-    <skip />
+    <string name="app_notification_field_summary" msgid="5981393613897713471">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎Control notifications from individual apps‎‏‎‎‏‎"</string>
     <string name="advanced_section_header" msgid="6478709678084326738">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎General‎‏‎‎‏‎"</string>
     <string name="profile_section_header" msgid="4970209372372610799">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎Work notifications‎‏‎‎‏‎"</string>
     <string name="smart_notifications_title" msgid="8995288376897952015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‏‏‏‎Adaptive notifications‎‏‎‎‏‎"</string>
@@ -3912,8 +3892,7 @@
     </plurals>
     <string name="notifications_sent_never" msgid="9081278709126812062">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎Never‎‏‎‎‏‎"</string>
     <string name="manage_notification_access_title" msgid="6481256069087219982">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎Device &amp; app notifications‎‏‎‎‏‎"</string>
-    <!-- no translation found for manage_notification_access_summary (2907135226478903997) -->
-    <skip />
+    <string name="manage_notification_access_summary" msgid="2907135226478903997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎Control which apps and devices can read notifications‎‏‎‎‏‎"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎Access to work profile notifications is blocked‎‏‎‎‏‎"</string>
     <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎Apps cannot read notifications‎‏‎‎‏‎"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
@@ -5290,8 +5269,7 @@
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎Set up your other SIM‎‏‎‎‏‎"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎Choose your active SIM or use 2 SIMs at once‎‏‎‎‏‎"</string>
     <string name="choose_sim_title" msgid="4804689675237716286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎Choose a number to use‎‏‎‎‏‎"</string>
-    <!-- no translation found for choose_sim_text (4356662002583501647) -->
-    <skip />
+    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎1 number is available on this device, but only one can be used at a time‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎2 numbers are available on this device, but only one can be used at a time‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎# numbers are available on this device, but only one can be used at a time‎‏‎‎‏‎}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎Activating‎‏‎‎‏‏‎<xliff:g id="ELLIPSIS">…</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎Couldn’t be activated right now‎‏‎‎‏‎"</string>
     <string name="choose_sim_item_summary_unknown" msgid="7854314795485227568">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‎‎Unknown number‎‏‎‎‏‎"</string>
@@ -5478,12 +5456,9 @@
     <string name="mobile_data_off_summary" msgid="3841411571485837651">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‏‎Internet won\'t auto‑connect‎‏‎‎‏‎"</string>
     <string name="non_carrier_network_unavailable" msgid="9031567407964127997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‎No other networks available‎‏‎‎‏‎"</string>
     <string name="all_network_unavailable" msgid="1163897808282057496">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎No networks available‎‏‎‎‏‎"</string>
-    <!-- no translation found for mobile_data_disable_title (8438714772256088913) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message (7829414836454769970) -->
-    <skip />
-    <!-- no translation found for mobile_data_disable_message_default_carrier (4449469407705838612) -->
-    <skip />
+    <string name="mobile_data_disable_title" msgid="8438714772256088913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‎‏‎Turn off mobile data?‎‏‎‎‏‎"</string>
+    <string name="mobile_data_disable_message" msgid="7829414836454769970">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎You wont have access to data or the internet through ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%s</xliff:g>‎‏‎‎‏‏‏‎. Internet will only be available via Wi‑Fi.‎‏‎‎‏‎"</string>
+    <string name="mobile_data_disable_message_default_carrier" msgid="4449469407705838612">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎your carrier‎‏‎‎‏‎"</string>
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎Unavailable because bedtime mode is on‎‏‎‎‏‎"</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎Reset notification importance completed.‎‏‎‎‏‎"</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎Apps‎‏‎‎‏‎"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 5ccc98f..6616e35 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -588,7 +588,7 @@
     <string name="security_settings_biometrics_summary_face" msgid="531544670908824943">"얼굴 인식만"</string>
     <string name="security_settings_biometrics_summary_fingerprint" msgid="6815851804705508275">"지문만"</string>
     <string name="security_settings_biometrics_summary_both" msgid="7328638955127876021">"얼굴 인식 및 지문"</string>
-    <string name="security_settings_biometrics_description" msgid="1669340998063178097">"얼굴 인식 및 지문을 통한 잠금 해제를 설정하면 마스크를 쓰고 있거나 어두운 곳에 있을 때 휴대전화에서 지문을 요청합니다."</string>
+    <string name="security_settings_biometrics_description" msgid="1669340998063178097">"얼굴 인식 및 지문 잠금 해제를 설정하면 마스크를 쓰고 있거나 어두운 곳에 있을 때 휴대전화에서 지문을 요청합니다."</string>
     <string name="security_settings_biometrics_types_category" msgid="4875227478250058267">"잠금 해제 방법"</string>
     <string name="security_settings_biometrics_preferences_category" msgid="8289089775173952237">"다음에 얼굴 인식 또는 지문 사용"</string>
     <string name="security_settings_biometrics_preference_use_with_apps" msgid="4068551659594090167">"앱 내 인증"</string>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index f262104..c63b7c1 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -48,5 +48,6 @@
     <color name="biometric_enroll_intro_color_bar">#5bb974</color>
     <color name="biometric_enroll_intro_color_icon">#669df6</color>
     <color name="biometric_enroll_intro_color_outline">#5e5e5e</color>
+    <color name="fingerprint_enrollment_finish_color_outline">#669df6</color>
 </resources>
 
diff --git a/res/values-night/themes.xml b/res/values-night/themes.xml
index b95a5a0..fb7a3b9 100644
--- a/res/values-night/themes.xml
+++ b/res/values-night/themes.xml
@@ -15,8 +15,7 @@
      limitations under the License.
 -->
 
-<resources
-    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+<resources>
 
     <style name="Theme.Settings.Home" parent="Theme.Settings.HomeBase">
         <item name="colorPrimary">@*android:color/primary_device_default_settings</item>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 5ae4e3a..cc8cce2 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -422,8 +422,10 @@
     <item msgid="6485511780196327736">"ଅନ୍ୟ ଆପଗୁଡ଼ିକ ଉପରେ ଫ୍ଲୋଟ୍ ହେଉଛି"</item>
     <item msgid="3605616699204153590">"ନାଭିଗେସନ୍ ବାର୍"</item>
   </string-array>
-    <!-- no translation found for accessibility_button_gesture_selector_titles:0 (2370918472773154939) -->
-    <!-- no translation found for accessibility_button_gesture_selector_titles:1 (6922258575853746220) -->
+  <string-array name="accessibility_button_gesture_selector_titles">
+    <item msgid="2370918472773154939">"ବଟନ୍"</item>
+    <item msgid="6922258575853746220">"ଜେଶ୍ଚର୍"</item>
+  </string-array>
   <string-array name="accessibility_button_size_selector_titles">
     <item msgid="7482952318152486459">"ଛୋଟ"</item>
     <item msgid="1666628329913333563">"ବଡ଼"</item>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index ec6b7be..4adcc2e 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -1355,8 +1355,7 @@
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ସ୍ମୁଥ୍ ଡିସପ୍ଲେ"</string>
     <string name="peak_refresh_rate_summary" msgid="1527087897198455042">"କିଛି ବିଷୟବସ୍ତୁ ପାଇଁ ରିଫ୍ରେସ୍ ରେଟ୍ ସ୍ୱଚାଳିତ ଭାବରେ 60ରୁ 90 Hz ପର୍ଯ୍ୟନ୍ତ ବଢ଼ାଇଥାଏ। ବ୍ୟାଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
-    <!-- no translation found for force_high_refresh_rate_toggle (3325789621928312050) -->
-    <skip />
+    <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ସର୍ବାଧିକ ରିଫ୍ରେସ୍ ହାରକୁ ଲାଗୁ କରନ୍ତୁ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ଉନ୍ନତ ସ୍ପର୍ଶ ପ୍ରତିକ୍ରିୟା ଓ ଆନିମେସନ୍ ଗୁଣବତ୍ତା ପାଇଁ ସର୍ବାଧିକ ରିଫ୍ରେସ୍ ରେଟ୍। ବ୍ୟାଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ସ୍କ୍ରିନ୍ ଆଟେନ୍‌ସନ୍"</string>
     <string name="adaptive_sleep_summary_on" msgid="313187971631243800">"ଯଦି ଆପଣ ଏହାକୁ ଦେଖୁଥିବେ ତେବେ ଚାଲୁ / ସ୍କ୍ରିନ୍ ବନ୍ଦ ହେବ ନାହିଁ"</string>
@@ -2339,13 +2338,11 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ବୁଝିଗଲି"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ସର୍ଟକଟ୍"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</string>
-    <!-- no translation found for accessibility_shortcut_edit_summary_software_gesture (5489284264414421286) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଟାପ୍ କରନ୍ତୁ"</string>
-    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_by_gesture (3981188764050497346) -->
-    <skip />
+    <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="3981188764050497346">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
@@ -2367,16 +2364,13 @@
     <string name="accessibility_shortcut_service_on_lock_screen_title" msgid="3923122834058574478">"ଲକ୍ ସ୍କ୍ରିନରୁ ସର୍ଟକଟ୍"</string>
     <string name="accessibility_shortcut_description" msgid="2184693606202133549">"ଲକ୍ ସ୍କ୍ରିନରୁ ଫିଚର୍ ସର୍ଟକଟ୍ ଚାଲୁ କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। କିଛି ସେକେଣ୍ଡ ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_button_title" msgid="5251235485581552614">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</string>
-    <!-- no translation found for accessibility_button_gesture_title (3573456209050374139) -->
-    <skip />
-    <!-- no translation found for accessibility_button_intro (2601976470525277903) -->
-    <skip />
+    <string name="accessibility_button_gesture_title" msgid="3573456209050374139">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଏବଂ ଜେଶ୍ଚର୍"</string>
+    <string name="accessibility_button_intro" msgid="2601976470525277903">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ବ୍ୟବହାର କରାଯାଉଛି। 3-ବଟନ୍ ନାଭିଗେସନ୍ ମାଧ୍ୟମରେ ଜେଶ୍ଚର୍ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ଆକ୍ସେସିବିଲିଟୀ ଫିଚରକୁ ଶୀଘ୍ର ଆକ୍ସେସ୍ କରନ୍ତୁ"</string>
     <!-- no translation found for accessibility_button_gesture_description (2717632658372117656) -->
     <skip />
     <string name="accessibility_button_description" msgid="7372405202698400339">"ଯେ କୌଣସି ସ୍କ୍ରିନରୁ ଆକ୍ସେସିବିଲିଟୀ ଫିଚରକୁ ଶୀଘ୍ର ଆକ୍ସେସ୍ କରନ୍ତୁ। \n\nଆରମ୍ଭ କରିବାକୁ, ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସକୁ ଯାଇ ଗୋଟିଏ ଫିଚରକୁ ଚୟନ କରନ୍ତୁ। ସର୍ଟକଟରେ ଟାପ୍ କରି ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଚୟନ କରନ୍ତୁ।"</string>
-    <!-- no translation found for accessibility_button_or_gesture_title (3510075963401163529) -->
-    <skip />
+    <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ବଟନ୍ କିମ୍ବା ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ଲୋକେସନ୍"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ଆକାର"</string>
     <string name="accessibility_button_fade_title" msgid="8081993897680588829">"ବ୍ୟବହାରରେ ନଥିବା ବେଳେ ଫିକା ଦେଖାଯାଏ"</string>
@@ -4405,11 +4399,9 @@
     <string name="high_power_prompt_title" msgid="2574478825228409124">"ଆପ‌ଟିକୁ ପୃଷ୍ଠପଟରେ ସର୍ବଦା ଚାଲୁ ରହିବାକୁ ଦେବେ କି?"</string>
     <string name="high_power_prompt_body" msgid="6460557929559616041">"<xliff:g id="APP_NAME">%1$s</xliff:g>କୁ ସର୍ବଦା ପୃଷ୍ଠପଟରେ ଚାଲିବାକୁ ଦେବା ଦ୍ୱାରା ବ୍ୟାଟେରୀ ଜୀବନ ହ୍ରାସ ହୋଇପାରେ। \n\nଆପଣ ଏହାକୁ ପରେ ସେଟିଂସ୍ &gt; ଆପ୍ସ ଓ ବିଜ୍ଞପ୍ତିରେ ବଦଳାଇପାରିବେ।"</string>
     <string name="battery_summary" msgid="2491764359695671207">"ଗତଥର ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ବ୍ୟବହୃତ"</string>
-    <!-- no translation found for battery_summary_24hr (7656033283282656551) -->
-    <skip />
+    <string name="battery_summary_24hr" msgid="7656033283282656551">"ଗତ 24 ଘଣ୍ଟାରେ <xliff:g id="PERCENTAGE">%1$s</xliff:g> ବ୍ୟବହାର କରାଯାଇଛି"</string>
     <string name="no_battery_summary" msgid="5769159953384122003">"ଗତଥର ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବାଠାରୁ ବ୍ୟାଟେରୀର କୌଣସି ବ୍ୟବହାର ହୋଇନାହିଁ"</string>
-    <!-- no translation found for no_battery_summary_24hr (6280079526797873842) -->
-    <skip />
+    <string name="no_battery_summary_24hr" msgid="6280079526797873842">"ଗତ 24 ଘଣ୍ଟାରେ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରାଯାଇନାହିଁ"</string>
     <string name="app_notification_preferences" msgid="2004680717999108725">"ଆପ୍‌ ସେଟିଙ୍ଗ"</string>
     <string name="system_ui_settings" msgid="936169564323330967">"SystemUI ଟ୍ୟୁନର ଦେଖାଅ"</string>
     <string name="additional_permissions" msgid="4656871347558988462">"ଅତିରିକ୍ତ ଅନୁମତି"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index f916425..5fd104e 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -3963,8 +3963,7 @@
     <string name="recent_conversations" msgid="471678228756995274">"Нещодавні розмови"</string>
     <string name="conversation_settings_clear_recents" msgid="8940398397663307054">"Видалити останні повідомлення"</string>
     <string name="recent_convos_removed" msgid="2122932798895714203">"Нещодавні розмови видалено"</string>
-    <!-- no translation found for recent_convo_removed (8686414146325958281) -->
-    <skip />
+    <string name="recent_convo_removed" msgid="8686414146325958281">"Чат видалено"</string>
     <string name="clear" msgid="5092178335409471100">"Очистити"</string>
     <string name="important_bubble" msgid="7911698275408390846">"Показувати важливі чати в спливаючих сповіщеннях"</string>
     <string name="important_conversation_behavior_summary" msgid="1845064084071107732">"Важливі чати показуються у верхній частині розкривної панелі. Ви можете налаштувати надсилання спливаючих сповіщень про них, навіть коли ввімкнено режим \"Не турбувати\"."</string>
@@ -4354,8 +4353,7 @@
     <string name="app_launch_supported_domain_urls_title" msgid="5088779668667217369">"Підтримувані посилання"</string>
     <string name="app_launch_other_defaults_title" msgid="5674385877838735586">"Інші стандартні налаштування"</string>
     <string name="app_launch_add_link" msgid="8622558044530305811">"Додати посилання"</string>
-    <!-- no translation found for app_launch_footer (4521865035105622557) -->
-    <skip />
+    <string name="app_launch_footer" msgid="4521865035105622557">"Додаток може підтверджувати посилання, щоб автоматично відкривати їх."</string>
     <plurals name="app_launch_verified_links_title" formatted="false" msgid="3945301449178587783">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> підтверджене посилання</item>
       <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> підтверджені посилання</item>
@@ -4708,10 +4706,8 @@
     <string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"Заборонено робити знімки екрана"</string>
     <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"Цей додаток не можна відкрити"</string>
     <string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"Налаштування заблокував кредитор"</string>
-    <!-- no translation found for disabled_by_policy_title_biometric_parental_consent (2463673997797134678) -->
-    <skip />
-    <!-- no translation found for disabled_by_policy_content_biometric_parental_consent (7124116806784305206) -->
-    <skip />
+    <string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"Потрібна згода батьків"</string>
+    <string name="disabled_by_policy_content_biometric_parental_consent" msgid="7124116806784305206">"Щоб розпочати налаштування, передай телефон комусь із батьків"</string>
     <string name="default_admin_support_msg" msgid="8338570262037182531">"Якщо у вас є запитання, зв’яжіться з ІТ-адміністратором"</string>
     <string name="admin_support_more_info" msgid="8407433155725898290">"Докладніше"</string>
     <string name="admin_profile_owner_message" msgid="8860709969532649195">"Адміністратор може відстежувати та контролювати додатки й дані, пов’язані з вашим робочим профілем, зокрема налаштування, дозволи, корпоративний доступ, активність у мережі чи інформацію про місцезнаходження пристрою."</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 9bd8c69..a3a7d03 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -204,4 +204,7 @@
     <color name="battery_info_error_color_red">#fce8e6</color> <!-- Material Red 50 -->
     <!-- Dialog error color. -->
     <color name="settings_dialog_colorError">#d93025</color> <!-- Red 600 -->
+
+    <!-- Fingerprint enrollment color -->
+    <color name="fingerprint_enrollment_finish_color_outline">#1A73E8</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index eb0d46b..908b640 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -85,7 +85,7 @@
     <dimen name="notification_importance_button_padding">14dp</dimen>
 
     <dimen name="notification_history_header_drawable_start">26dp</dimen>
-    <dimen name="conversation_icon_size">48dp</dimen>
+    <dimen name="conversation_icon_size">32dp</dimen>
 
     <dimen name="zen_mode_icon_size">36dp</dimen>
     <dimen name="zen_mode_icon_margin">16dp</dimen>
@@ -427,6 +427,10 @@
     <dimen name="output_switcher_panel_icon_size">52dp</dimen>
     <dimen name="output_switcher_panel_icon_corner_radius">16dp</dimen>
 
+    <!-- Settings panel related dimensions -->
+    <dimen name="settings_panel_corner_radius">28dp</dimen>
+    <dimen name="settings_panel_title_margin">24dp</dimen>
+
     <!-- Text padding for EmptyTextSettings -->
     <dimen name="empty_text_padding">24dp</dimen>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ef0a051..8bc44be 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1008,6 +1008,10 @@
     <string name="biometric_settings_use_biometric_unlock_phone">Unlocking your phone</string>
     <!-- Text shown on a toggle which allows or disallows the device to use biometric for authentication. [CHAR LIMIT=50] -->
     <string name="biometric_settings_use_biometric_for_apps">Authentication in apps</string>
+    <!-- Message shown during enrollment to prompt a child to give the device to a parent or guardian. [CHAR LIMIT=NONE]-->
+    <string name="biometric_settings_hand_back_to_guardian">Hand the phone back to your parent</string>
+    <!-- Button text shown during enrollment to proceed after a child user has handed the device to a parent or guardian. [CHAR LIMIT=22] -->
+    <string name="biometric_settings_hand_back_to_guardian_ok">OK</string>
 
     <!-- Title of dialog shown when the user tries to skip setting up a screen lock, warning them of potential consequences of not doing so [CHAR LIMIT=30]-->
     <string name="lock_screen_intro_skip_title">Skip screen lock?</string>
@@ -1084,77 +1088,77 @@
     <!-- Content of the dialog shown when the user tries to skip fingerprint setup, asking them to confirm the action [CHAR LIMIT=NONE] -->
     <string name="setup_fingerprint_enroll_enrolling_skip_message">You\u2019ve chosen to use your fingerprint as one way to unlock your phone. If you skip now, you\u2019ll need to set this up later. Setup takes only a minute or so.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_message" product="tablet">A PIN protects your tablet if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pin_skip_message" product="tablet">A PIN protects the tablet if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_message" product="tablet">A pattern protects your tablet if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pattern_skip_message" product="tablet">A pattern protects the tablet if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_message" product="tablet">A password protects your tablet if it\u2019s lost or stolen</string>
+    <string name="lock_screen_password_skip_message" product="tablet">A password protects the tablet if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_message" product="device">A PIN protects your device if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pin_skip_message" product="device">A PIN protects the device if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_message" product="device">A pattern protects your device if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pattern_skip_message" product="device">A pattern protects the device if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_message" product="device">A password protects your device if it\u2019s lost or stolen</string>
+    <string name="lock_screen_password_skip_message" product="device">A password protects the device if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_message" product="default">A PIN protects your phone if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pin_skip_message" product="default">A PIN protects the phone if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_message" product="default">A pattern protects your phone if it\u2019s lost or stolen</string>
+    <string name="lock_screen_pattern_skip_message" product="default">A pattern protects the phone if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_message" product="default">A password protects your phone if it\u2019s lost or stolen</string>
+    <string name="lock_screen_password_skip_message" product="default">A password protects the phone if it\u2019s lost or stolen</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_fingerprint_message" product="tablet">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_fingerprint_message" product="tablet">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_fingerprint_message" product="tablet">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_fingerprint_message" product="tablet">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_fingerprint_message" product="tablet">A password is required to set up Fingerprint Unlock.\n\nA password protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_fingerprint_message" product="tablet">A password is required to set up Fingerprint Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_fingerprint_message" product="device">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_fingerprint_message" product="device">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_fingerprint_message" product="device">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_fingerprint_message" product="device">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_fingerprint_message" product="device">A password is required to set up Fingerprint Unlock.\n\nA password protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_fingerprint_message" product="device">A password is required to set up Fingerprint Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_fingerprint_message" product="default">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_fingerprint_message" product="default">A PIN is required to set up Fingerprint Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_fingerprint_message" product="default">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_fingerprint_message" product="default">A pattern is required to set up Fingerprint Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_fingerprint_message" product="default">A password is required to set up Fingerprint Unlock.\n\nA password protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_fingerprint_message" product="default">A password is required to set up Fingerprint Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_face_message" product="tablet">A PIN is required to set up Face Unlock.\n\nA PIN protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_face_message" product="tablet">A PIN is required to set up Face Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_face_message" product="tablet">A pattern is required to set up Face Unlock.\n\nA pattern protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_face_message" product="tablet">A pattern is required to set up Face Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_face_message" product="tablet">A password is required to set up Face Unlock.\n\nA password protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_face_message" product="tablet">A password is required to set up Face Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_face_message" product="device">A PIN is required to set up Face Unlock.\n\nA PIN protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_face_message" product="device">A PIN is required to set up Face Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_face_message" product="device">A pattern is required to set up Face Unlock.\n\nA pattern protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_face_message" product="device">A pattern is required to set up Face Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_face_message" product="device">A password is required to set up Face Unlock.\n\nA password protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_face_message" product="device">A password is required to set up Face Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_face_message" product="default">A PIN is required to set up Face Unlock.\n\nA PIN protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_face_message" product="default">A PIN is required to set up Face Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_face_message" product="default">A pattern is required to set up Face Unlock.\n\nA pattern protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_face_message" product="default">A pattern is required to set up Face Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_face_message" product="default">A password is required to set up Face Unlock.\n\nA password protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_face_message" product="default">A password is required to set up Face Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="tablet">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="tablet">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (tablet) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects your tablet if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="tablet">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the tablet if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="device">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="device">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (device) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects your device if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="device">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the device if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pin_skip_biometrics_message" product="default">A PIN is required to set up Face Unlock and Fingerprint Unlock.\n\nA PIN protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_pattern_skip_biometrics_message" product="default">A pattern is required to set up Face Unlock and Fingerprint Unlock.\n\nA pattern protects the phone if it\u2019s lost or stolen.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning that they can't continue to set up face or fingerprint. (default) [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects your phone if it\u2019s lost or stolen.</string>
+    <string name="lock_screen_password_skip_biometrics_message" product="default">A password is required to set up Face Unlock and Fingerprint Unlock.\n\nA password protects the phone if it\u2019s lost or stolen.</string>
     <!-- Title of dialog shown when the user tries to skip setting up a PIN, warning them of potential consequences of not doing so [CHAR LIMIT=48]-->
     <string name="lock_screen_pin_skip_title">Skip PIN setup?</string>
     <!-- Title of dialog shown when the user tries to skip setting up a PIN, warning them of potential consequences of not doing so [CHAR LIMIT=90]-->
@@ -1208,6 +1212,8 @@
         <annotation id="url">Learn more</annotation></string>
     <!-- Text shown in fingerprint enroll when we didn't observe progress for a few seconds. [CHAR LIMIT=100] -->
     <string name="security_settings_fingerprint_enroll_lift_touch_again">Lift finger, then touch sensor again</string>
+    <!-- Text shown during fingerprint enrollment to indicate bad sensor calibration. [CHAR LIMIT=100] -->
+    <string name="security_settings_fingerprint_bad_calibration">Please recalibrate the fingerprint sensor.</string>
 
     <!-- Text shown when "Add fingerprint" button is disabled -->
     <string name="fingerprint_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
@@ -5397,8 +5403,8 @@
     <string name="accessibility_button_intro">Using the accessibility button. The gesture isn\u2019t available with 3-button navigation.</string>
     <!-- Summary text for the accessibility button preference. [CHAR LIMIT=50] -->
     <string name="accessibility_button_summary">Quickly access accessibility features</string>
-    <!-- Description for the accessibility button & gesture page. Explain how this page works. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_button_gesture_description">Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the accessibility button or gesture.</string>
+    <!-- Description for the accessibility button in gesture navigation. Explain how this page works. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_button_gesture_description">Quickly access accessibility features from any screen.\n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the accessibility button.\n\nTo use the accessibility button in the navigation bar instead, switch to 2-button navigation or 3-button navigation.</string>
     <!-- Description for the accessibility button page. Explain how this page works. [CHAR LIMIT=NONE] -->
     <string name="accessibility_button_description">Quickly access accessibility features from any screen. \n\nTo get started, go to accessibility settings and select a feature. Tap on the shortcut and select the accessibility button.</string>
     <!-- Title for the button or gesture of the accessibility button. [CHAR LIMIT=35] -->
@@ -5853,29 +5859,29 @@
     <!-- List of synonyms used in the settings search bar to find the “Magnification”. [CHAR LIMIT=NONE] -->
     <string name="keywords_magnification">Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger</string>
     <!-- List of synonyms used in the settings search bar to find the “TalkBack”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_talkback">Screen reader, Voice Over, VoiceOver, Voice Assistance, Blind, Low Vision, TTS, text to speech, spoken feedback</string>
+    <string name="keywords_talkback"></string>
     <!-- List of synonyms used in the settings search bar to find the “Live Caption”. [CHAR LIMIT=NONE] -->
     <string name="keywords_live_caption">Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle</string>
     <!-- List of synonyms used in the settings search bar to find the “Live Transcribe”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_live_transcribe">Captions, closed captions, CC, Live Caption, hard of hearing, hearing loss, CART, speech to text, subtitle</string>
+    <string name="keywords_live_transcribe"></string>
     <!-- List of synonyms used in the settings search bar to find the “Sound Notifications”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_sound_notifications">Notifications, hard of hearing, hearing loss, notify</string>
+    <string name="keywords_sound_notifications"></string>
     <!-- List of synonyms used in the settings search bar to find the “Sound Amplifier”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_sound_amplifier">PSAP, amplify, sound amplification, hard of hearing, hearing loss, amplification</string>
+    <string name="keywords_sound_amplifier"></string>
     <!-- List of synonyms used in the settings search bar to find the “Display size”. [CHAR LIMIT=NONE] -->
     <string name="keywords_display_size">screen size, large screen</string>
     <!-- List of synonyms used in the settings search bar to find the “Bold text”. [CHAR LIMIT=NONE] -->
     <string name="keywords_bold_text">High contrast, low vision, bold font, bold face</string>
     <!-- List of synonyms used in the settings search bar to find the “Select to Speak”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_select_to_speak">Hear text, read aloud, speak screen, screen reader</string>
+    <string name="keywords_select_to_speak"></string>
     <!-- List of synonyms used in the settings search bar to find the “Color correction”. [CHAR LIMIT=NONE] -->
     <string name="keywords_color_correction">adjust color </string>
     <!-- List of synonyms used in the settings search bar to find the “Color inversion”. [CHAR LIMIT=NONE] -->
     <string name="keywords_color_inversion">turn screen dark, turn screen light</string>
     <!-- List of synonyms used in the settings search bar to find the “Accessibility Menu”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_accessibility_menu">motor, quick menu, assistive menu, touch, dexterity</string>
+    <string name="keywords_accessibility_menu"></string>
     <!-- List of synonyms used in the settings search bar to find the “Switch Access”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_switch_access">motor, switch, hand, AT, assistive technology, paralysis, ALS, scanning, step scanning</string>
+    <string name="keywords_switch_access"></string>
     <!-- List of synonyms used in the settings search bar to find the “Autoclick(dwell timing)”. [CHAR LIMIT=NONE] -->
     <string name="keywords_auto_click">motor, mouse</string>
     <!-- List of synonyms used in the settings search bar to find the “Hearing aids”. [CHAR LIMIT=NONE] -->
@@ -5883,7 +5889,7 @@
     <!-- List of synonyms used in the settings search bar to find the “Real-time text (RTT)”. [CHAR LIMIT=NONE] -->
     <string name="keywords_rtt">hard of hearing, hearing loss, captions, Teletype, tty</string>
     <!-- List of synonyms used in the settings search bar to find the “Voice Access”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_voice_access">voice, voice control, motor, hand, mic, microphone, dictation, talk, control</string>
+    <string name="keywords_voice_access"></string>
 
     <!-- Printing settings -->
     <skip />
@@ -8198,7 +8204,7 @@
     <string name="keywords_wifi_calling">wifi, wi-fi, call, calling</string>
     <string name="keywords_display">screen, touchscreen</string>
     <string name="keywords_display_brightness_level">dim screen, touchscreen, battery, bright</string>
-    <string name="keywords_display_night_display">dim screen, night, tint, night shift, brightness, screen color, colour, color, light sensitivity, photophobia, make darker, darken, dark mode, migraine</string>
+    <string name="keywords_display_night_display">dim screen, night, tint, night shift, brightness, screen color, colour, color</string>
     <string name="keywords_display_wallpaper">background, personalize, customize display</string>
     <string name="keywords_display_font_size">text size</string>
     <!-- Search keyword for "Cast" settings [CHAR_LIMIT=NONE]-->
@@ -8246,7 +8252,7 @@
     <string name="keywords_model_and_hardware">serial number, hardware version</string>
     <string name="keywords_android_version">android security patch level, baseband version, kernel version</string>
     <!-- Search keywords for dark mode settings [CHAR LIMIT=NONE] -->
-    <string name="keywords_dark_ui_mode">theme, light, dark, mode</string>
+    <string name="keywords_dark_ui_mode">theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine</string>
 
     <!-- Search keyword for Device Theme Settings [CHAR LIMIT=NONE] -->
     <string name="keywords_systemui_theme">dark theme</string>
@@ -12347,6 +12353,15 @@
     <!-- Title for preference showing the name of the device. [CHAR LIMIT=60]-->
     <string name="my_device_info_device_name_preference_title">Device name</string>
 
+    <!-- Title for preference category showing the name of basic info. [CHAR LIMIT=60]-->
+    <string name="my_device_info_basic_info_category_title">Basic info</string>
+    <!-- Title for preference category showing the name of legal & regulatory. [CHAR LIMIT=60]-->
+    <string name="my_device_info_legal_category_title">Legal &amp; regulatory</string>
+    <!-- Title for preference category showing the name of device details. [CHAR LIMIT=60]-->
+    <string name="my_device_info_device_details_category_title">Device details</string>
+    <!-- Title for preference category showing the name of device identifiers. [CHAR LIMIT=60]-->
+    <string name="my_device_info_device_identifiers_category_title">Device identifiers</string>
+
     <!-- Title for Wifi Access settings [CHAR LIMIT=35] -->
     <string name="change_wifi_state_title">Wi-Fi control</string>
 
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 8e0f459..a28ce6b 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -14,8 +14,7 @@
      limitations under the License.
 -->
 
-<resources
-    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
+<resources>
 
     <style name="Transparent">
         <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
diff --git a/res/xml/accessibility_button_settings.xml b/res/xml/accessibility_button_settings.xml
index 02b1c7d..78d13ab 100644
--- a/res/xml/accessibility_button_settings.xml
+++ b/res/xml/accessibility_button_settings.xml
@@ -61,7 +61,6 @@
 
     <com.android.settings.accessibility.AccessibilityFooterPreference
         android:key="accessibility_button_footer"
-        android:title="@string/accessibility_button_description"
         android:persistent="false"
         android:selectable="false"
         settings:searchable="false"
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 5077f77..a415abf 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -28,173 +28,185 @@
         android:selectable="false"
         settings:isPreferenceVisible="false"/>
 
-    <!-- Device name -->
-    <com.android.settings.widget.ValidatedEditTextPreference
-        android:key="device_name"
-        android:order="1"
-        android:title="@string/my_device_info_device_name_preference_title"
-        android:summary="@string/summary_placeholder"
-        settings:controller="com.android.settings.deviceinfo.DeviceNamePreferenceController"
-        settings:enableCopying="true"/>
+    <PreferenceCategory
+        android:title="@string/my_device_info_basic_info_category_title">
 
-    <!-- Account name -->
-    <Preference
-        android:key="branded_account"
-        android:order="2"
-        android:title="@string/my_device_info_account_preference_title"
-        android:summary="@string/summary_placeholder"
-        settings:enableCopying="true"
-        settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/>
+        <!-- Device name -->
+        <com.android.settings.widget.ValidatedEditTextPreference
+            android:key="device_name"
+            android:order="1"
+            android:title="@string/my_device_info_device_name_preference_title"
+            android:summary="@string/summary_placeholder"
+            settings:controller="com.android.settings.deviceinfo.DeviceNamePreferenceController"
+            settings:enableCopying="true"/>
 
-    <!-- Phone number -->
-    <Preference
-        android:key="phone_number"
-        android:order="3"
-        android:title="@string/status_number"
-        android:summary="@string/summary_placeholder"
-        android:selectable="false"
-        settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
-        settings:enableCopying="true"/>
+        <!-- Account name -->
+        <Preference
+            android:key="branded_account"
+            android:order="2"
+            android:title="@string/my_device_info_account_preference_title"
+            android:summary="@string/summary_placeholder"
+            settings:enableCopying="true"
+            settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/>
 
-    <!-- Legal information -->
-    <Preference
-        android:key="legal_container"
-        android:order="15"
-        android:title="@string/legal_information"
-        android:fragment="com.android.settings.LegalSettings"
-        settings:allowDividerAbove="true"/>
+        <!-- Phone number -->
+        <Preference
+            android:key="phone_number"
+            android:order="3"
+            android:title="@string/status_number"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
+            settings:enableCopying="true"/>
+    </PreferenceCategory>
 
-    <!-- Regulatory labels -->
-    <Preference
-        android:key="regulatory_info"
-        android:order="16"
-        android:title="@string/regulatory_labels">
-        <intent android:action="android.settings.SHOW_REGULATORY_INFO"/>
-    </Preference>
+    <PreferenceCategory
+        android:title="@string/my_device_info_legal_category_title">
 
-    <!-- Safety & regulatory manual -->
-    <Preference
-        android:key="safety_info"
-        android:order="17"
-        android:title="@string/safety_and_regulatory_info">
-        <intent android:action="android.settings.SHOW_SAFETY_AND_REGULATORY_INFO"/>
-    </Preference>
+        <!-- Legal information -->
+        <Preference
+            android:key="legal_container"
+            android:order="15"
+            android:title="@string/legal_information"
+            android:fragment="com.android.settings.LegalSettings"/>
 
-    <!-- SIM status -->
-    <Preference
-        android:key="sim_status"
-        android:order="18"
-        android:title="@string/sim_status_title"
-        settings:keywords="@string/keywords_sim_status"
-        android:summary="@string/summary_placeholder"
-        settings:enableCopying="true"
-        settings:allowDividerAbove="true"/>
+        <!-- Regulatory labels -->
+        <Preference
+            android:key="regulatory_info"
+            android:order="16"
+            android:title="@string/regulatory_labels">
+            <intent android:action="android.settings.SHOW_REGULATORY_INFO"/>
+        </Preference>
 
-    <!-- Model & hardware -->
-    <Preference
-        android:key="device_model"
-        android:order="31"
-        android:title="@string/model_info"
-        android:summary="@string/summary_placeholder"
-        android:fragment="com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFragment"
-        settings:enableCopying="true"
-        settings:keywords="@string/keywords_model_and_hardware"
-        settings:controller="com.android.settings.deviceinfo.HardwareInfoPreferenceController"/>
+        <!-- Safety & regulatory manual -->
+        <Preference
+            android:key="safety_info"
+            android:order="17"
+            android:title="@string/safety_and_regulatory_info">
+            <intent android:action="android.settings.SHOW_SAFETY_AND_REGULATORY_INFO"/>
+        </Preference>
+    </PreferenceCategory>
 
-    <!-- IMEI -->
-    <Preference
-        android:key="imei_info"
-        android:order="32"
-        android:title="@string/status_imei"
-        android:summary="@string/summary_placeholder"
-        settings:keywords="@string/keywords_imei_info"
-        settings:enableCopying="true"
-        settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
+    <PreferenceCategory
+        android:title="@string/my_device_info_device_details_category_title">
 
-    <!-- Android version -->
-    <Preference
-        android:key="firmware_version"
-        android:order="42"
-        android:title="@string/firmware_version"
-        android:summary="@string/summary_placeholder"
-        android:fragment="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings"
-        settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController"/>
+        <!-- SIM status -->
+        <Preference
+            android:key="sim_status"
+            android:order="18"
+            android:title="@string/sim_status_title"
+            settings:keywords="@string/keywords_sim_status"
+            android:summary="@string/summary_placeholder"
+            settings:enableCopying="true"/>
 
-    <!--IP address -->
-    <Preference
-        android:key="wifi_ip_address"
-        android:order="44"
-        android:title="@string/wifi_ip_address"
-        android:summary="@string/summary_placeholder"
-        android:selectable="false"
-        settings:allowDividerAbove="true"
-        settings:enableCopying="true"/>
+        <!-- Model & hardware -->
+        <Preference
+            android:key="device_model"
+            android:order="31"
+            android:title="@string/model_info"
+            android:summary="@string/summary_placeholder"
+            android:fragment="com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFragment"
+            settings:enableCopying="true"
+            settings:keywords="@string/keywords_model_and_hardware"
+            settings:controller="com.android.settings.deviceinfo.HardwareInfoPreferenceController"/>
 
-    <!-- Wi-Fi MAC address -->
-    <Preference
-        android:key="saved_accesspoints_wifi_mac_address"
-        android:order="45"
-        android:title="@string/status_wifi_mac_address"
-        android:summary="@string/view_saved_network"
-        android:fragment="com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2"
-        settings:enableCopying="false"/>
+        <!-- IMEI -->
+        <Preference
+            android:key="imei_info"
+            android:order="32"
+            android:title="@string/status_imei"
+            android:summary="@string/summary_placeholder"
+            settings:keywords="@string/keywords_imei_info"
+            settings:enableCopying="true"
+            settings:controller="com.android.settings.deviceinfo.imei.ImeiInfoPreferenceController"/>
 
-    <!-- Factory Wi-Fi MAC address -->
-    <Preference
-        android:key="wifi_mac_address"
-        android:order="46"
-        android:title="@string/status_device_wifi_mac_address"
-        android:summary="@string/summary_placeholder"
-        android:selectable="false"
-        settings:enableCopying="true"/>
+        <!-- Android version -->
+        <Preference
+            android:key="firmware_version"
+            android:order="42"
+            android:title="@string/firmware_version"
+            android:summary="@string/summary_placeholder"
+            android:fragment="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings"
+            settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController"/>
+    </PreferenceCategory>
 
-    <!-- Bluetooth address -->
-    <Preference
-        android:key="bt_address"
-        android:order="47"
-        android:title="@string/status_bt_address"
-        android:summary="@string/summary_placeholder"
-        android:selectable="false"
-        settings:enableCopying="true"/>
+    <PreferenceCategory
+        android:title="@string/my_device_info_device_identifiers_category_title">
 
-    <!-- Device up time -->
-    <Preference
-        android:key="up_time"
-        android:order="48"
-        android:title="@string/status_up_time"
-        android:summary="@string/summary_placeholder"
-        android:selectable="false"/>
+        <!--IP address -->
+        <Preference
+            android:key="wifi_ip_address"
+            android:order="44"
+            android:title="@string/wifi_ip_address"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:enableCopying="true"/>
 
-    <!-- Manual -->
-    <Preference
-        android:key="manual"
-        android:order="50"
-        android:title="@string/manual">
-        <intent android:action="android.settings.SHOW_MANUAL"/>
-    </Preference>
+        <!-- Wi-Fi MAC address -->
+        <Preference
+            android:key="saved_accesspoints_wifi_mac_address"
+            android:order="45"
+            android:title="@string/status_wifi_mac_address"
+            android:summary="@string/view_saved_network"
+            android:fragment="com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2"
+            settings:enableCopying="false"/>
 
-    <!-- Feedback on the device -->
-    <Preference
-        android:key="device_feedback"
-        android:order="51"
-        android:title="@string/device_feedback"
-        settings:keywords="@string/keywords_device_feedback"/>
+        <!-- Factory Wi-Fi MAC address -->
+        <Preference
+            android:key="wifi_mac_address"
+            android:order="46"
+            android:title="@string/status_device_wifi_mac_address"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:enableCopying="true"/>
 
-    <!-- Device FCC equipment id -->
-    <Preference
-        android:key="fcc_equipment_id"
-        android:order="52"
-        android:title="@string/fcc_equipment_id"
-        android:summary="@string/summary_placeholder"/>
+        <!-- Bluetooth address -->
+        <Preference
+            android:key="bt_address"
+            android:order="47"
+            android:title="@string/status_bt_address"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:enableCopying="true"/>
 
-    <!-- Build number -->
-    <Preference
-        android:key="build_number"
-        android:order="53"
-        android:title="@string/build_number"
-        android:summary="@string/summary_placeholder"
-        settings:allowDividerAbove="true"
-        settings:enableCopying="true"
-        settings:controller="com.android.settings.deviceinfo.BuildNumberPreferenceController"/>
+        <!-- Device up time -->
+        <Preference
+            android:key="up_time"
+            android:order="48"
+            android:title="@string/status_up_time"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"/>
+
+        <!-- Manual -->
+        <Preference
+            android:key="manual"
+            android:order="50"
+            android:title="@string/manual">
+            <intent android:action="android.settings.SHOW_MANUAL"/>
+        </Preference>
+
+        <!-- Feedback on the device -->
+        <Preference
+            android:key="device_feedback"
+            android:order="51"
+            android:title="@string/device_feedback"
+            settings:keywords="@string/keywords_device_feedback"/>
+
+        <!-- Device FCC equipment id -->
+        <Preference
+            android:key="fcc_equipment_id"
+            android:order="52"
+            android:title="@string/fcc_equipment_id"
+            android:summary="@string/summary_placeholder"/>
+
+        <!-- Build number -->
+        <Preference
+            android:key="build_number"
+            android:order="53"
+            android:title="@string/build_number"
+            android:summary="@string/summary_placeholder"
+            settings:enableCopying="true"
+            settings:controller="com.android.settings.deviceinfo.BuildNumberPreferenceController"/>
+    </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index 82cb860..0e802f6 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -46,6 +46,12 @@
             android:summary="@string/owner_info_settings_summary" />
 
         <SwitchPreference
+            android:key="security_setting_lockdown_enabled"
+            android:title="@string/lockdown_settings_title"
+            android:summary="@string/lockdown_settings_summary"
+            settings:controller="com.android.settings.security.LockdownButtonPreferenceController" />
+
+        <SwitchPreference
             android:key="lockscreen_privacy_wallet_switch"
             android:title="@string/lockscreen_privacy_wallet_setting_toggle"
             android:summary="@string/lockscreen_privacy_wallet_summary"
diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml
index 4529a01..1f5fd57 100644
--- a/res/xml/security_settings_face.xml
+++ b/res/xml/security_settings_face.xml
@@ -63,7 +63,7 @@
             android:title="@string/lockscreen_bypass_title"
             android:summary="@string/lockscreen_bypass_summary"
             settings:keywords="@string/keywords_lockscreen_bypass"
-            settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" />
+            settings:controller="com.android.settings.biometrics.face.BiometricLockscreenBypassPreferenceController" />
     </PreferenceCategory>
 
     <com.android.settingslib.widget.LayoutPreference
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 4f0515c..708dbed 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -77,7 +77,6 @@
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Profile;
 import android.provider.ContactsContract.RawContacts;
-import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.Spannable;
@@ -164,9 +163,6 @@
     public static final String PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS =
             "app_hibernation_targets_pre_s_apps";
 
-    /** Whether or not Settings Shared Axis transition is enabled */
-    public static final String SETTINGS_SHARED_AXIS_ENABLED = "settings_shared_axis_enabled";
-
     /**
      * Finds a matching activity for a preference's intent. If a matching
      * activity is not found, it will remove the preference.
@@ -1225,9 +1221,4 @@
     public static boolean isProviderModelEnabled(Context context) {
         return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
     }
-
-    public static boolean isPageTransitionEnabled(Context context) {
-        return Settings.Global.getInt(context.getContentResolver(),
-                SETTINGS_SHARED_AXIS_ENABLED, 0) == 1;
-    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
index 744a292..8b4a364 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
@@ -34,4 +34,11 @@
     protected String getLabelName() {
         return mContext.getString(R.string.accessibility_button_title);
     }
+
+    @Override
+    public CharSequence getSummary() {
+        return AccessibilityUtil.isGestureNavigateEnabled(mContext)
+                ? mContext.getString(R.string.accessibility_button_gesture_description)
+                : mContext.getString(R.string.accessibility_button_description);
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java
new file mode 100644
index 0000000..6aa8c84
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProvider.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.content.Context;
+
+import com.android.settingslib.search.SearchIndexableRaw;
+
+import java.util.List;
+
+/**
+ * Provider for Accessibility Search related features.
+ */
+public interface AccessibilitySearchFeatureProvider {
+
+    /**
+     * Returns a list of raw data for indexing. See {@link SearchIndexableRaw}
+     *
+     * @param context a valid context {@link Context} instance
+     * @return a list of {@link SearchIndexableRaw} references. Can be null.
+     */
+    List<SearchIndexableRaw> getSearchIndexableRawData(Context context);
+}
diff --git a/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java
new file mode 100644
index 0000000..c358af1
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilitySearchFeatureProviderImpl.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.content.Context;
+
+import com.android.settingslib.search.SearchIndexableRaw;
+
+import java.util.List;
+
+/**
+ * Provider implementation for Accessibility Search related features.
+ */
+public class AccessibilitySearchFeatureProviderImpl implements AccessibilitySearchFeatureProvider {
+
+    @Override
+    public List<SearchIndexableRaw> getSearchIndexableRawData(Context context) {
+        return null;
+    }
+}
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index d4db395..78bea0f 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -50,12 +50,14 @@
 import com.android.settings.Utils;
 import com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.accessibility.AccessibilityUtils;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -494,7 +496,15 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.accessibility_settings);
+            new BaseSearchIndexProvider(R.xml.accessibility_settings) {
+                @Override
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    return FeatureFactory.getFactory(context)
+                            .getAccessibilitySearchFeatureProvider().getSearchIndexableRawData(
+                                    context);
+                }
+            };
 
     /**
      * This class helps setup RestrictedPreference.
@@ -559,7 +569,6 @@
 
                 setRestrictedPreferenceEnabled(preference, packageName, serviceAllowed,
                         serviceEnabled);
-
                 final String prefKey = preference.getKey();
                 final int imageRes = info.getAnimatedImageRes();
                 final CharSequence description = getServiceDescription(mContext, info,
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index d095e37..91eeace 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -368,7 +368,12 @@
         }
         ActivityManager am = (ActivityManager)
                 getActivity().getSystemService(Context.ACTIVITY_SERVICE);
-        boolean res = am.clearApplicationUserData(packageName, mClearDataObserver);
+        boolean res = false;
+        try {
+            res = am.clearApplicationUserData(packageName, mClearDataObserver);
+        } catch (SecurityException e) {
+            Log.i(TAG, "Failed to clear application user data: " + e);
+        }
         if (!res) {
             // Clearing data failed for some obscure reason. Just log error for now
             Log.i(TAG, "Couldn't clear application user data for package:" + packageName);
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index 6ab9ab8..db5e003 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -69,6 +69,8 @@
     private static final int REQUEST_CONFIRM_LOCK = 2;
     // prompt for parental consent options
     private static final int REQUEST_CHOOSE_OPTIONS = 3;
+    // prompt hand phone back to parent after enrollment
+    private static final int REQUEST_HANDOFF_PARENT = 4;
 
     public static final int RESULT_SKIP = BiometricEnrollBase.RESULT_SKIP;
 
@@ -303,11 +305,8 @@
                     final boolean isStillPrompting = mParentalConsentHelper.launchNext(
                             this, REQUEST_CHOOSE_OPTIONS, resultCode, data);
                     if (!isStillPrompting) {
-                        Log.d(TAG, "Enrollment options set, starting enrollment now");
-
-                        mParentalOptions = mParentalConsentHelper.getConsentResult();
-                        mParentalConsentHelper = null;
-                        startEnroll();
+                        Log.d(TAG, "Enrollment options set, requesting handoff");
+                        launchHandoffToParent();
                     }
                 } else {
                     Log.d(TAG, "Unknown or cancelled parental consent");
@@ -315,6 +314,18 @@
                     finish();
                 }
                 break;
+            case REQUEST_HANDOFF_PARENT:
+                if (resultCode == RESULT_OK) {
+                    Log.d(TAG, "Enrollment options set, starting enrollment");
+                    mParentalOptions = mParentalConsentHelper.getConsentResult();
+                    mParentalConsentHelper = null;
+                    startEnroll();
+                } else {
+                    Log.d(TAG, "Unknown or cancelled handoff");
+                    setResult(RESULT_CANCELED);
+                    finish();
+                }
+                break;
             default:
                 Log.w(TAG, "Unknown consenting requestCode: " + requestCode + ", finishing");
                 finish();
@@ -492,6 +503,11 @@
         mMultiBiometricEnrollHelper.startNextStep();
     }
 
+    private void launchHandoffToParent() {
+        final Intent intent = BiometricUtils.getHandoffToParentIntent(this, getIntent());
+        startActivityForResult(intent, REQUEST_HANDOFF_PARENT);
+    }
+
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY;
diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
new file mode 100644
index 0000000..7f28ced
--- /dev/null
+++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.biometrics;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupdesign.GlifLayout;
+
+/**
+ * Prompts the user to hand the device to their parent or guardian.
+ */
+public class BiometricHandoffActivity extends BiometricEnrollBase {
+
+    @Nullable
+    private FooterButton mPrimaryFooterButton;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.biometric_handoff);
+
+        setHeaderText(R.string.biometric_settings_hand_back_to_guardian);
+
+        final GlifLayout layout = getLayout();
+        mFooterBarMixin = layout.getMixin(FooterBarMixin.class);
+        mFooterBarMixin.setPrimaryButton(getPrimaryFooterButton());
+    }
+
+    @NonNull
+    protected FooterButton getPrimaryFooterButton() {
+        if (mPrimaryFooterButton == null) {
+            mPrimaryFooterButton = new FooterButton.Builder(this)
+                    .setText(R.string.biometric_settings_hand_back_to_guardian_ok)
+                    .setButtonType(FooterButton.ButtonType.NEXT)
+                    .setListener(this::onNextButtonClick)
+                    .setTheme(R.style.SudGlifButton_Primary)
+                    .build();
+        }
+        return mPrimaryFooterButton;
+    }
+
+    @Override
+    protected void onNextButtonClick(View view) {
+        setResult(RESULT_OK);
+        finish();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.BIOMETRIC_CONSENT_PARENT_TO_CHILD;
+    }
+}
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index 03cdb0d..a98c355 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -177,6 +177,19 @@
     }
 
     /**
+     * Start an activity that prompts the user to hand the device to their parent or guardian.
+     * @param context caller's context
+     * @param activityIntent The intent that started the caller's activity
+     * @return Intent for starting BiometricHandoffActivity
+     */
+    public static Intent getHandoffToParentIntent(@NonNull Context context,
+            @NonNull Intent activityIntent) {
+        final Intent intent = new Intent(context, BiometricHandoffActivity.class);
+        WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent);
+        return intent;
+    }
+
+    /**
      * @param activity Reference to the calling activity, used to startActivity
      * @param intent Intent pointing to the enrollment activity
      * @param requestCode If non-zero, will invoke startActivityForResult instead of startActivity
diff --git a/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceController.java
new file mode 100644
index 0000000..7af7e3d
--- /dev/null
+++ b/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceController.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.biometrics.face;
+
+import android.content.Context;
+
+import com.android.settings.Utils;
+
+/**
+ * Preference controller that controls whether unlocking directly to home.
+ */
+public class BiometricLockscreenBypassPreferenceController extends
+        FaceSettingsLockscreenBypassPreferenceController {
+    public BiometricLockscreenBypassPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // When the device supports multiple biometrics auth, this preference will be shown
+        // in face unlock category.
+        if (Utils.isMultipleBiometricsSupported(mContext)) {
+            return AVAILABLE;
+        }
+        return UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index 8e2d3f4..65ab2e7 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -16,20 +16,17 @@
 
 package com.android.settings.biometrics.face;
 
-import android.annotation.StringRes;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.hardware.face.FaceManager;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.accessibility.AccessibilityManager;
 import android.widget.Button;
 import android.widget.CompoundButton;
-import android.widget.TextView;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -41,14 +38,10 @@
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.util.WizardManagerHelper;
-import com.google.android.setupdesign.GlifLayout;
 import com.google.android.setupdesign.view.IllustrationVideoView;
 
 public class FaceEnrollEducation extends BiometricEnrollBase {
-
     private static final String TAG = "FaceEducation";
-    private static final int ON = 1;
-    private static final int OFF = 0;
 
     private FaceManager mFaceManager;
     private FaceEnrollAccessibilityToggle mSwitchDiversity;
@@ -57,28 +50,18 @@
     private IllustrationVideoView mIllustrationDefault;
     private LottieAnimationView mIllustrationLottie;
     private View mIllustrationAccessibility;
-    private Handler mHandler;
     private Intent mResultIntent;
-    private TextView mDescriptionText;
     private boolean mNextClicked;
     private boolean mAccessibilityEnabled;
 
-    private CompoundButton.OnCheckedChangeListener mSwitchDiversityListener =
+    private final CompoundButton.OnCheckedChangeListener mSwitchDiversityListener =
             new CompoundButton.OnCheckedChangeListener() {
                 @Override
                 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                    final int headerRes;
-                    final int descriptionRes;
-                    if (isChecked) {
-                        headerRes = R.string
-                                .security_settings_face_enroll_education_title_accessibility;
-                        descriptionRes = R.string
-                                .security_settings_face_enroll_education_message_accessibility;
-                    } else {
-                        headerRes = R.string.security_settings_face_enroll_education_title;
-                        descriptionRes = R.string.security_settings_face_enroll_education_message;
-                    }
-                    updateHeaders(headerRes, descriptionRes);
+                    final int descriptionRes = isChecked
+                            ? R.string.security_settings_face_enroll_education_message_accessibility
+                            : R.string.security_settings_face_enroll_education_message;
+                    setDescriptionText(descriptionRes);
 
                     if (isChecked) {
                         hideDefaultIllustration();
@@ -95,18 +78,14 @@
         super.onCreate(savedInstanceState);
         setContentView(R.layout.face_enroll_education);
 
-        final int headerRes = R.string.security_settings_face_enroll_education_title;
-        final int descriptionRes = R.string.security_settings_face_enroll_education_message;
-        updateHeaders(headerRes, descriptionRes);
-
-        mHandler = new Handler();
+        setTitle(R.string.security_settings_face_enroll_education_title);
+        setDescriptionText(R.string.security_settings_face_enroll_education_message);
 
         mFaceManager = Utils.getFaceManagerOrNull(this);
 
         mIllustrationDefault = findViewById(R.id.illustration_default);
         mIllustrationLottie = findViewById(R.id.illustration_lottie);
         mIllustrationAccessibility = findViewById(R.id.illustration_accessibility);
-        mDescriptionText = findViewById(R.id.sud_layout_description);
 
         mIsUsingLottie = getResources().getBoolean(R.bool.config_face_education_use_lottie);
         if (mIsUsingLottie) {
@@ -259,15 +238,6 @@
         return SettingsEnums.FACE_ENROLL_INTRO;
     }
 
-    private void updateHeaders(@StringRes int headerRes, @StringRes int descriptionRes) {
-        final CharSequence headerText = getText(headerRes);
-        setTitle(headerText);
-
-        final GlifLayout layout = getLayout();
-        layout.setHeaderText(headerText);
-        layout.setDescriptionText(descriptionRes);
-    }
-
     private void hideDefaultIllustration() {
         if (mIsUsingLottie) {
             mIllustrationLottie.cancelAnimation();
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
index 1f55d82..7a60a94 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollParentalConsent.java
@@ -18,6 +18,7 @@
 
 import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
 
+import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
@@ -29,8 +30,6 @@
 
 /**
  * Displays parental consent information for face authentication.
- *
- * TODO(b/188847063): swap strings for consent screen
  */
 public class FaceEnrollParentalConsent extends FaceEnrollIntroduction {
 
@@ -103,4 +102,9 @@
     protected int getHeaderResDefault() {
         return R.string.security_settings_face_enroll_consent_introduction_title;
     }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.FACE_PARENTAL_CONSENT;
+    }
 }
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java
index 2f0ef4f..c6ef87f9 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceController.java
@@ -83,10 +83,10 @@
 
     @Override
     public int getAvailabilityStatus() {
-        // When the device supports multiple biometrics auth, this preference will be shown
+        // When the device supports multiple biometrics auth, this preference won't be shown
         // in face unlock category.
         if (Utils.isMultipleBiometricsSupported(mContext)) {
-            return AVAILABLE;
+            return UNSUPPORTED_ON_DEVICE;
         }
         if (mUserManager.isManagedProfile(UserHandle.myUserId())) {
             return UNSUPPORTED_ON_DEVICE;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java
index 5d8cf9b..636e703 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollParentalConsent.java
@@ -18,6 +18,7 @@
 
 import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
 
+import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
@@ -29,8 +30,6 @@
 
 /**
  * Displays parental consent information for fingerprint authentication.
- *
- * TODO(b/188847063): swap strings for consent screen
  */
 public class FingerprintEnrollParentalConsent extends FingerprintEnrollIntroduction {
 
@@ -97,4 +96,9 @@
     protected int getHeaderResDefault() {
         return R.string.security_settings_fingerprint_enroll_consent_introduction_title;
     }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.FINGERPRINT_PARENTAL_CONSENT;
+    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
index 416e805..e4d86a1 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
@@ -45,6 +45,8 @@
                 // This message happens when the underlying crypto layer decides to revoke the
                 // enrollment auth token.
                 return R.string.security_settings_fingerprint_enroll_error_timeout_dialog_message;
+            case FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBARTION:
+                return R.string.security_settings_fingerprint_bad_calibration;
             default:
                 // There's nothing specific to tell the user about. Ask them to try again.
                 return R.string.security_settings_fingerprint_enroll_error_generic_dialog_message;
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index 47993cf..fb6b49f 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -17,17 +17,14 @@
 
 import android.annotation.LayoutRes;
 import android.app.ActivityManager;
-import android.app.ActivityOptions;
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.res.TypedArray;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
-import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.Window;
@@ -35,16 +32,16 @@
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.coordinatorlayout.widget.CoordinatorLayout;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
 import com.android.settings.SubSettings;
-import com.android.settings.Utils;
 import com.android.settings.core.CategoryMixin.CategoryHandler;
 import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
-import com.android.settingslib.transition.SettingsTransitionHelper;
 import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;
 
+import com.google.android.material.appbar.AppBarLayout;
 import com.google.android.material.appbar.CollapsingToolbarLayout;
 import com.google.android.material.resources.TextAppearanceConfig;
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -64,6 +61,7 @@
 
     protected CategoryMixin mCategoryMixin;
     protected CollapsingToolbarLayout mCollapsingToolbarLayout;
+    protected AppBarLayout mAppBarLayout;
     private Toolbar mToolbar;
 
     @Override
@@ -73,13 +71,6 @@
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
-        if (Utils.isPageTransitionEnabled(this)) {
-            // Enable Activity transitions
-            getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
-            SettingsTransitionHelper.applyForwardTransition(this);
-            SettingsTransitionHelper.applyBackwardTransition(this);
-        }
-
         super.onCreate(savedInstanceState);
         if (isLockTaskModePinned() && !isSettingsRunOnTop()) {
             Log.w(TAG, "Devices lock task mode pinned.");
@@ -108,6 +99,8 @@
         if (isToolbarEnabled() && !isAnySetupWizard) {
             super.setContentView(R.layout.collapsing_toolbar_base_layout);
             mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);
+            mAppBarLayout = findViewById(R.id.app_bar);
+            disableCollapsingToolbarLayoutScrollingBehavior();
         } else {
             super.setContentView(R.layout.settings_base_layout);
         }
@@ -141,27 +134,9 @@
     }
 
     @Override
-    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
-        final int id = item.getItemId();
-        if (id == android.R.id.home) {
-            // Make the up button behave the same as the back button.
-            finishAfterTransition();
-            return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-    @Override
     public void startActivityForResult(Intent intent, int requestCode,
             @androidx.annotation.Nullable Bundle options) {
         final int transitionType = getTransitionType(intent);
-        if (Utils.isPageTransitionEnabled(this) &&
-                transitionType == TransitionType.TRANSITION_SHARED_AXIS) {
-            super.startActivityForResult(intent, requestCode,
-                    createActivityOptionsBundleForTransition(options));
-            return;
-        }
-
         super.startActivityForResult(intent, requestCode, options);
         if (transitionType == TransitionType.TRANSITION_SLIDE) {
             overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
@@ -171,18 +146,6 @@
     }
 
     @Override
-    public void startActivityForResultAsUser(Intent intent, int requestCode,
-            UserHandle userHandle) {
-        if (!Utils.isPageTransitionEnabled(this) || requestCode == DEFAULT_REQUEST) {
-            super.startActivityForResultAsUser(intent, requestCode, userHandle);
-            return;
-        }
-        super.startActivityForResultAsUser(intent, requestCode,
-                createActivityOptionsBundleForTransition(null),
-                userHandle);
-    }
-
-    @Override
     protected void onPause() {
         // For accessibility activities launched from setup wizard.
         if (getTransitionType(getIntent()) == TransitionType.TRANSITION_FADE) {
@@ -274,26 +237,21 @@
         return false;
     }
 
+    private void disableCollapsingToolbarLayoutScrollingBehavior() {
+        final CoordinatorLayout.LayoutParams params =
+                (CoordinatorLayout.LayoutParams) mAppBarLayout.getLayoutParams();
+        final AppBarLayout.Behavior behavior = new AppBarLayout.Behavior();
+        behavior.setDragCallback(
+                new AppBarLayout.Behavior.DragCallback() {
+                    @Override
+                    public boolean canDrag(@NonNull AppBarLayout appBarLayout) {
+                        return false;
+                    }
+                });
+        params.setBehavior(behavior);
+    }
+
     private int getTransitionType(Intent intent) {
-        return intent.getIntExtra(EXTRA_PAGE_TRANSITION_TYPE,
-                SettingsTransitionHelper.TransitionType.TRANSITION_SHARED_AXIS);
+        return intent.getIntExtra(EXTRA_PAGE_TRANSITION_TYPE, TransitionType.TRANSITION_NONE);
     }
-
-    @Nullable
-    private Bundle createActivityOptionsBundleForTransition(
-            @androidx.annotation.Nullable Bundle options) {
-        if (mToolbar == null) {
-            Log.w(TAG, "setActionBar(Toolbar) is not called. Cannot apply settings transition!");
-            return options;
-        }
-        final Bundle transitionOptions = ActivityOptions.makeSceneTransitionAnimation(this,
-                mToolbar, "shared_element_view").toBundle();
-        if (options == null) {
-            return transitionOptions;
-        }
-        final Bundle mergedOptions = new Bundle(options);
-        mergedOptions.putAll(transitionOptions);
-        return mergedOptions;
-    }
-
 }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index 1e25179..95f74fa 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -38,7 +38,6 @@
 import android.telephony.CellBroadcastService;
 import android.telephony.CellSignalStrength;
 import android.telephony.ICellBroadcastService;
-import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionInfo;
@@ -245,6 +244,8 @@
     private void updateSubscriptionStatus() {
         updateNetworkProvider();
 
+        // getServiceState() may return null when the subscription is inactive
+        // or when there was an error communicating with the phone process.
         final ServiceState serviceState = mTelephonyManager.getServiceState();
         final SignalStrength signalStrength = mTelephonyManager.getSignalStrength();
 
@@ -577,7 +578,10 @@
     }
 
     private void updateRoamingStatus(ServiceState serviceState) {
-        if (serviceState.getRoaming()) {
+        // If the serviceState is null, we assume that roaming is disabled.
+        if (serviceState == null) {
+            mDialog.setText(ROAMING_INFO_VALUE_ID, mRes.getString(R.string.radioInfo_unknown));
+        } else if (serviceState.getRoaming()) {
             mDialog.setText(ROAMING_INFO_VALUE_ID, mRes.getString(R.string.radioInfo_roaming_in));
         } else {
             mDialog.setText(ROAMING_INFO_VALUE_ID, mRes.getString(R.string.radioInfo_roaming_not));
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index 35f9c72..b21c6ac 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -139,13 +139,17 @@
     }
 
     public static int isControllerAvailable(Context context) {
-        return context.getResources().getBoolean(
-                com.android.internal.R.bool.config_adaptive_sleep_available)
-                && isAttentionServiceAvailable(context)
+        return isAdaptiveSleepSupported(context)
                 ? AVAILABLE_UNSEARCHABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
 
+    static boolean isAdaptiveSleepSupported(Context context) {
+        return context.getResources().getBoolean(
+                com.android.internal.R.bool.config_adaptive_sleep_available)
+                && isAttentionServiceAvailable(context);
+    }
+
     private static boolean isAttentionServiceAvailable(Context context) {
         final PackageManager packageManager = context.getPackageManager();
         final String resolvePackage = packageManager.getAttentionServicePackageName();
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
index 66f5ed3..18d1049 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -314,8 +314,7 @@
     }
 
     private static boolean isScreenAttentionAvailable(Context context) {
-        return context.getResources().getBoolean(
-                com.android.internal.R.bool.config_adaptive_sleep_available);
+        return AdaptiveSleepPreferenceController.isAdaptiveSleepSupported(context);
     }
 
     private static class TimeoutCandidateInfo extends CandidateInfo {
diff --git a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
index a6269bf..29872ac 100644
--- a/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryAppListPreferenceController.java
@@ -359,9 +359,7 @@
                 componentId < BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
                         + deviceConsumer.getCustomPowerComponentCount();
                 componentId++) {
-            if (!showAllApps
-                    && mBatteryUtils.shouldHideCustomDevicePowerComponent(deviceConsumer,
-                    componentId)) {
+            if (!showAllApps) {
                 continue;
             }
 
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 52a4629..d521ed1 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -81,8 +81,6 @@
 
     private static final String TAG = "BatteryUtils";
 
-    private static final double MIN_POWER_THRESHOLD_MILLI_AMP_HOURS = 0.002;
-
     private static BatteryUtils sInstance;
     private PackageManager mPackageManager;
 
@@ -180,8 +178,7 @@
      * battery consumption list.
      */
     public boolean shouldHideUidBatteryConsumer(UidBatteryConsumer consumer, String[] packages) {
-        return consumer.getConsumedPower() < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS
-                || mPowerUsageFeatureProvider.isTypeSystem(consumer.getUid(), packages)
+        return mPowerUsageFeatureProvider.isTypeSystem(consumer.getUid(), packages)
                 || shouldHideUidBatteryConsumerUnconditionally(consumer, packages);
     }
 
@@ -208,22 +205,11 @@
             case BatteryConsumer.POWER_COMPONENT_WIFI:
                 return true;
             default:
-                return consumer.getConsumedPower(powerComponentId)
-                        < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS;
+                return false;
         }
     }
 
     /**
-     * Returns true if the specified device custom power component should be excluded from the
-     * summary battery consumption list.
-     */
-    public boolean shouldHideCustomDevicePowerComponent(BatteryConsumer consumer,
-            int customPowerComponentId) {
-        return consumer.getConsumedPowerForCustomComponent(customPowerComponentId)
-                < MIN_POWER_THRESHOLD_MILLI_AMP_HOURS;
-    }
-
-    /**
      * Returns true if one the specified packages belongs to a hidden system module.
      */
     public boolean isHiddenSystemModule(String[] packages) {
diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
index 14e8267..dd27073 100644
--- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java
+++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
@@ -259,6 +259,10 @@
         return mLocalMediaManager.shouldDisableMediaOutput(packageName);
     }
 
+    boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) {
+        return mLocalMediaManager.shouldEnableVolumeSeekBar(sessionInfo);
+    }
+
     private class DevicesChangedBroadcastReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
index e69c005..3d81c44 100644
--- a/src/com/android/settings/media/RemoteMediaSlice.java
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -126,6 +126,12 @@
                         + maxVolume);
                 continue;
             }
+            if (!getWorker().shouldEnableVolumeSeekBar(info)) {
+                // There is no disable state. We hide it directly.
+                Log.d(TAG, "Unable to add Slice. " + info.getName() + ": This is a group session");
+                continue;
+            }
+
             final CharSequence appName = Utils.getApplicationLabel(
                     mContext, info.getClientPackageName());
             final CharSequence outputTitle = mContext.getString(R.string.media_output_label_title,
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 122b975..6839037 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -35,11 +35,12 @@
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnDestroy;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
 public class AirplaneModePreferenceController extends TogglePreferenceController
-        implements LifecycleObserver, OnStart, OnStop,
+        implements LifecycleObserver, OnStart, OnStop, OnDestroy,
         AirplaneModeEnabler.OnAirplaneModeChangedListener {
 
     public static final int REQUEST_CODE_EXIT_ECM = 1;
@@ -133,6 +134,12 @@
         }
     }
 
+    @Override
+    public void onDestroy() {
+        mAirplaneModeEnabler.close();
+    }
+
+
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CODE_EXIT_ECM) {
             final boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false);
diff --git a/src/com/android/settings/network/InternetUpdater.java b/src/com/android/settings/network/InternetUpdater.java
index cb8d32c..3d97e95 100644
--- a/src/com/android/settings/network/InternetUpdater.java
+++ b/src/com/android/settings/network/InternetUpdater.java
@@ -33,6 +33,7 @@
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.Network;
 import android.net.NetworkCapabilities;
+import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.util.Log;
 
@@ -249,6 +250,9 @@
         @InternetType int internetType = INTERNET_NETWORKS_AVAILABLE;
         if (mInternetAvailable) {
             internetType = sTransportMap.get(mTransport);
+            if (internetType == INTERNET_WIFI && isCarrierWifiActive()) {
+                internetType = INTERNET_CELLULAR;
+            }
         } else if (mAirplaneModeEnabler.isAirplaneModeOn()
                 && mWifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
             internetType = INTERNET_OFF;
@@ -260,6 +264,15 @@
         }
     }
 
+    protected boolean isCarrierWifiActive() {
+        final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+        if (wifiInfo == null || !wifiInfo.isCarrierMerged()) {
+            return false;
+        }
+        Log.i(TAG, "Detect a merged carrier Wi-Fi connected.");
+        return true;
+    }
+
     /**
      * Get the internet type.
      */
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index 25cf4ce..88e732a 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -116,6 +116,7 @@
     static final int MENU_ID_FORGET = Menu.FIRST + 3;
     static final int MENU_ID_MODIFY = Menu.FIRST + 4;
     static final int MENU_FIX_CONNECTIVITY = Menu.FIRST + 5;
+    static final int MENU_ID_SHARE = Menu.FIRST + 6;
 
     @VisibleForTesting
     static final int ADD_NETWORK_REQUEST = 2;
@@ -200,7 +201,7 @@
      * ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed
      * by the Test DPC tool in AFW mode.
      */
-    private boolean mIsRestricted;
+    protected boolean mIsRestricted;
 
     @VisibleForTesting
     AirplaneModeEnabler mAirplaneModeEnabler;
@@ -218,7 +219,8 @@
     PreferenceCategory mConnectedWifiEntryPreferenceCategory;
     @VisibleForTesting
     PreferenceCategory mFirstWifiEntryPreferenceCategory;
-    private PreferenceCategory mWifiEntryPreferenceCategory;
+    @VisibleForTesting
+    PreferenceCategory mWifiEntryPreferenceCategory;
     @VisibleForTesting
     AddWifiNetworkPreference mAddWifiNetworkPreference;
     private WifiSwitchPreferenceController mWifiSwitchPreferenceController;
@@ -459,6 +461,12 @@
     }
 
     @Override
+    public void onDestroy() {
+        mAirplaneModeEnabler.close();
+        super.onDestroy();
+    }
+
+    @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
 
@@ -535,7 +543,8 @@
         }
 
         if (mSelectedWifiEntry.canDisconnect()) {
-            menu.add(Menu.NONE, MENU_ID_DISCONNECT, 0 /* order */,
+            menu.add(Menu.NONE, MENU_ID_SHARE, 0 /* order */, R.string.share);
+            menu.add(Menu.NONE, MENU_ID_DISCONNECT, 1 /* order */,
                     R.string.wifi_disconnect_button_text);
         }
 
@@ -574,6 +583,10 @@
             case MENU_ID_FORGET:
                 forget(mSelectedWifiEntry);
                 return true;
+            case MENU_ID_SHARE:
+                WifiDppUtils.showLockScreen(getContext(),
+                        () -> launchWifiDppConfiguratorActivity(mSelectedWifiEntry));
+                return true;
             case MENU_ID_MODIFY:
                 showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
                 return true;
@@ -608,6 +621,23 @@
         return true;
     }
 
+    private void launchWifiDppConfiguratorActivity(WifiEntry wifiEntry) {
+        final Intent intent = WifiDppUtils.getConfiguratorQrCodeGeneratorIntentOrNull(getContext(),
+                mWifiManager, wifiEntry);
+
+        if (intent == null) {
+            Log.e(TAG, "Launch Wi-Fi DPP QR code generator with a wrong Wi-Fi network!");
+        } else {
+            mMetricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
+                    SettingsEnums.ACTION_SETTINGS_SHARE_WIFI_QR_CODE,
+                    SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR,
+                    /* key */ null,
+                    /* value */ Integer.MIN_VALUE);
+
+            startActivity(intent);
+        }
+    }
+
     private void showDialog(WifiEntry wifiEntry, int dialogMode) {
         if (WifiUtils.isNetworkLockedDown(getActivity(), wifiEntry.getWifiConfiguration())
                 && wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
@@ -771,7 +801,11 @@
         }
     }
 
-    private void updateWifiEntryPreferences() {
+    protected void updateWifiEntryPreferences() {
+        // bypass the update if the activity and the view are not ready, or it's restricted UI.
+        if (getActivity() == null || getView() == null || mIsRestricted) {
+            return;
+        }
         // in case state has changed
         if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
             return;
diff --git a/src/com/android/settings/network/ProviderModelSlice.java b/src/com/android/settings/network/ProviderModelSlice.java
index aafe715..df705cd 100644
--- a/src/com/android/settings/network/ProviderModelSlice.java
+++ b/src/com/android/settings/network/ProviderModelSlice.java
@@ -16,10 +16,10 @@
 
 package com.android.settings.network;
 
-
 import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
 
 import static com.android.settings.slices.CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI;
+import static com.android.settings.slices.CustomSliceRegistry.WIFI_SLICE_URI;
 
 import android.annotation.ColorInt;
 import android.app.AlertDialog;
@@ -96,78 +96,77 @@
     @Override
     public Slice getSlice() {
         // The provider model slice step:
-        // First section:  Add a Wi-Fi item which state is connected.
-        // Second section:  Add a carrier item.
-        // Third section:  Add the Wi-Fi items which are not connected.
-        // Fourth section:  If device has connection problem, this row show the message for user.
-        @InternetUpdater.InternetType int internetType = getInternetType();
+        //  First section: Add the Ethernet item.
+        // Second section: Add the carrier item.
+        //  Third section: Add the Wi-Fi toggle item.
+        // Fourth section: Add the connected Wi-Fi item.
+        //  Fifth section: Add the Wi-Fi items which are not connected.
+        //  Sixth section: Add the See All item.
         final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
-        if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()
-                && internetType != InternetUpdater.INTERNET_ETHERNET) {
-            log("Airplane mode is enabled.");
-            return listBuilder.build();
-        }
-
         int maxListSize = 0;
-        List<WifiSliceItem> wifiList = null;
         final NetworkProviderWorker worker = getWorker();
         if (worker != null) {
-            // get Wi-Fi list.
-            wifiList = worker.getResults();
             maxListSize = worker.getApRowCount();
         } else {
             log("network provider worker is null.");
         }
 
-        final boolean hasCarrier = mHelper.hasCarrier();
-        log("hasCarrier: " + hasCarrier);
-
-        // First section:  Add a Ethernet or Wi-Fi item which state is connected.
-        boolean isConnectedWifiAddedTop = false;
-        final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
-        if (internetType == InternetUpdater.INTERNET_ETHERNET) {
+        // First section: Add the Ethernet item.
+        if (getInternetType() == InternetUpdater.INTERNET_ETHERNET) {
             log("get Ethernet item which is connected");
             listBuilder.addRow(createEthernetRow());
             maxListSize--;
-        } else {
-            if (connectedWifiItem != null && internetType == InternetUpdater.INTERNET_WIFI) {
-                log("get Wi-Fi item which is connected to internet");
-                listBuilder.addRow(getWifiSliceItemRow(connectedWifiItem));
-                isConnectedWifiAddedTop = true;
+        }
+
+        // Second section: Add the carrier item.
+        if (!mHelper.isAirplaneModeEnabled()) {
+            final boolean hasCarrier = mHelper.hasCarrier();
+            log("hasCarrier: " + hasCarrier);
+            if (hasCarrier) {
+                mHelper.updateTelephony();
+                listBuilder.addRow(
+                        mHelper.createCarrierRow(
+                                worker != null ? worker.getNetworkTypeDescription() : ""));
                 maxListSize--;
             }
         }
 
-        // Second section:  Add a carrier item.
-        if (hasCarrier) {
-            mHelper.updateTelephony();
-            listBuilder.addRow(
-                    mHelper.createCarrierRow(
-                            worker != null ? worker.getNetworkTypeDescription() : ""));
-            maxListSize--;
+        // Third section: Add the Wi-Fi toggle item.
+        final boolean isWifiEnabled = mWifiManager.isWifiEnabled();
+        listBuilder.addRow(createWifiToggleRow(mContext, isWifiEnabled));
+        maxListSize--;
+        if (!isWifiEnabled) {
+            log("Wi-Fi is disabled");
+            return listBuilder.build();
+        }
+        List<WifiSliceItem> wifiList = (worker != null) ? worker.getResults() : null;
+        if (wifiList == null || wifiList.size() <= 0) {
+            log("Wi-Fi list is empty");
+            return listBuilder.build();
         }
 
-        // Third section:  Add the connected Wi-Fi item to Wi-Fi list if the Ethernet is connected.
-        if (connectedWifiItem != null && !isConnectedWifiAddedTop) {
+        // Fourth section: Add the connected Wi-Fi item.
+        final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
+        if (connectedWifiItem != null) {
             log("get Wi-Fi item which is connected");
             listBuilder.addRow(getWifiSliceItemRow(connectedWifiItem));
             maxListSize--;
         }
 
-        // Fourth section:  Add the Wi-Fi items which are not connected.
-        if (wifiList != null && wifiList.size() > 0) {
-            log("get Wi-Fi items which are not connected. Wi-Fi items : " + wifiList.size());
-
-            final List<WifiSliceItem> disconnectedWifiList = wifiList.stream()
-                    .filter(wifiSliceItem -> wifiSliceItem.getConnectedState()
-                            != WifiEntry.CONNECTED_STATE_CONNECTED)
-                    .limit(maxListSize - 1)
-                    .collect(Collectors.toList());
-            for (WifiSliceItem item : disconnectedWifiList) {
-                listBuilder.addRow(getWifiSliceItemRow(item));
-            }
-            listBuilder.addRow(getSeeAllRow());
+        // Fifth section: Add the Wi-Fi items which are not connected.
+        log("get Wi-Fi items which are not connected. Wi-Fi items : " + wifiList.size());
+        final List<WifiSliceItem> disconnectedWifiList = wifiList.stream()
+                .filter(item -> item.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED)
+                .limit(maxListSize - 1)
+                .collect(Collectors.toList());
+        for (WifiSliceItem item : disconnectedWifiList) {
+            listBuilder.addRow(getWifiSliceItemRow(item));
         }
+
+        // Sixth section: Add the See All item.
+        log("add See-All");
+        listBuilder.addRow(getSeeAllRow());
+
         return listBuilder.build();
     }
 
@@ -324,6 +323,26 @@
                 .setSubtitle(mContext.getText(R.string.to_switch_networks_disconnect_ethernet));
     }
 
+    /**
+     * @return a {@link ListBuilder.RowBuilder} of the Wi-Fi toggle.
+     */
+    protected ListBuilder.RowBuilder createWifiToggleRow(Context context, boolean isWifiEnabled) {
+        final Intent intent = new Intent(WIFI_SLICE_URI.toString())
+                .setData(WIFI_SLICE_URI)
+                .setClass(context, SliceBroadcastReceiver.class)
+                .putExtra(EXTRA_TOGGLE_STATE, !isWifiEnabled)
+                // The FLAG_RECEIVER_FOREGROUND flag is necessary to avoid the intent delay of
+                // the first sending after the device restarts
+                .addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+        final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent,
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+        final SliceAction toggleSliceAction = SliceAction.createToggle(pendingIntent,
+                null /* actionTitle */, isWifiEnabled);
+        return new ListBuilder.RowBuilder()
+                .setTitle(context.getString(R.string.wifi_settings))
+                .setPrimaryAction(toggleSliceAction);
+    }
+
     protected ListBuilder.RowBuilder getSeeAllRow() {
         final CharSequence title = mContext.getText(R.string.previous_connected_see_all);
         final IconCompat icon = getSeeAllIcon();
diff --git a/src/com/android/settings/network/telephony/NetworkProviderWorker.java b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
index 675d60f..a6b438a 100644
--- a/src/com/android/settings/network/telephony/NetworkProviderWorker.java
+++ b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
@@ -54,7 +54,7 @@
         DataConnectivityListener.Client, InternetUpdater.InternetChangeListener,
         SubscriptionsChangeListener.SubscriptionsChangeListenerClient {
     private static final String TAG = "NetworkProviderWorker";
-    private static final int PROVIDER_MODEL_DEFAULT_EXPANDED_ROW_COUNT = 5;
+    private static final int PROVIDER_MODEL_DEFAULT_EXPANDED_ROW_COUNT = 6;
     private DataContentObserver mMobileDataObserver;
     private SignalStrengthListener mSignalStrengthListener;
     private SubscriptionsChangeListener mSubscriptionsListener;
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index 146b575..0064e6c 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -30,14 +30,12 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.SidecarFragment;
-import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.network.EnableMultiSimSidecar;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.network.SwitchToEuiccSubscriptionSidecar;
 import com.android.settings.network.SwitchToRemovableSlotSidecar;
 import com.android.settings.network.UiccSlotUtil;
 import com.android.settings.sim.SimActivationNotifier;
-import com.android.settingslib.transition.SettingsTransitionHelper;
 
 import com.google.common.collect.ImmutableList;
 
@@ -70,9 +68,6 @@
         Intent intent = new Intent(context, ToggleSubscriptionDialogActivity.class);
         intent.putExtra(ARG_SUB_ID, subId);
         intent.putExtra(ARG_enable, enable);
-        // suppress page transition as this is a dialog
-        intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
-                SettingsTransitionHelper.TransitionType.TRANSITION_NONE);
         return intent;
     }
 
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
index dd6f516..3d8d261 100644
--- a/src/com/android/settings/notification/RemoteVolumeGroupController.java
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -129,6 +129,7 @@
                 seekBarPreference.setMin(0);
                 seekBarPreference.setOnPreferenceChangeListener(this);
                 seekBarPreference.setIcon(R.drawable.ic_volume_remote);
+                seekBarPreference.setEnabled(mLocalMediaManager.shouldEnableVolumeSeekBar(info));
                 mPreferenceCategory.addPreference(seekBarPreference);
             }
 
diff --git a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
index 0e89be3..dd44a13 100644
--- a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
+++ b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
@@ -33,6 +33,7 @@
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.widget.AppPreference;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -144,7 +145,7 @@
     }
 
     protected Preference createConversationPref(final ConversationChannelWrapper conversation) {
-        Preference pref = new Preference(mContext);
+        AppPreference pref = new AppPreference(mContext);
         populateConversationPreference(conversation, pref);
         return pref;
     }
diff --git a/src/com/android/settings/notification/app/ConversationListPreferenceController.java b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
index 2500a22..b609a9a 100644
--- a/src/com/android/settings/notification/app/ConversationListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
@@ -18,7 +18,6 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.ShortcutInfo;
 import android.os.Bundle;
 import android.os.UserHandle;
@@ -34,6 +33,7 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.AppPreference;
 
 import java.text.Collator;
 import java.util.Comparator;
@@ -96,7 +96,7 @@
 
     protected Preference createConversationPref(final ConversationChannelWrapper conversation,
             int order) {
-        Preference pref = new Preference(mContext);
+        AppPreference pref = new AppPreference(mContext);
         pref.setOrder(order);
 
         pref.setTitle(getTitle(conversation));
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
index 58f80fc..cfdc9eb 100644
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ b/src/com/android/settings/overlay/FeatureFactory.java
@@ -23,6 +23,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.applications.GameSettingsFeatureProvider;
@@ -174,6 +175,11 @@
      */
     public abstract GameSettingsFeatureProvider getGameSettingsFeatureProvider();
 
+    /**
+     * Retrieve implementation for Accessibility search index feature.
+     */
+    public abstract AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider();
+
     public static final class FactoryNotFoundException extends RuntimeException {
         public FactoryNotFoundException(Throwable throwable) {
             super("Unable to create factory. Did you misconfigure Proguard?", throwable);
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index 13b7b60..9890a10 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -25,6 +25,8 @@
 
 import androidx.annotation.Keep;
 
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
+import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.accounts.AccountFeatureProviderImpl;
 import com.android.settings.applications.ApplicationFeatureProvider;
@@ -106,6 +108,7 @@
     private ExtraAppInfoFeatureProvider mExtraAppInfoFeatureProvider;
     private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider;
     private GameSettingsFeatureProvider mGameSettingsFeatureProvider;
+    private AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
 
     @Override
     public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -335,4 +338,12 @@
         }
         return mGameSettingsFeatureProvider;
     }
+
+    @Override
+    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
+        if (mAccessibilitySearchFeatureProvider == null) {
+            mAccessibilitySearchFeatureProvider = new AccessibilitySearchFeatureProviderImpl();
+        }
+        return mAccessibilitySearchFeatureProvider;
+    }
 }
diff --git a/src/com/android/settings/panel/InternetConnectivityPanel.java b/src/com/android/settings/panel/InternetConnectivityPanel.java
index 0fa1e46..ae6f2e0 100644
--- a/src/com/android/settings/panel/InternetConnectivityPanel.java
+++ b/src/com/android/settings/panel/InternetConnectivityPanel.java
@@ -30,6 +30,7 @@
 import android.os.Handler;
 import android.os.HandlerExecutor;
 import android.os.Looper;
+import android.provider.Settings;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
@@ -38,7 +39,6 @@
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 
@@ -235,24 +235,15 @@
 
     @Override
     public Intent getSeeMoreIntent() {
-        return null;
-    }
+        // Disable the see more button for provider model design.
+        if (mIsProviderModelEnabled) {
+            return null;
+        }
 
-    @Override
-    public boolean isCustomizedButtonUsed() {
-        return mIsProviderModelEnabled;
-    }
-
-    @Override
-    public CharSequence getCustomizedButtonTitle() {
-        return mContext.getText(
-                mInternetUpdater.isWifiEnabled() ? R.string.turn_off_wifi : R.string.turn_on_wifi);
-    }
-
-    @Override
-    public void onClickCustomizedButton(FragmentActivity panelActivity) {
-        // Don't finish the panel activity
-        mWifiManager.setWifiEnabled(!mInternetUpdater.isWifiEnabled());
+        // Don't remove the see more intent for non-provider model design. This intent will be
+        // used when isCustomizedButtonUsed() returns false.
+        return new Intent(Settings.ACTION_WIRELESS_SETTINGS)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     }
 
     @Override
@@ -316,7 +307,6 @@
         }
         updateSubtitleText();
         mCallback.onHeaderChanged();
-        mCallback.onCustomizedButtonStateChanged();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 53898a6..b60b427 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.password;
 
+import static android.view.View.ACCESSIBILITY_LIVE_REGION_POLITE;
+
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID;
 
@@ -496,6 +498,7 @@
                     R.layout.choose_lock_pattern, container, false);
             updateActivityTitle();
             layout.setHeaderText(getActivity().getTitle());
+            layout.getHeaderTextView().setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_POLITE);
             if (getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
                 View iconView = layout.findViewById(R.id.sud_layout_icon);
                 if (iconView != null) {
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index 15a90e3..3261b81 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -23,7 +23,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.UserHandle;
@@ -43,6 +42,7 @@
 import com.android.settings.utils.SettingsDividerItemDecoration;
 
 import com.google.android.setupdesign.GlifPreferenceLayout;
+import com.google.android.setupdesign.util.ThemeHelper;
 
 /**
  * Setup Wizard's version of ChooseLockGeneric screen. It inherits the logic and basic structure
@@ -67,13 +67,9 @@
     }
 
     @Override
-    protected void onApplyThemeResource(Resources.Theme theme, int resid, boolean first) {
-        final int new_resid = SetupWizardUtils.getTheme(this, getIntent());
-        super.onApplyThemeResource(theme, new_resid, first);
-    }
-
-    @Override
     protected void onCreate(Bundle savedInstance) {
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+        ThemeHelper.trySetDynamicColor(this);
         super.onCreate(savedInstance);
 
         if(getIntent().hasExtra(EXTRA_KEY_REQUESTED_MIN_COMPLEXITY)) {
@@ -92,6 +88,12 @@
         findViewById(R.id.content_parent).setFitsSystemWindows(false);
     }
 
+    @Override
+    protected boolean isToolbarEnabled() {
+        // Hide the action bar from this page.
+        return false;
+    }
+
     public static class SetupChooseLockGenericFragment extends ChooseLockGenericFragment {
 
         public static final String EXTRA_PASSWORD_QUALITY = ":settings:password_quality";
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..33c5762
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_2BUTTON;
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link AccessibilityButtonFooterPreferenceController}. */
+@RunWith(RobolectricTestRunner.class)
+public class AccessibilityButtonFooterPreferenceControllerTest {
+
+    @Rule
+    public final MockitoRule mockito = MockitoJUnit.rule();
+
+    @Spy
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    @Spy
+    private final Resources mResources = mContext.getResources();
+    private AccessibilityButtonFooterPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mController = new AccessibilityButtonFooterPreferenceController(mContext,
+                "test_key");
+        when(mContext.getResources()).thenReturn(mResources);
+    }
+
+    @Test
+    public void getSummary_navigationGestureEnabled_shouldReturnButtonAndGestureSummary() {
+        when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
+                    .thenReturn(NAV_BAR_MODE_GESTURAL);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.accessibility_button_gesture_description));
+    }
+
+    @Test
+    public void getSummary_navigationGestureDisabled_shouldReturnButtonSummary() {
+        when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
+                .thenReturn(NAV_BAR_MODE_2BUTTON);
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.accessibility_button_description));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 8c9d6b6..0dcecf7 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -56,6 +56,7 @@
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -77,12 +78,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
+/** Test for {@link AccessibilitySettings}. */
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilitySettingsTest {
     private static final String PACKAGE_NAME = "com.android.test";
     private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
-    private static final ComponentName COMPONENT_NAME = new ComponentName(PACKAGE_NAME,
-            CLASS_NAME);
+    private static final ComponentName COMPONENT_NAME = new ComponentName(PACKAGE_NAME, CLASS_NAME);
     private static final int ON = 1;
     private static final int OFF = 0;
     private static final String EMPTY_STRING = "";
@@ -133,6 +134,14 @@
     }
 
     @Test
+    public void getRawDataToIndex_isNull() {
+        final List<SearchIndexableRaw> indexableRawList =
+                AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
+
+        assertThat(indexableRawList).isNull();
+    }
+
+    @Test
     @Config(shadows = {ShadowDeviceConfig.class})
     public void isRampingRingerEnabled_settingsFlagOn_Enabled() {
         Settings.Global.putInt(
@@ -362,7 +371,7 @@
         try {
             final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
                     mContext);
-            info.setComponentName(new ComponentName(PACKAGE_NAME, CLASS_NAME));
+            info.setComponentName(new ComponentName(packageName, className));
             return info;
         } catch (XmlPullParserException | IOException e) {
             // Do nothing
diff --git a/tests/robotests/src/com/android/settings/accessibility/AnimatedImagePreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/AnimatedImagePreferenceTest.java
index 4bce0bb..c7e5b13 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AnimatedImagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AnimatedImagePreferenceTest.java
@@ -32,8 +32,7 @@
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.AnimationDrawable;
 import android.net.Uri;
-import android.view.LayoutInflater;
-import android.view.View;
+import android.view.ViewGroup;
 import android.widget.ImageView;
 
 import androidx.preference.PreferenceViewHolder;
@@ -45,6 +44,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
 import org.robolectric.RobolectricTestRunner;
@@ -57,10 +57,12 @@
 public class AnimatedImagePreferenceTest {
     private final Context mContext = RuntimeEnvironment.application;
     private Uri mImageUri;
-    private View mRootView;
     private PreferenceViewHolder mViewHolder;
     private AnimatedImagePreference mAnimatedImagePreference;
 
+    @Mock
+    private ViewGroup mRootView;
+
     @Spy
     private ImageView mImageView;
 
@@ -68,9 +70,8 @@
     public void init() {
         MockitoAnnotations.initMocks(this);
 
-        final LayoutInflater inflater = LayoutInflater.from(mContext);
-        mRootView = spy(inflater.inflate(R.layout.preference_animated_image, /* root= */ null));
         mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(mRootView));
+        doReturn(new LottieAnimationView(mContext)).when(mRootView).findViewById(R.id.lottie_view);
         mImageView = spy(new ImageView(mContext));
 
         mAnimatedImagePreference = new AnimatedImagePreference(mContext);
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceControllerTest.java
new file mode 100644
index 0000000..3fbaa6b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/face/BiometricLockscreenBypassPreferenceControllerTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.biometrics.face;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUtils.class})
+public class BiometricLockscreenBypassPreferenceControllerTest {
+
+    private Context mContext;
+    private BiometricLockscreenBypassPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mController = spy(new BiometricLockscreenBypassPreferenceController(mContext, "test_key"));
+    }
+
+    @After
+    public void tearDown() {
+        ShadowUtils.reset();
+    }
+
+    @Test
+    public void isAvailable_multipleBiometricsSupported_shouldReturnAvailable() {
+        ShadowUtils.setIsMultipleBiometricsSupported(true);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
index df4678e..b9692cf 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsLockscreenBypassPreferenceControllerTest.java
@@ -31,9 +31,11 @@
 import android.os.UserManager;
 import android.provider.Settings;
 
+import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedSwitchPreference;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,9 +43,11 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUtils.class})
 public class FaceSettingsLockscreenBypassPreferenceControllerTest {
 
     @Mock
@@ -69,7 +73,11 @@
                 "test_key"));
         ReflectionHelpers.setField(mController, "mFaceManager", mFaceManager);
         ReflectionHelpers.setField(mController, "mUserManager", mUserManager);
+    }
 
+    @After
+    public void tearDown() {
+        ShadowUtils.reset();
     }
 
     @Test
@@ -87,6 +95,13 @@
     }
 
     @Test
+    public void isAvailable_multipleBiometricsSupported_shouldReturnUnsupported() {
+        ShadowUtils.setIsMultipleBiometricsSupported(true);
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
     public void onPreferenceChange_settingIsUpdated() {
         boolean defaultValue = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_faceAuthDismissesKeyguard);
diff --git a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
index 2a0d3df..b68bcec 100644
--- a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
+++ b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
@@ -28,14 +28,12 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
 import android.os.UserHandle;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.transition.SettingsTransitionHelper;
 
@@ -45,7 +43,6 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.annotation.Config;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
diff --git a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
index abb616a..41e4429 100644
--- a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
@@ -22,16 +22,24 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.app.admin.DevicePolicyManager;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
@@ -80,6 +88,9 @@
     @Mock
     Preference mDisableOptionsPreference;
 
+    @Mock
+    private PackageManager mPackageManager;
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -90,6 +101,15 @@
         mContentResolver = mContext.getContentResolver();
         mResources = spy(mContext.getResources());
 
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package");
+        when(mPackageManager.checkPermission(any(), any())).thenReturn(
+                PackageManager.PERMISSION_GRANTED);
+        final ResolveInfo attentionServiceResolveInfo = new ResolveInfo();
+        attentionServiceResolveInfo.serviceInfo = new ServiceInfo();
+        when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn(
+                attentionServiceResolveInfo);
+
         doReturn(TIMEOUT_ENTRIES).when(mResources).getStringArray(R.array.screen_timeout_entries);
         doReturn(TIMEOUT_VALUES).when(mResources).getStringArray(R.array.screen_timeout_entries);
         doReturn(true).when(mResources).getBoolean(
@@ -148,6 +168,13 @@
     }
 
     @Test
+    public void updateCandidates_AttentionServiceNotInstalled_doNoShowAdaptiveSleepPreference() {
+        when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn(null);
+
+        verify(mSettings.mAdaptiveSleepController, never()).addToScreen(mPreferenceScreen);
+    }
+
+    @Test
     public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() {
         mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin();
         mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 1259cdd..5a110a5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -246,17 +246,7 @@
     }
 
     @Test
-    public void testShouldHideSystemConsumer_LowPower_ReturnTrue() {
-        when(mAggregateBatteryConsumer.getConsumedPower(
-                BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).thenReturn(0.0005);
-        assertThat(mBatteryUtils.shouldHideDevicePowerComponent(mAggregateBatteryConsumer,
-                BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).isTrue();
-    }
-
-    @Test
-    public void testShouldHideSystemConsumer_HighPower_ReturnFalse() {
-        when(mAggregateBatteryConsumer.getConsumedPower(
-                BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).thenReturn(0.5);
+    public void testShouldHideSystemConsumer_OtherType_ReturnFalse() {
         assertThat(mBatteryUtils.shouldHideDevicePowerComponent(mAggregateBatteryConsumer,
                 BatteryConsumer.POWER_COMPONENT_FLASHLIGHT)).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index 7affe68..9951449 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -535,4 +535,32 @@
 
         assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue();
     }
+
+    @Test
+    public void updateWifiEntryPreferences_activityIsNull_ShouldNotCrash() {
+        when(mNetworkProviderSettings.getActivity()).thenReturn(null);
+
+        // should not crash
+        mNetworkProviderSettings.updateWifiEntryPreferences();
+    }
+
+    @Test
+    public void updateWifiEntryPreferences_viewIsNull_ShouldNotCrash() {
+        final FragmentActivity activity = mock(FragmentActivity.class);
+        when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
+        when(mNetworkProviderSettings.getView()).thenReturn(null);
+
+        // should not crash
+        mNetworkProviderSettings.updateWifiEntryPreferences();
+    }
+
+    @Test
+    public void updateWifiEntryPreferences_isRestricted_bypassUpdate() {
+        mNetworkProviderSettings.mIsRestricted = true;
+        mNetworkProviderSettings.mWifiEntryPreferenceCategory = mock(PreferenceCategory.class);
+
+        mNetworkProviderSettings.updateWifiEntryPreferences();
+
+        verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index 4c4b922..de1af23 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -21,6 +21,7 @@
 
 import android.content.Context;
 
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.applications.GameSettingsFeatureProvider;
@@ -87,6 +88,7 @@
     public ExtraAppInfoFeatureProvider extraAppInfoFeatureProvider;
     public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
     public GameSettingsFeatureProvider gameSettingsFeatureProvider;
+    public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -136,6 +138,7 @@
         extraAppInfoFeatureProvider = mock(ExtraAppInfoFeatureProvider.class);
         securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
         gameSettingsFeatureProvider = mock(GameSettingsFeatureProvider.class);
+        mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
     }
 
     @Override
@@ -272,4 +275,9 @@
     public GameSettingsFeatureProvider getGameSettingsFeatureProvider() {
         return gameSettingsFeatureProvider;
     }
+
+    @Override
+    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
+        return mAccessibilitySearchFeatureProvider;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
index 750640b..40cb25b 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
@@ -47,7 +47,7 @@
     private static boolean sIsVoiceCapable;
     private static ArraySet<String> sResultLinks = new ArraySet<>();
     private static boolean sIsBatteryPresent;
-    private static boolean sIsPageTransitionEnabled;
+    private static boolean sIsMultipleBiometricsSupported;
 
     @Implementation
     protected static int enforceSameOwner(Context context, int userId) {
@@ -70,7 +70,7 @@
         sIsVoiceCapable = false;
         sResultLinks = new ArraySet<>();
         sIsBatteryPresent = true;
-        sIsPageTransitionEnabled = true;
+        sIsMultipleBiometricsSupported = false;
     }
 
     public static void setIsDemoUser(boolean isDemoUser) {
@@ -170,11 +170,11 @@
     }
 
     @Implementation
-    protected static boolean isPageTransitionEnabled(Context context) {
-        return sIsPageTransitionEnabled;
+    protected static boolean isMultipleBiometricsSupported(Context context) {
+        return sIsMultipleBiometricsSupported;
     }
 
-    public static void setIsPageTransitionEnabled(boolean isPageTransitionEnabled) {
-        sIsPageTransitionEnabled = isPageTransitionEnabled;
+    public static void setIsMultipleBiometricsSupported(boolean isMultipleBiometricsSupported) {
+        sIsMultipleBiometricsSupported = isMultipleBiometricsSupported;
     }
 }
diff --git a/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java b/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
index 5ab2ce0..c54c3ee 100644
--- a/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetUpdaterTest.java
@@ -39,6 +39,7 @@
 import android.content.IntentFilter;
 import android.net.ConnectivityManager;
 import android.net.NetworkCapabilities;
+import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 
 import androidx.lifecycle.Lifecycle;
@@ -194,4 +195,17 @@
 
         assertThat(mInternetUpdater.getInternetType()).isEqualTo(INTERNET_ETHERNET);
     }
+
+    @Test
+    public void updateInternetType_carrierWifiConnected_getInternetCellular() {
+        final WifiInfo wifiInfo = mock(WifiInfo.class);
+        doReturn(wifiInfo).when(mWifiManager).getConnectionInfo();
+        doReturn(true).when(wifiInfo).isCarrierMerged();
+        mInternetUpdater.mInternetAvailable = true;
+        mInternetUpdater.mTransport = TRANSPORT_WIFI;
+
+        mInternetUpdater.updateInternetType();
+
+        assertThat(mInternetUpdater.getInternetType()).isEqualTo(INTERNET_CELLULAR);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
index 722e305..66247d3 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java
@@ -46,6 +46,8 @@
 import android.telephony.TelephonyManager;
 
 import androidx.slice.Slice;
+import androidx.slice.SliceItem;
+import androidx.slice.SliceMetadata;
 import androidx.slice.SliceProvider;
 import androidx.slice.builders.ListBuilder;
 import androidx.slice.builders.SliceAction;
@@ -104,8 +106,6 @@
     ListBuilder.RowBuilder mMockCarrierRowBuild;
     @Mock
     WifiPickerTracker mWifiPickerTracker;
-    @Mock
-    WifiSliceItem mWifiSliceItem;
     AlertDialog mMockAlertDialog;
 
     private FakeFeatureFactory mFeatureFactory;
@@ -127,7 +127,7 @@
         when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
         when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
-
+        when(mWifiManager.isWifiEnabled()).thenReturn(true);
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -192,7 +192,24 @@
 
     @Test
     @UiThreadTest
-    public void getSlice_haveTwoWifiAndOneCarrier_getCarrierAndTwoWiFiAndSeeAll() {
+    public void getSlice_airplaneModeIsOn_oneWifiToggle() {
+        mWifiList.clear();
+        mMockNetworkProviderWorker.updateSelfResults(null);
+        mockHelperCondition(true, false, false, null);
+
+        final Slice slice = mMockProviderModelSlice.getSlice();
+
+        assertThat(slice).isNotNull();
+        verify(mListBuilder, times(1)).addRow(any(ListBuilder.RowBuilder.class));
+        final SliceItem sliceTitle =
+                SliceMetadata.from(mContext, slice).getListContent().getHeader().getTitleItem();
+        assertThat(sliceTitle.getText()).isEqualTo(
+                ResourcesUtils.getResourcesString(mContext, "wifi_settings"));
+    }
+
+    @Test
+    @UiThreadTest
+    public void getSlice_haveTwoWifiAndOneCarrier_getFiveRow() {
         mWifiList.clear();
         mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
                 WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
@@ -207,13 +224,13 @@
 
         assertThat(slice).isNotNull();
         verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
-        verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
+        verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
         assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
     }
 
     @Test
     @UiThreadTest
-    public void getSlice_haveOneConnectedWifiAndTwoDisconnectedWifiAndNoCarrier_getFourRow() {
+    public void getSlice_haveOneConnectedWifiAndTwoDisconnectedWifiAndNoCarrier_getFiveRow() {
         mWifiList.clear();
         mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
                 WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
@@ -230,13 +247,13 @@
         final Slice slice = mMockProviderModelSlice.getSlice();
 
         assertThat(slice).isNotNull();
-        verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
+        verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
         assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
     }
 
     @Test
     @UiThreadTest
-    public void getSlice_haveTwoDisconnectedWifiAndNoCarrier_getThreeRow() {
+    public void getSlice_haveTwoDisconnectedWifiAndNoCarrier_getFourRow() {
         mWifiList.clear();
         mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
                 WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
@@ -250,13 +267,13 @@
         final Slice slice = mMockProviderModelSlice.getSlice();
 
         assertThat(slice).isNotNull();
-        verify(mListBuilder, times(3)).addRow(any(ListBuilder.RowBuilder.class));
+        verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
         assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
     }
 
     @Test
     @UiThreadTest
-    public void getSlice_haveEthernetAndCarrierAndTwoDisconnectedWifi_getFiveRow() {
+    public void getSlice_haveEthernetAndCarrierAndTwoDisconnectedWifi_getSixRow() {
         mWifiList.clear();
         mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
                 WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
@@ -274,13 +291,13 @@
         assertThat(slice).isNotNull();
         assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue();
         verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
-        verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
+        verify(mListBuilder, times(6)).addRow(any(ListBuilder.RowBuilder.class));
         assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
     }
 
     @Test
     @UiThreadTest
-    public void getSlice_haveEthernetAndCarrierAndConnectedWifiAndDisconnectedWifi_getFiveRow() {
+    public void getSlice_haveEthernetAndCarrierAndConnectedWifiAndDisconnectedWifi_getSixRow() {
         mWifiList.clear();
         mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
                 WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
@@ -298,7 +315,7 @@
         assertThat(slice).isNotNull();
         assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue();
         verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
-        verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
+        verify(mListBuilder, times(6)).addRow(any(ListBuilder.RowBuilder.class));
         assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
     }
 
@@ -396,6 +413,11 @@
             return super.getSeeAllRow();
         }
 
+        @Override
+        public ListBuilder.RowBuilder getWifiSliceItemRow(WifiSliceItem wifiSliceItem) {
+            return super.getWifiSliceItemRow(wifiSliceItem);
+        }
+
         public boolean hasCreateEthernetRow() {
             return mHasCreateEthernetRow;
         }
diff --git a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
index 837cf7a..30a2729 100644
--- a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
+++ b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -32,7 +31,6 @@
 import android.net.wifi.WifiManager;
 import android.os.Handler;
 
-import androidx.fragment.app.FragmentActivity;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
@@ -89,8 +87,6 @@
     private WifiManager mWifiManager;
     @Mock
     private ProviderModelSliceHelper mProviderModelSliceHelper;
-    @Mock
-    private FragmentActivity mPanelActivity;
 
     private Context mContext;
     private FakeHandlerInjector mFakeHandlerInjector;
@@ -223,20 +219,6 @@
     }
 
     @Test
-    public void getCustomizedButtonTitle_wifiOff_turnOnWifi() {
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
-        assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_TURN_ON_WIFI);
-    }
-
-    @Test
-    public void getCustomizedButtonTitle_wifiOn_turnOffWifi() {
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-
-        assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_TURN_OFF_WIFI);
-    }
-
-    @Test
     public void getSlices_providerModelDisabled_containsNecessarySlices() {
         mPanel.mIsProviderModelEnabled = false;
         List<Uri> uris = mPanel.getSlices();
@@ -255,36 +237,20 @@
     }
 
     @Test
-    public void getSeeMoreIntent_shouldBeNull() {
+    public void getSeeMoreIntent_providerModelDisabled_shouldNotNull() {
+        mPanel.mIsProviderModelEnabled = false;
+
+        assertThat(mPanel.getSeeMoreIntent()).isNotNull();
+    }
+
+    @Test
+    public void getSeeMoreIntent_providerModelEnabled_shouldBeNull() {
+        mPanel.mIsProviderModelEnabled = true;
+
         assertThat(mPanel.getSeeMoreIntent()).isNull();
     }
 
     @Test
-    public void onClickCustomizedButton_wifiOn_setWifiOff() {
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-
-        mPanel.onClickCustomizedButton(mPanelActivity);
-
-        verify(mWifiManager).setWifiEnabled(false);
-    }
-
-    @Test
-    public void onClickCustomizedButton_wifiOff_setWifiOn() {
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
-        mPanel.onClickCustomizedButton(mPanelActivity);
-
-        verify(mWifiManager).setWifiEnabled(true);
-    }
-
-    @Test
-    public void onClickCustomizedButton_shouldNotFinishActivity() {
-        mPanel.onClickCustomizedButton(mPanelActivity);
-
-        verify(mPanelActivity, never()).finish();
-    }
-
-    @Test
     public void updatePanelTitle_onHeaderChanged() {
         clearInvocations(mPanelContentCallback);
 
@@ -294,26 +260,6 @@
     }
 
     @Test
-    public void onWifiEnabledChanged_wifiOff_onCustomizedButtonStateChanged() {
-        doReturn(false).when(mInternetUpdater).isWifiEnabled();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.onWifiEnabledChanged(false);
-
-        verify(mPanelContentCallback).onCustomizedButtonStateChanged();
-    }
-
-    @Test
-    public void onWifiEnabledChanged_wifiOn_onCustomizedButtonStateChanged() {
-        doReturn(true).when(mInternetUpdater).isWifiEnabled();
-        clearInvocations(mPanelContentCallback);
-
-        mPanel.onWifiEnabledChanged(true);
-
-        verify(mPanelContentCallback).onCustomizedButtonStateChanged();
-    }
-
-    @Test
     public void updateProgressBar_wifiDisabled_hideProgress() {
         mPanel.mIsProgressBarVisible = true;
         doReturn(false).when(mInternetUpdater).isWifiEnabled();
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index 1e74d92..ba7e0bd 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -19,6 +19,7 @@
 
 import android.content.Context;
 
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.applications.ApplicationFeatureProvider;
 import com.android.settings.applications.GameSettingsFeatureProvider;
@@ -82,6 +83,7 @@
     public ExtraAppInfoFeatureProvider extraAppInfoFeatureProvider;
     public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
     public GameSettingsFeatureProvider gameSettingsFeatureProvider;
+    public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -258,4 +260,9 @@
     public GameSettingsFeatureProvider getGameSettingsFeatureProvider() {
         return gameSettingsFeatureProvider;
     }
+
+    @Override
+    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
+        return mAccessibilitySearchFeatureProvider;
+    }
 }