Merge "Allow activity to delegate onActivityResult to fragments"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b666881..d3acd13 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1923,7 +1923,7 @@
         <activity android:name=".bluetooth.RequestPermissionActivity"
                   android:excludeFromRecents="true"
                   android:permission="android.permission.BLUETOOTH"
-                  android:theme="@style/BluetoothPermission">
+                  android:theme="@style/Theme.BluetoothPermission">
             <intent-filter android:priority="1">
                 <action android:name="android.bluetooth.adapter.action.REQUEST_DISCOVERABLE" />
                 <action android:name="android.bluetooth.adapter.action.REQUEST_ENABLE" />
@@ -2520,9 +2520,6 @@
                 <action android:name="android.settings.ALL_APPS_NOTIFICATION_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter android:priority="150">
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.applications.manageapplications.ManageApplications" />
         </activity>
diff --git a/color-check-baseline.xml b/color-check-baseline.xml
index 623f537..c2b8ed5 100644
--- a/color-check-baseline.xml
+++ b/color-check-baseline.xml
@@ -1353,22 +1353,6 @@
         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:textColor=&quot;@color/red&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/credentials_dialog.xml"
-            line="36"
-            column="17"/>
-    </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:textColor=&quot;#FFFFFF&quot;"
         errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -2121,102 +2105,6 @@
         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:textColor=&quot;#ffffb060&quot;"
-        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/permission_settings.xml"
-            line="46"
-            column="17"/>
-    </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:background=&quot;#000000&quot; />"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/radio_info.xml"
-            line="116"
-            column="13"/>
-    </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:background=&quot;#000000&quot; />"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/radio_info.xml"
-            line="135"
-            column="13"/>
-    </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:background=&quot;#000000&quot; />"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/radio_info.xml"
-            line="165"
-            column="13"/>
-    </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:background=&quot;#000000&quot; />"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/layout/radio_info.xml"
-            line="303"
-            column="13"/>
-    </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:background=&quot;#000000&quot; />"
-            errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-                file="res/layout/radio_info.xml"
-                line="303"
-                column="13"/>
-    </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:src=&quot;@color/running_processes_system_ram&quot;"
         errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -2445,7 +2333,7 @@
         errorLine2="                                                                                                                                                                       ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rXC/strings.xml"
-            line="2531"
+            line="2559"
             column="168"/>
     </issue>
 
@@ -2461,7 +2349,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rAU/strings.xml"
-            line="2532"
+            line="2560"
             column="64"/>
     </issue>
 
@@ -2477,7 +2365,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rCA/strings.xml"
-            line="2532"
+            line="2560"
             column="64"/>
     </issue>
 
@@ -2493,7 +2381,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rGB/strings.xml"
-            line="2532"
+            line="2560"
             column="64"/>
     </issue>
 
@@ -2509,7 +2397,7 @@
         errorLine2="                                                               ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-en-rIN/strings.xml"
-            line="2532"
+            line="2560"
             column="64"/>
     </issue>
 
@@ -2525,7 +2413,7 @@
         errorLine2="                                   ~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/strings.xml"
-            line="5920"
+            line="5902"
             column="36"/>
     </issue>
 
@@ -2541,7 +2429,7 @@
         errorLine2="                                        ^">
         <location
             file="res/values/styles.xml"
-            line="248"
+            line="171"
             column="41"/>
     </issue>
 
@@ -2557,7 +2445,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="465"
+            line="425"
             column="44"/>
     </issue>
 
@@ -2573,7 +2461,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="471"
+            line="431"
             column="44"/>
     </issue>
 
@@ -2589,7 +2477,7 @@
         errorLine2="                                           ^">
         <location
             file="res/values/styles.xml"
-            line="472"
+            line="432"
             column="44"/>
     </issue>
 
@@ -2601,155 +2489,11 @@
         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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="31"
-            column="40"/>
-    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="49"
-            column="40"/>
-    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="67"
-            column="40"/>
-    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="85"
-            column="40"/>
-    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="103"
-            column="40"/>
-    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="121"
-            column="40"/>
-    </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;item name=&quot;android:colorPrimary&quot;>@color/material_grey_100&lt;/item>"
-        errorLine2="                                          ^">
-        <location
-            file="res/values/themes.xml"
-            line="197"
-            column="43"/>
-    </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;item name=&quot;android:colorAccent&quot;>@color/material_blue_700&lt;/item>"
-        errorLine2="                                         ^">
-        <location
-            file="res/values/themes.xml"
-            line="198"
-            column="42"/>
-    </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;item name=&quot;android:titleTextColor&quot;>@color/material_blue_700&lt;/item>"
-        errorLine2="                                            ^">
-        <location
-            file="res/values/themes.xml"
-            line="199"
-            column="45"/>
-    </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;item name=&quot;batteryGoodColor&quot;>@color/battery_good_color_light&lt;/item>"
         errorLine2="                                      ^">
         <location
             file="res/values/themes.xml"
-            line="240"
+            line="54"
             column="39"/>
     </issue>
 
@@ -2765,7 +2509,7 @@
         errorLine2="                                       ^">
         <location
             file="res/values/themes.xml"
-            line="241"
+            line="55"
             column="40"/>
     </issue>
 
@@ -2781,7 +2525,7 @@
         errorLine2="                                     ^">
         <location
             file="res/values/themes.xml"
-            line="242"
+            line="56"
             column="38"/>
     </issue>
 
@@ -2797,7 +2541,7 @@
         errorLine2="                                              ^">
         <location
             file="res/values/themes.xml"
-            line="280"
+            line="86"
             column="47"/>
     </issue>
 
@@ -2813,7 +2557,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="349"
+            line="147"
             column="45"/>
     </issue>
 
@@ -2829,7 +2573,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="350"
+            line="148"
             column="49"/>
     </issue>
 
@@ -2845,7 +2589,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="358"
+            line="156"
             column="45"/>
     </issue>
 
@@ -2861,7 +2605,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="359"
+            line="157"
             column="49"/>
     </issue>
 
@@ -2873,6 +2617,150 @@
         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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="29"
+            column="40"/>
+    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="48"
+            column="40"/>
+    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="67"
+            column="40"/>
+    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="86"
+            column="40"/>
+    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_dark&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="105"
+            column="40"/>
+    </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;item name=&quot;wifi_signal_color&quot;>@color/setup_wizard_wifi_color_light&lt;/item>"
+        errorLine2="                                       ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="124"
+            column="40"/>
+    </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;item name=&quot;android:colorPrimary&quot;>@color/material_grey_100&lt;/item>"
+        errorLine2="                                          ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="187"
+            column="43"/>
+    </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;item name=&quot;android:colorAccent&quot;>@color/material_blue_700&lt;/item>"
+        errorLine2="                                         ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="188"
+            column="42"/>
+    </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;item name=&quot;android:titleTextColor&quot;>@color/material_blue_700&lt;/item>"
+        errorLine2="                                            ^">
+        <location
+            file="res/values/themes_suw.xml"
+            line="189"
+            column="45"/>
+    </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:background=&quot;@color/divider_color&quot; />"
         errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
diff --git a/res/drawable-hdpi/appwidget_item_bg_normal.9.png b/res/drawable-hdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 8dd4479..0000000
--- a/res/drawable-hdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/appwidget_item_bg_pressed.9.png b/res/drawable-hdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index fb64dfc..0000000
--- a/res/drawable-hdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_header_horizontal_tile.png b/res/drawable-hdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index 4270099..0000000
--- a/res/drawable-hdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_internal_storage_header.png b/res/drawable-hdpi/bg_internal_storage_header.png
deleted file mode 100644
index 1c297d9..0000000
--- a/res/drawable-hdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_portable_storage_header.png b/res/drawable-hdpi/bg_portable_storage_header.png
deleted file mode 100644
index 42fe2c1..0000000
--- a/res/drawable-hdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_setup_header.png b/res/drawable-hdpi/bg_setup_header.png
deleted file mode 100644
index 0d30849..0000000
--- a/res/drawable-hdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/bg_tile_teal.png b/res/drawable-hdpi/bg_tile_teal.png
deleted file mode 100644
index 26538ec..0000000
--- a/res/drawable-hdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_grey.png b/res/drawable-hdpi/ic_sync_grey.png
deleted file mode 100644
index 3e9995a..0000000
--- a/res/drawable-hdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_sync_red.png b/res/drawable-hdpi/ic_sync_red.png
deleted file mode 100644
index 5abb707..0000000
--- a/res/drawable-hdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_all.png b/res/drawable-hdpi/ic_tab_selected_all.png
deleted file mode 100644
index c168869..0000000
--- a/res/drawable-hdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_download.png b/res/drawable-hdpi/ic_tab_selected_download.png
deleted file mode 100644
index dd3f5f9..0000000
--- a/res/drawable-hdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_running.png b/res/drawable-hdpi/ic_tab_selected_running.png
deleted file mode 100644
index 17b71b4..0000000
--- a/res/drawable-hdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_selected_sdcard.png b/res/drawable-hdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 752c35d..0000000
--- a/res/drawable-hdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_all.png b/res/drawable-hdpi/ic_tab_unselected_all.png
deleted file mode 100644
index c168869..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_download.png b/res/drawable-hdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 1e71efb..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_running.png b/res/drawable-hdpi/ic_tab_unselected_running.png
deleted file mode 100644
index a73d078..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_tab_unselected_sdcard.png b/res/drawable-hdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 752c35d..0000000
--- a/res/drawable-hdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/illustration_horizontal.jpg b/res/drawable-hdpi/illustration_horizontal.jpg
deleted file mode 100644
index 428b2f4..0000000
--- a/res/drawable-hdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/illustration_tile.jpg b/res/drawable-hdpi/illustration_tile.jpg
deleted file mode 100644
index 9931a23..0000000
--- a/res/drawable-hdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/nfc_payment_empty_state.png b/res/drawable-hdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 7d20bc8..0000000
--- a/res/drawable-hdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 267e7ba..0000000
--- a/res/drawable-hdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
deleted file mode 100644
index 1cb9c8d..0000000
--- a/res/drawable-ldrtl-hdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 1cb9c8d..0000000
--- a/res/drawable-ldrtl-hdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
deleted file mode 100644
index 740e709..0000000
--- a/res/drawable-ldrtl-mdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 740e709..0000000
--- a/res/drawable-ldrtl-mdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
deleted file mode 100644
index fcd6ab1..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png b/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
deleted file mode 100644
index fcd6ab1..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_item_bg_normal.9.png b/res/drawable-mdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 6af3493..0000000
--- a/res/drawable-mdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/appwidget_item_bg_pressed.9.png b/res/drawable-mdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index ebb7a99..0000000
--- a/res/drawable-mdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_header_horizontal_tile.png b/res/drawable-mdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index be8512d..0000000
--- a/res/drawable-mdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_internal_storage_header.png b/res/drawable-mdpi/bg_internal_storage_header.png
deleted file mode 100644
index d93c6a2..0000000
--- a/res/drawable-mdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_portable_storage_header.png b/res/drawable-mdpi/bg_portable_storage_header.png
deleted file mode 100644
index a39df23..0000000
--- a/res/drawable-mdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_setup_header.png b/res/drawable-mdpi/bg_setup_header.png
deleted file mode 100644
index f07d3fa..0000000
--- a/res/drawable-mdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/bg_tile_teal.png b/res/drawable-mdpi/bg_tile_teal.png
deleted file mode 100644
index 01abedb..0000000
--- a/res/drawable-mdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_grey.png b/res/drawable-mdpi/ic_sync_grey.png
deleted file mode 100644
index 8f168d4..0000000
--- a/res/drawable-mdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_sync_red.png b/res/drawable-mdpi/ic_sync_red.png
deleted file mode 100644
index 5e38136..0000000
--- a/res/drawable-mdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_all.png b/res/drawable-mdpi/ic_tab_selected_all.png
deleted file mode 100644
index 3cc0dde..0000000
--- a/res/drawable-mdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_download.png b/res/drawable-mdpi/ic_tab_selected_download.png
deleted file mode 100644
index a9d71ae..0000000
--- a/res/drawable-mdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_running.png b/res/drawable-mdpi/ic_tab_selected_running.png
deleted file mode 100644
index 714c5a4..0000000
--- a/res/drawable-mdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_selected_sdcard.png b/res/drawable-mdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 731aad5..0000000
--- a/res/drawable-mdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_all.png b/res/drawable-mdpi/ic_tab_unselected_all.png
deleted file mode 100644
index 3cc0dde..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_download.png b/res/drawable-mdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 59930fe..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_running.png b/res/drawable-mdpi/ic_tab_unselected_running.png
deleted file mode 100644
index b76a1d3..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_tab_unselected_sdcard.png b/res/drawable-mdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 731aad5..0000000
--- a/res/drawable-mdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/illustration_horizontal.jpg b/res/drawable-mdpi/illustration_horizontal.jpg
deleted file mode 100644
index 52e7993..0000000
--- a/res/drawable-mdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/illustration_tile.jpg b/res/drawable-mdpi/illustration_tile.jpg
deleted file mode 100644
index 7923fb4..0000000
--- a/res/drawable-mdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/nfc_payment_empty_state.png b/res/drawable-mdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 67ea0b7..0000000
--- a/res/drawable-mdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index db51f6b..0000000
--- a/res/drawable-mdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png
deleted file mode 100644
index 5102e54..0000000
--- a/res/drawable-sw600dp-hdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png
deleted file mode 100644
index 26fd248..0000000
--- a/res/drawable-sw600dp-hdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/bg_setup_header.png b/res/drawable-sw600dp-hdpi/bg_setup_header.png
deleted file mode 100644
index 2178602..0000000
--- a/res/drawable-sw600dp-hdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png
deleted file mode 100644
index b39c652..0000000
--- a/res/drawable-sw600dp-mdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png
deleted file mode 100644
index 1f5d10b..0000000
--- a/res/drawable-sw600dp-mdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/bg_setup_header.png b/res/drawable-sw600dp-mdpi/bg_setup_header.png
deleted file mode 100644
index 157b8aa..0000000
--- a/res/drawable-sw600dp-mdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 38ea2a3..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 169ac25..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/bg_setup_header.png b/res/drawable-sw600dp-xhdpi/bg_setup_header.png
deleted file mode 100644
index a4e1eb3..0000000
--- a/res/drawable-sw600dp-xhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 8920af3..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 9190f38..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxhdpi/bg_setup_header.png b/res/drawable-sw600dp-xxhdpi/bg_setup_header.png
deleted file mode 100644
index 6fce3df..0000000
--- a/res/drawable-sw600dp-xxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png b/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index a99ed1c..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png b/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index d979bfb..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png b/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png
deleted file mode 100644
index 7276b4e..0000000
--- a/res/drawable-sw600dp-xxxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index d752d5e..0000000
--- a/res/drawable-xhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index e5941a6..0000000
--- a/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_header_horizontal_tile.png b/res/drawable-xhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index 3b36902..0000000
--- a/res/drawable-xhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_internal_storage_header.png b/res/drawable-xhdpi/bg_internal_storage_header.png
deleted file mode 100644
index f8b64e0..0000000
--- a/res/drawable-xhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_portable_storage_header.png b/res/drawable-xhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 12c432d..0000000
--- a/res/drawable-xhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_setup_header.png b/res/drawable-xhdpi/bg_setup_header.png
deleted file mode 100644
index d7c4401..0000000
--- a/res/drawable-xhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/bg_tile_teal.png b/res/drawable-xhdpi/bg_tile_teal.png
deleted file mode 100644
index e6f2f06..0000000
--- a/res/drawable-xhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_grey.png b/res/drawable-xhdpi/ic_sync_grey.png
deleted file mode 100644
index 8a17f37..0000000
--- a/res/drawable-xhdpi/ic_sync_grey.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_sync_red.png b/res/drawable-xhdpi/ic_sync_red.png
deleted file mode 100644
index 92d02e1..0000000
--- a/res/drawable-xhdpi/ic_sync_red.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_all.png b/res/drawable-xhdpi/ic_tab_selected_all.png
deleted file mode 100644
index b59933b..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_download.png b/res/drawable-xhdpi/ic_tab_selected_download.png
deleted file mode 100644
index 6c6d26b..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_running.png b/res/drawable-xhdpi/ic_tab_selected_running.png
deleted file mode 100644
index 37084d2..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_selected_sdcard.png b/res/drawable-xhdpi/ic_tab_selected_sdcard.png
deleted file mode 100644
index 536326c..0000000
--- a/res/drawable-xhdpi/ic_tab_selected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_all.png b/res/drawable-xhdpi/ic_tab_unselected_all.png
deleted file mode 100644
index b59933b..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_all.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_download.png b/res/drawable-xhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index e8084c2..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_running.png b/res/drawable-xhdpi/ic_tab_unselected_running.png
deleted file mode 100644
index 8eda83f..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_tab_unselected_sdcard.png b/res/drawable-xhdpi/ic_tab_unselected_sdcard.png
deleted file mode 100644
index 536326c..0000000
--- a/res/drawable-xhdpi/ic_tab_unselected_sdcard.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/illustration_horizontal.jpg b/res/drawable-xhdpi/illustration_horizontal.jpg
deleted file mode 100644
index 2733f8e..0000000
--- a/res/drawable-xhdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/illustration_tile.jpg b/res/drawable-xhdpi/illustration_tile.jpg
deleted file mode 100644
index 57bccca..0000000
--- a/res/drawable-xhdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/nfc_payment_empty_state.png b/res/drawable-xhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 5291c22..0000000
--- a/res/drawable-xhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 8d22ce2..0000000
--- a/res/drawable-xhdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index 0d887c8..0000000
--- a/res/drawable-xxhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index d14eb23..0000000
--- a/res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_header_horizontal_tile.png b/res/drawable-xxhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index a879fe2..0000000
--- a/res/drawable-xxhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_internal_storage_header.png b/res/drawable-xxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index 01fe761..0000000
--- a/res/drawable-xxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_portable_storage_header.png b/res/drawable-xxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 4bacf7c..0000000
--- a/res/drawable-xxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_setup_header.png b/res/drawable-xxhdpi/bg_setup_header.png
deleted file mode 100644
index 566cc5f..0000000
--- a/res/drawable-xxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/bg_tile_teal.png b/res/drawable-xxhdpi/bg_tile_teal.png
deleted file mode 100644
index 29d268a..0000000
--- a/res/drawable-xxhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_selected_download.png b/res/drawable-xxhdpi/ic_tab_selected_download.png
deleted file mode 100644
index 3abb0f0..0000000
--- a/res/drawable-xxhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_selected_running.png b/res/drawable-xxhdpi/ic_tab_selected_running.png
deleted file mode 100644
index bfc9b5c..0000000
--- a/res/drawable-xxhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_tab_unselected_download.png b/res/drawable-xxhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 7030f3e..0000000
--- a/res/drawable-xxhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/illustration_horizontal.jpg b/res/drawable-xxhdpi/illustration_horizontal.jpg
deleted file mode 100644
index aec8d0f..0000000
--- a/res/drawable-xxhdpi/illustration_horizontal.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/illustration_tile.jpg b/res/drawable-xxhdpi/illustration_tile.jpg
deleted file mode 100644
index 2ba33fa..0000000
--- a/res/drawable-xxhdpi/illustration_tile.jpg
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/nfc_payment_empty_state.png b/res/drawable-xxhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index e23b0a7..0000000
--- a/res/drawable-xxhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png b/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png
deleted file mode 100644
index 29fb50f..0000000
--- a/res/drawable-xxhdpi/spinner_default_holo_dark_am_no_underline.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png b/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png
deleted file mode 100644
index a656a67..0000000
--- a/res/drawable-xxxhdpi/appwidget_item_bg_normal.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png
deleted file mode 100644
index 58e64be..0000000
--- a/res/drawable-xxxhdpi/appwidget_item_bg_pressed.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_header_horizontal_tile.png b/res/drawable-xxxhdpi/bg_header_horizontal_tile.png
deleted file mode 100644
index f19306a..0000000
--- a/res/drawable-xxxhdpi/bg_header_horizontal_tile.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_internal_storage_header.png b/res/drawable-xxxhdpi/bg_internal_storage_header.png
deleted file mode 100644
index eb9f268..0000000
--- a/res/drawable-xxxhdpi/bg_internal_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_portable_storage_header.png b/res/drawable-xxxhdpi/bg_portable_storage_header.png
deleted file mode 100644
index 311544a..0000000
--- a/res/drawable-xxxhdpi/bg_portable_storage_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_setup_header.png b/res/drawable-xxxhdpi/bg_setup_header.png
deleted file mode 100644
index 0df665e..0000000
--- a/res/drawable-xxxhdpi/bg_setup_header.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/bg_tile_teal.png b/res/drawable-xxxhdpi/bg_tile_teal.png
deleted file mode 100644
index 3d1a97a..0000000
--- a/res/drawable-xxxhdpi/bg_tile_teal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_selected_download.png b/res/drawable-xxxhdpi/ic_tab_selected_download.png
deleted file mode 100644
index a024704..0000000
--- a/res/drawable-xxxhdpi/ic_tab_selected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_selected_running.png b/res/drawable-xxxhdpi/ic_tab_selected_running.png
deleted file mode 100644
index f7a329f..0000000
--- a/res/drawable-xxxhdpi/ic_tab_selected_running.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/ic_tab_unselected_download.png b/res/drawable-xxxhdpi/ic_tab_unselected_download.png
deleted file mode 100644
index 1aa5f2e..0000000
--- a/res/drawable-xxxhdpi/ic_tab_unselected_download.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xxxhdpi/nfc_payment_empty_state.png b/res/drawable-xxxhdpi/nfc_payment_empty_state.png
deleted file mode 100644
index 569bb07..0000000
--- a/res/drawable-xxxhdpi/nfc_payment_empty_state.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/appwidget_item_bg.xml b/res/drawable/appwidget_item_bg.xml
deleted file mode 100644
index b9de6d4..0000000
--- a/res/drawable/appwidget_item_bg.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:state_pressed="true"
-          android:drawable="@drawable/appwidget_item_bg_pressed" />
-
-    <item android:drawable="@drawable/appwidget_item_bg_normal" />
-</selector>
diff --git a/res/layout/dream_start_button.xml b/res/layout/dream_start_button.xml
index 7d5e0c9..a45e56f 100644
--- a/res/layout/dream_start_button.xml
+++ b/res/layout/dream_start_button.xml
@@ -27,7 +27,7 @@
 
     <Button
         android:id="@+id/dream_start_now_button"
-        style="@style/DreamStartButton"
+        style="@style/ActionSecondaryButton"
         android:layout_width="0dp"
         android:layout_weight="1"
         android:layout_height="wrap_content"
diff --git a/res/layout/fallback_home_finishing_boot.xml b/res/layout/fallback_home_finishing_boot.xml
index 2714409..333eb5e 100644
--- a/res/layout/fallback_home_finishing_boot.xml
+++ b/res/layout/fallback_home_finishing_boot.xml
@@ -38,11 +38,11 @@
             android:text="@*android:string/android_start_title"/>
 
         <ProgressBar
-            android:theme="@style/FallbackHomeProgressBar"
             style="@android:style/Widget.Material.ProgressBar.Horizontal"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginTop="12.75dp"
+            android:colorControlActivated="?android:attr/textColorPrimary"
             android:indeterminate="true"/>
 
     </LinearLayout>
diff --git a/res/layout/keyguard_appwidget_item.xml b/res/layout/keyguard_appwidget_item.xml
deleted file mode 100755
index de0c855..0000000
--- a/res/layout/keyguard_appwidget_item.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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.
--->
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-  android:layout_width="match_parent"
-  android:layout_height="wrap_content" >
-  <LinearLayout
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="horizontal"
-    android:background="@drawable/appwidget_item_bg"
-    android:layout_marginTop="2dip"
-    android:layout_marginBottom="2dip"
-    android:layout_marginLeft="2dip"
-    android:layout_marginRight="2dip"
-    android:paddingLeft="16dip"
-    android:paddingRight="16dip"
-    android:paddingTop="16dip"
-    android:paddingBottom="16dip" >
-      <ImageView
-       android:id="@+id/icon"
-       android:layout_width="@dimen/appwidget_preview_width"
-       android:layout_height="@dimen/appwidget_preview_height"
-       android:scaleType="center" />
-      <TextView
-       android:id="@+id/label"
-       style="@style/KeyguardAppWidgetItem"
-       android:layout_width="match_parent"
-       android:layout_height="match_parent"
-       android:paddingLeft="24dip"
-       android:paddingBottom="8dip"
-       android:gravity="left|bottom" />
-  </LinearLayout>
-</FrameLayout>
diff --git a/res/layout/keyguard_appwidget_picker_layout.xml b/res/layout/keyguard_appwidget_picker_layout.xml
deleted file mode 100644
index e533672..0000000
--- a/res/layout/keyguard_appwidget_picker_layout.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:id="@+id/layout_root"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:paddingLeft="@dimen/keyguard_appwidget_picker_margin_left"
-        android:paddingRight="@dimen/keyguard_appwidget_picker_margin_right"
-        android:paddingTop="2dip"
-        android:paddingBottom="2dip"
-        android:orientation="vertical" >
-  <GridView android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            android:numColumns="@integer/keyguard_appwidget_picker_cols"
-            android:layout_gravity="center_horizontal"
-            android:listSelector="@android:color/transparent"
-            android:id="@+id/widget_list" />
-</LinearLayout>
diff --git a/res/layout/nfc_payment.xml b/res/layout/nfc_payment.xml
index f56d2a4..c7039cf 100644
--- a/res/layout/nfc_payment.xml
+++ b/res/layout/nfc_payment.xml
@@ -48,15 +48,6 @@
             android:drawSelectorOnTop="false"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:clipToPadding="false"
-            android:scrollbarStyle="@integer/preference_scrollbar_style" />
-<!--
-        <ListView
-            android:id="@android:id/list"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:clipToPadding="false"
-            android:scrollbarStyle="@integer/preference_scrollbar_style" />
--->
+            android:clipToPadding="false" />
     </FrameLayout>
 </LinearLayout>
diff --git a/res/layout/permission_settings.xml b/res/layout/permission_settings.xml
deleted file mode 100644
index f08b9d6..0000000
--- a/res/layout/permission_settings.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-     Copyright (C) 2015 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.
--->
-
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:clipToPadding="false"
-    android:scrollbarStyle="@integer/preference_scrollbar_style">
-
-    <LinearLayout
-        android:id="@+id/all_details"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-        android:paddingBottom="5dip"
-        android:orientation="vertical">
-
-        <!-- Permissions section -->
-        <LinearLayout
-            android:id="@+id/permissions_section"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:orientation="vertical">
-            <TextView
-                style="?android:attr/listSeparatorTextViewStyle"
-                android:layout_marginTop="8dip"
-                android:text="@string/permissions_label" />
-            <TextView android:id="@+id/security_settings_billing_desc"
-                android:text="@string/security_settings_billing_desc"
-                android:textColor="#ffffb060"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:paddingTop="6dip"
-                android:paddingBottom="6dip"
-                android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-                android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-            <LinearLayout
-                android:id="@+id/security_settings_billing_list"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="vertical">
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/security_settings_premium_sms_desc" />
-                <Spinner
-                    android:id="@+id/security_settings_premium_sms_list"
-                    android:layout_width="fill_parent"
-                    android:layout_height="wrap_content"
-                    android:spinnerMode="dropdown" />
-            </LinearLayout>
-            <TextView android:id="@+id/security_settings_desc"
-                android:text="@string/security_settings_desc"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:paddingTop="6dip"
-                android:paddingBottom="6dip"
-                android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-                android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-            <LinearLayout
-                android:id="@+id/security_settings_list"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:orientation="vertical"/>
-        </LinearLayout>
-
-
-    </LinearLayout>
-</ScrollView>
diff --git a/res/layout/private_dns_mode_dialog.xml b/res/layout/private_dns_mode_dialog.xml
index aaad941..641905d 100644
--- a/res/layout/private_dns_mode_dialog.xml
+++ b/res/layout/private_dns_mode_dialog.xml
@@ -14,61 +14,68 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="8dp">
+    android:layout_height="wrap_content">
 
-    <RadioGroup
-        android:id="@+id/private_dns_radio_group"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content">
-
-        <RadioButton
-            android:id="@+id/private_dns_mode_off"
-            android:text="@string/private_dns_mode_off"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="8dp"
-            android:minHeight="48dp"/>
-
-        <RadioButton
-            android:id="@+id/private_dns_mode_opportunistic"
-            android:text="@string/private_dns_mode_opportunistic"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="8dp"
-            android:minHeight="48dp"/>
-
-        <RadioButton
-            android:id="@+id/private_dns_mode_provider"
-            android:text="@string/private_dns_mode_provider"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="8dp"
-            android:minHeight="48dp"/>
-
-        <EditText
-            android:id="@+id/private_dns_mode_provider_hostname"
-            android:hint="@string/private_dns_mode_provider_hostname_hint"
-            style="@android:style/Widget.CompoundButton.RadioButton"
-            android:imeOptions="actionDone"
-            android:inputType="textFilter|textUri"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="40dp"
-            android:layout_marginEnd="8dp"
-            android:minHeight="48dp"/>
-    </RadioGroup>
-
-    <TextView
-        android:id="@+id/private_dns_help_info"
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="8dp"
-        android:minHeight="48dp"
-        android:paddingStart="16dp"
-        android:textAppearance="?android:attr/textAppearanceSmall"/>
-</LinearLayout>
+        android:orientation="vertical"
+        android:padding="8dp">
+
+        <RadioGroup
+            android:id="@+id/private_dns_radio_group"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <RadioButton
+                android:id="@+id/private_dns_mode_off"
+                android:text="@string/private_dns_mode_off"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="8dp"
+                android:minHeight="48dp"/>
+
+            <RadioButton
+                android:id="@+id/private_dns_mode_opportunistic"
+                android:text="@string/private_dns_mode_opportunistic"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="8dp"
+                android:minHeight="48dp"/>
+
+            <RadioButton
+                android:id="@+id/private_dns_mode_provider"
+                android:text="@string/private_dns_mode_provider"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="8dp"
+                android:minHeight="48dp"/>
+
+            <EditText
+                android:id="@+id/private_dns_mode_provider_hostname"
+                android:hint="@string/private_dns_mode_provider_hostname_hint"
+                style="@android:style/Widget.CompoundButton.RadioButton"
+                android:imeOptions="actionDone"
+                android:inputType="textFilter|textUri"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="40dp"
+                android:layout_marginEnd="8dp"
+                android:minHeight="48dp"/>
+        </RadioGroup>
+
+        <TextView
+            android:id="@+id/private_dns_help_info"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:minHeight="48dp"
+            android:paddingStart="16dp"
+            android:textAppearance="?android:attr/textAppearanceSmall"/>
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/running_service_details.xml b/res/layout/running_service_details.xml
index f618bdd..68ddb1c 100644
--- a/res/layout/running_service_details.xml
+++ b/res/layout/running_service_details.xml
@@ -20,8 +20,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:clipToPadding="false"
-    android:scrollbarStyle="@integer/preference_scrollbar_style">
+    android:clipToPadding="false">
 
     <LinearLayout
         android:id="@+id/all_details"
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 9569ae4..37e71e2 100755
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -17,11 +17,6 @@
 <resources>
     <dimen name="appwidget_width">421dip</dimen>
     <dimen name="appwidget_height">68dip</dimen>
-    <dimen name="appwidget_preview_width">120dip</dimen>
-    <dimen name="appwidget_preview_height">70dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_left">2dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_right">2dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
 
     <dimen name="captioning_preview_height">100dp</dimen>
 
diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml
deleted file mode 100644
index 0903167..0000000
--- a/res/values-land/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">16sp</item>
-    </style>
-</resources>
diff --git a/res/values-sw600dp-land/dimens.xml b/res/values-sw600dp-land/dimens.xml
index f6b4ad8..d5ea762 100755
--- a/res/values-sw600dp-land/dimens.xml
+++ b/res/values-sw600dp-land/dimens.xml
@@ -18,8 +18,6 @@
     <dimen name="screen_margin_sides">128dip</dimen>
     <dimen name="screen_margin_top">72dip</dimen>
     <dimen name="screen_margin_bottom">48dip</dimen>
-    <dimen name="appwidget_preview_height">80dip</dimen>
-    <dimen name="keyguard_appwidget_picker_width">720dip</dimen>
 
     <!-- CryptKeeper top margin for password/pin screen -->
     <dimen name="crypt_keeper_password_top_margin">116dip</dimen>
diff --git a/res/values-sw600dp-land/styles.xml b/res/values-sw600dp-land/styles.xml
deleted file mode 100644
index 645d1fe..0000000
--- a/res/values-sw600dp-land/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
-    </style>
-</resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index 8e47a62..58b05d8 100755
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -27,14 +27,6 @@
     <dimen name="appwidget_min_width">325dip</dimen>
     <dimen name="appwidget_min_height">50dip</dimen>
 
-    <dimen name="appwidget_preview_width">120dip</dimen>
-    <dimen name="appwidget_preview_height">70dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_left">2dip</dimen>
-    <dimen name="keyguard_appwidget_picker_margin_right">2dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
-
-    <dimen name="settings_side_margin">0dip</dimen>
-
     <!-- ActionBar contentInsetStart -->
     <dimen name="actionbar_contentInsetStart">24dp</dimen>
     <dimen name="actionbar_subsettings_contentInsetStart">80dp</dimen>
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index d428288..b132f9f 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -28,7 +28,4 @@
         <item name="android:textSize">20sp</item>
     </style>
 
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">16sp</item>
-    </style>
 </resources>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 981c936..ec4e22f 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -16,9 +16,6 @@
 
 <resources>
     <dimen name="pager_tabs_padding">0dp</dimen>
-    <dimen name="appwidget_preview_height">80dip</dimen>
-    <integer name="keyguard_appwidget_picker_cols">2</integer>
-    <dimen name="keyguard_appwidget_picker_width">720dip</dimen>
 
     <dimen name="settings_side_margin">64dp</dimen>
 
diff --git a/res/values-sw720dp/styles.xml b/res/values-sw720dp/styles.xml
deleted file mode 100644
index 645d1fe..0000000
--- a/res/values-sw720dp/styles.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources>
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
-    </style>
-</resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 33573ac..7bdbe6d 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -179,4 +179,10 @@
     <attr name="batteryBadColor" format="color" />
     <attr name="batteryMaybeColor" format="color" />
 
+    <attr name="fingerprint_layout_theme" format="reference" />
+    <attr name="face_layout_theme" format="reference" />
+    <attr name="ic_menu_moreoverflow" format="reference" />
+    <attr name="side_margin" format="reference|dimension" />
+    <attr name="wifi_signal_color" format="reference" />
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 82ae090..bacfd18 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -27,10 +27,7 @@
 
     <!-- Strings for Dialog close button [CHAR LIMIT=20] -->
     <string name="dlg_close">Close</string>
-    <!-- Strings for Dialog switch button [CHAR LIMIT=20] -->
-    <string name="dlg_switch">Switch</string>
 
-    <!-- Device Info --> <skip />
     <!-- Device Info screen. Used for a status item's value when the proper value is not known -->
     <string name="device_info_default">Unknown</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
@@ -49,14 +46,6 @@
     <!-- Category headings in left-pane header menu --> <skip />
     <!-- Settings main menu category heading. Wireless and networks (Wi-Fi, Bluetooth, data usage...). [CHAR LIMIT=40] -->
     <string name="header_category_wireless_networks">Wireless &amp; networks</string>
-    <!-- Settings main menu category heading. Wireless and networks (Wi-Fi, Bluetooth, data usage...). [CHAR LIMIT=40] -->
-    <string name="header_category_connections">Connections</string>
-    <!-- Settings main menu category heading. Device (Sound, display, battery, applications...). [CHAR LIMIT=40] -->
-    <string name="header_category_device">Device</string>
-    <!-- Settings main menu category heading. Personal (Accounts, security, language, backup...). [CHAR LIMIT=40] -->
-    <string name="header_category_personal">Personal</string>
-    <!-- Settings main menu category heading. Personal (Accounts, security, language, backup...). [CHAR LIMIT=40] -->
-    <string name="header_category_access">Access</string>
     <!-- Settings main menu category heading. System (Updates, data, accessibility, about phone). [CHAR LIMIT=40] -->
     <string name="header_category_system">System</string>
 
@@ -269,8 +258,6 @@
     <!-- Bluetooth broadcasting settings, option to enable/disable broadcasting -->
     <string name="bluetooth_broadcasting">Broadcasting</string>
 
-    <!-- Bluetooth settings.  Message when the device state is unknown -->
-    <string name="bluetooth_unknown" />
     <!--Bluetooth settings screen, summary text for Bluetooth device with no name -->
     <string name="bluetooth_device">Unnamed Bluetooth device</string>
     <!--Bluetooth settings screen, text that appears in heading bar when scanning for devices -->
@@ -347,9 +334,6 @@
     <!-- Strings for msg to display to user while bluetooth is turning off [CHAR LIMIT=60] -->
     <string name="bluetooth_turning_off">"Turning Bluetooth off\u2026"</string>
 
-    <!-- Strings for device profile auto connect setting -->
-    <string name="bluetooth_auto_connect">Auto-connect</string>
-
     <!-- Activity label of BluetoothPermissionActivity [CHAR LIMIT=none]-->
     <string name="bluetooth_connection_permission_request">"Bluetooth connection request"</string>
 
@@ -419,8 +403,6 @@
     <string name="connected_device_connected_title">Currently connected</string>
     <!-- Title for connected device group [CHAR LIMIT=none]-->
     <string name="connected_device_saved_title">Saved devices</string>
-    <!-- Title for preference to add a device [CHAR LIMIT=none] [BACKUP_MESSAGE_ID=7803521577708810621] -->
-    <string name="connected_device_add_device_title">Add device</string>
     <!-- Summary for preference to add a device [CHAR LIMIT=none]-->
     <string name="connected_device_add_device_summary">Bluetooth will turn on to pair</string>
     <!-- Title for other connection preferences [CHAR LIMIT=none]-->
@@ -662,10 +644,6 @@
     <!-- The title of the activity to adjust proxy settings -->
     <string name="proxy_settings_label">Proxy settings</string>
 
-    <!-- ======================================================================================= -->
-    <!-- NEW STUFF -->
-    <!-- ======================================================================================= -->
-
     <!-- Button label for generic cancel action [CHAR LIMIT=20] -->
     <string name="cancel">Cancel</string>
     <!-- Button label for generic OK action [CHAR LIMIT=20] -->
@@ -687,8 +665,6 @@
     <string name="settings_shortcut">Settings shortcut</string>
     <!-- Wireless controls settings screen, setting check box label -->
     <string name="airplane_mode">Airplane mode</string>
-    <!-- Main Settings screen settings title for things like airplane mode, tethering, NFC, VPN.  This will take you to another screen with those settings.  [CHAR LIMIT=30] -->
-    <string name="radio_controls_title">More</string>
     <!-- Wireless Settings screen title for things like Wi-Fi, bluetooth, airplane mode. -->
     <string name="wireless_networks_settings_title">Wireless &amp; networks</string>
     <!-- Main Settings screen settings summary text for the "Wireless controls" setting -->
@@ -727,7 +703,6 @@
     <!-- mobile network settings screen, setting option summary text -->
     <string name="sum_carrier_select">Choose a network operator</string>
 
-    <!-- Date and time settings --><skip />
     <!-- Main Settings screen setting option name to go into the date and time settings-->
     <string name="date_and_time_settings_title">Date &amp; time</string>
     <!-- Title for Date & Time settings screen in SetupWizard [CHAR LIMIT=40] -->
@@ -4089,12 +4064,6 @@
     <string name="no_applications">No apps.</string>
     <!-- [CHAR LIMIT=15] Manage applications, label for chart showing internal storage use. -->
     <string name="internal_storage">Internal storage</string>
-    <!-- [CHAR LIMIT=30] Title for internal device storage that is capitalized for placement as a phrase into another sentence -->
-    <string name="internal_storage_sentence">internal storage</string>
-    <!-- [CHAR LIMIT=15] Manage applications, label for chart showing SD card storage use. -->
-    <string name="sd_card_storage" product="nosdcard">USB storage</string>
-    <!-- [CHAR LIMIT=15] Manage applications, label for chart showing SD card storage use. -->
-    <string name="sd_card_storage" product="default">SD card storage</string>
     <!-- Manage app screen, shown when the activity is busy recomputing the size of each app -->
     <string name="recompute_size">Recomputing size\u2026</string>
     <!-- Manage applications, individual application screen, confirmation dialog title. Displays when user selects to "Clear data". -->
@@ -4111,36 +4080,12 @@
     <string name="app_not_found_dlg_text"> The app wasn\u2019t found in the list of installed apps.</string>
     <!-- Manage applications, text for dialog if clear data fails-->
     <string name="clear_failed_dlg_text">Couldn\u2019t clear storage for app.</string>
-    <!-- Manage applications, individual application info screen, text that appears under the "Permissions" heading. This describes the permissions that the application has. -->
-    <string name="security_settings_desc" product="tablet">This app can access the following on your tablet:</string>
-    <!-- Manage applications, individual application info screen, text that appears under the "Permissions" heading. This describes the permissions that the application has. -->
-    <string name="security_settings_desc" product="default">This app can access the following on your phone:</string>
-    <!-- [CHAR_LIMIT=NONE] Manage applications, individual application info screen, text that appears under the "Permissions" heading.
-         This describes the permissions that the application has.  It is used when multiple packages are contributing
-         to the permissions and need to be listed here. -->
-    <string name="security_settings_desc_multi" product="tablet">This app can access the following on your tablet.
-         In order to improve performance and reduce memory usage, some of these permissions
-         are available to <xliff:g id="base_app_name">%1$s</xliff:g>
-         because it runs in the same process as <xliff:g id="additional_apps_list">%2$s</xliff:g>:</string>
-    <!-- [CHAR_LIMIT=NONE] Manage applications, individual application info screen, text that appears under the "Permissions" heading.
-         This describes the permissions that the application has.  It is used when multiple packages are contributing
-         to the permissions and need to be listed here. -->
-    <string name="security_settings_desc_multi" product="default">This app can access the following on your phone.
-         In order to improve performance and reduce memory usage, some of these permissions
-         are available to <xliff:g id="base_app_name">%1$s</xliff:g>
-         because it runs in the same process as <xliff:g id="additional_apps_list">%2$s</xliff:g>:</string>
     <!-- [CHAR_LIMIT=NONE] Format to put together two items in a list. -->
     <string name="join_two_items"><xliff:g id="first_item">%1$s</xliff:g> and <xliff:g id="second_item">%2$s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] Format to put together two unrelated items in a list when "and" is not an appropriate conjunction for these 2 items -->
     <string name="join_two_unrelated_items"><xliff:g id="first_item">%1$s</xliff:g>, <xliff:g id="second_item">%2$s</xliff:g></string>
-    <!-- Manage applications, individual application info screen, text that appears under the "Permissions" heading after the app has tried to send to a premium SMS. [CHAR LIMIT=50] -->
-    <string name="security_settings_billing_desc">This app may charge you money:</string>
-    <!-- Manage applications, text for permission to send to premium SMS short codes. [CHAR LIMIT=40] -->
-    <string name="security_settings_premium_sms_desc">Send premium SMS</string>
     <string name="computing_size">Computing\u2026</string>
     <string name="invalid_size_value">Couldn\u2019t compute package size.</string>
-    <!-- String displayed when list is empty -->
-    <string name="empty_list_msg">You don\u2019t have any third-party apps installed.</string>
     <!-- Manage applications, version string displayed in app snippet -->
     <string name="version_text">version <xliff:g id="version_num">%1$s</xliff:g></string>
     <!-- Manage applications, text for Move button -->
@@ -4153,9 +4098,6 @@
     <string name="move_app_to_sdcard" product="nosdcard">Move to USB storage</string>
     <!-- Manage applications, text for Move button  to move app to sdcard -->
     <string name="move_app_to_sdcard" product="default">Move to SD card</string>
-    <!-- Manage applications, title for dialog when killing persistent apps-->
-    <!-- Manage applications, text for Move button when move is in progress -->
-    <string name="moving">Moving</string>
 
     <!-- Text of pop up message if the request for a "migrate primary storage" operation
          (see storage_menu_migrate) is denied as another is already in progress. [CHAR LIMIT=75] -->
@@ -4173,16 +4115,10 @@
     <string name="force_stop_dlg_title">Force stop?</string>
     <!-- [CHAR LIMIT=200] Manage applications, text for dialog when killing persistent apps-->
     <string name="force_stop_dlg_text">If you force stop an app, it may misbehave.</string>
-    <!-- Manage applications, text for dialog when moving an app -->
-    <string name="move_app_failed_dlg_title"></string>
-    <!-- Manage applications, text for dialog moving an app -->
-    <string name="move_app_failed_dlg_text">Couldn\u2019t move app. <xliff:g id="reason">%1$s</xliff:g></string>
     <!-- Manage applications, application installation location title -->
     <string name="app_install_location_title">Preferred install location</string>
     <!-- Manage applications. application installation location summary -->
     <string name="app_install_location_summary">Change the preferred installation location for new apps</string>
-    <!-- [CHAR LIMIT=30] Manage applications, title for dialog when disabling apps -->
-    <string name="app_disable_dlg_title">Disable built-in app?</string>
     <!-- [CHAR LIMIT=30] Manage applications, label for option to disable app -->
     <string name="app_disable_dlg_positive">Disable app</string>
     <!-- [CHAR LIMIT=200] Manage applications, text for dialog when disabling apps -->
@@ -4193,11 +4129,6 @@
     <string name="app_special_disable_dlg_text">If you disable this app, Android and other apps may no longer function as intended.  Your data will also be deleted.</string>
     <!-- [CHAR LIMIT=30] Manage applications, title for dialog when disabling notifications for an app -->
     <string name="app_disable_notifications_dlg_title">Turn off notifications?</string>
-    <!-- [CHAR LIMIT=200] Manage applications, text for dialog when disabling notifications for an app -->
-    <string name="app_disable_notifications_dlg_text">
-        If you turn off notifications for this app, you may miss important alerts and updates.
-    </string>
-
     <!-- Manage applications, individual application info screen, section heading for information about the app installer [CHAR_LIMIT=25] -->
     <string name="app_install_details_group_title">Store</string>
     <!-- Manage applications, individual application info screen, title for the option which will trigger application info in it's installer [CHAR_LIMIT=25] -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 2210904..88ff2bb 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -16,6 +16,14 @@
 
 <resources>
 
+    <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid">
+        <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item>
+    </style>
+
+    <style name="Theme.ActionBar.SubSettings" parent="Theme.ActionBar">
+        <item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item>
+    </style>
+
     <style name="info_label">
         <item name="android:layout_height">wrap_content</item>
         <item name="android:layout_width">wrap_content</item>
@@ -56,71 +64,6 @@
         <item name="android:layout_width">match_parent</item>
     </style>
 
-
-    <style name="TextAppearance" parent="android:TextAppearance.Material">
-    </style>
-
-    <style name="TextAppearance.info_label">
-        <item name="android:textSize">14sp</item>
-        <item name="android:textStyle">bold</item>
-    </style>
-
-    <style name="TextAppearance.info_small">
-        <item name="android:textSize">12sp</item>
-        <item name="android:textStyle">normal</item>
-    </style>
-
-    <style name="TextAppearance.info_value">
-        <item name="android:textSize">14sp</item>
-        <item name="android:textStyle">normal</item>
-    </style>
-
-    <style name="TextAppearance.PasswordEntry" parent="android:TextAppearance.Material">
-        <item name="android:gravity">center</item>
-        <item name="android:singleLine">true</item>
-        <item name="android:textColor">?android:attr/textColorPrimary</item>
-        <item name="android:textSize">24sp</item>
-    </style>
-
-    <style name="TextAppearance.CryptKeeper_PasswordEntry" parent="android:TextAppearance.Material">
-        <item name="android:gravity">center_horizontal</item>
-        <item name="android:background">@null</item>
-        <item name="android:textCursorDrawable">@null</item>
-        <item name="android:singleLine">true</item>
-        <item name="android:imeOptions">flagForceAscii|actionDone</item>
-    </style>
-
-    <style name="TallTitleBarTheme" parent="android:Theme.NoTitleBar">
-        <item name="android:windowContentOverlay">@null</item>
-    </style>
-
-    <style name="PreferenceHeaderPanelSinglePane">
-        <item name="android:layout_marginStart">0dp</item>
-        <item name="android:layout_marginEnd">0dp</item>
-        <item name="android:background">@null</item>
-    </style>
-
-    <style name="PreferencePanelSinglePane" parent="@*android:style/PreferencePanel">
-        <item name="android:layout_marginStart">0dp</item>
-        <item name="android:layout_marginEnd">0dp</item>
-        <item name="android:paddingStart">0dp</item>
-        <item name="android:paddingEnd">0dp</item>
-        <item name="android:background">@null</item>
-        <item name="android:scrollbarStyle">outsideOverlay</item>
-    </style>
-
-    <style name="PreferenceHeaderListSinglePane" parent="@*android:style/PreferenceHeaderList">
-        <item name="android:paddingStart">@dimen/settings_side_margin</item>
-        <item name="android:paddingEnd">@dimen/settings_side_margin</item>
-        <item name="android:paddingTop">0dp</item>
-        <item name="android:paddingBottom">0dp</item>
-        <item name="android:layout_marginStart">0dp</item>
-        <item name="android:layout_marginEnd">0dp</item>
-        <item name="android:layout_marginTop">0dp</item>
-        <item name="android:layout_marginBottom">0dp</item>
-        <item name="android:scrollbarStyle">outsideOverlay</item>
-    </style>
-
     <style name="PreferenceFragmentListSinglePane" parent="@*android:style/PreferenceFragmentList">
         <item name="android:paddingStart">@dimen/settings_side_margin</item>
         <item name="android:paddingEnd">@dimen/settings_side_margin</item>
@@ -224,13 +167,6 @@
         <item name="android:activityOpenExitAnimation">@anim/confirm_credential_open_exit</item>
     </style>
 
-    <style name="Transparent">
-        <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-    </style>
-
     <style name="CryptKeeperBlankTheme" parent="@android:style/Theme.Material.NoActionBar">
         <item name="android:background">#ff000000</item>
     </style>
@@ -284,14 +220,37 @@
         <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
     </style>
 
-    <style name="TextAppearance.PagerTabs" parent="@android:style/TextAppearance.Material.Widget.TabWidget" />
+    <style name="TextAppearance" parent="android:TextAppearance.Material"/>
 
-    <style name="KeyguardAppWidgetItem">
-        <item name="android:textSize">18sp</item>
+    <style name="TextAppearance.info_label">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">bold</item>
     </style>
 
-    <!-- Scrollbar style OUTSIDE_OVERLAY -->
-    <integer name="preference_scrollbar_style">33554432</integer>
+    <style name="TextAppearance.info_small">
+        <item name="android:textSize">12sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.info_value">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.PasswordEntry" parent="android:TextAppearance.Material">
+        <item name="android:gravity">center</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:textSize">24sp</item>
+    </style>
+
+    <style name="TextAppearance.CryptKeeper_PasswordEntry" parent="android:TextAppearance.Material">
+        <item name="android:gravity">center_horizontal</item>
+        <item name="android:background">@null</item>
+        <item name="android:textCursorDrawable">@null</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:imeOptions">flagForceAscii|actionDone</item>
+    </style>
 
     <style name="TextAppearance.Medium" parent="@android:style/TextAppearance.Material.Medium" />
     <style name="TextAppearance.Small" parent="@android:style/TextAppearance.Material.Small" />
@@ -304,9 +263,44 @@
     </style>
 
     <style name="TextAppearance.TileTitle" parent="@android:style/TextAppearance.Material.Subhead" />
-    <style name="TextAppearance.TileSubTitle" parent="@android:style/TextAppearance.Material.Body1" />
-    <style name="TextAppearance.RecentsTitle" parent="TextAppearance.CategoryTitle" />
-    <style name="TextAppearance.ResultTitle" parent="TextAppearance.CategoryTitle" />
+
+    <style name="TextAppearance.SuggestionTitle"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textSize">16sp</item>
+    </style>
+
+    <style name="TextAppearance.SuggestionSummary" parent="TextAppearance.Small">
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+    </style>
+
+    <style name="TextAppearance.FingerprintErrorText"
+           parent="android:TextAppearance.Material.Body1">
+        <item name="android:textColor">?android:attr/colorError</item>
+    </style>
+
+    <style name="TextAppearance.FaceErrorText"
+           parent="android:TextAppearance.Material.Body1">
+        <item name="android:textColor">?android:attr/colorError</item>
+    </style>
+
+    <style name="TextAppearance.ConfirmDeviceCredentialsErrorText"
+           parent="android:TextAppearance.Material.Body1">
+        <item name="android:textColor">?android:attr/colorError</item>
+    </style>
+
+    <style name="TextAppearance.Small.SwitchBar">
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
+    <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material">
+        <item name="android:textSize">16sp</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+    </style>
+
+    <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle">
+        <item name="android:textSize">@dimen/search_bar_text_size</item>
+    </style>
 
     <style name="TextAppearance.SuggestionHeader"
            parent="@android:style/TextAppearance.Material.Subhead">
@@ -314,6 +308,35 @@
         <item name="android:textColor">?android:attr/colorAccent</item>
     </style>
 
+    <style name="TextAppearance.EntityHeaderTitle"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:textSize">16sp</item>
+    </style>
+
+    <style name="TextAppearance.EntityHeaderSummary"
+           parent="@android:style/TextAppearance.Material.Body1">
+        <item name="android:textAlignment">viewStart</item>
+        <item name="android:textColor">?android:attr/textColorSecondary</item>
+        <item name="android:gravity">start</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:ellipsize">marquee</item>
+    </style>
+
+    <style name="TextAppearance.ZenOnboardingButton">
+        <item name="android:fontFamily">sans-serif-medium</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">?android:attr/colorAccent</item>
+        <item name="android:background">@drawable/btn_borderless_rect</item>
+        <item name="android:gravity">center</item>
+        <item name="android:focusable">true</item>
+        <item name="android:padding">8dp</item>
+    </style>
+
+    <style name="SuggestionConditionStyle">
+        <item name="android:background">?android:attr/colorPrimary</item>
+    </style>
+
     <style name="SuggestionCardText">
         <item name="android:textAlignment">viewStart</item>
     </style>
@@ -333,48 +356,14 @@
         <item name="android:layout_marginBottom">@dimen/suggestion_card_button_bottom_margin</item>
     </style>
 
-    <style name="TextAppearance.SuggestionTitle"
-           parent="@android:style/TextAppearance.Material.Subhead">
-        <item name="android:textSize">16sp</item>
-    </style>
-
-    <style name="TextAppearance.SuggestionSummary" parent="TextAppearance.Small">
-        <item name="android:textColor">?android:attr/textColorSecondary</item>
-    </style>
-
-    <style name="TextAppearance.FingerprintErrorText"
-        parent="android:TextAppearance.Material.Body1">
-        <item name="android:textColor">?android:attr/colorError</item>
-    </style>
-
     <style name="FingerprintLayoutTheme">
         <item name="android:icon">@drawable/ic_fingerprint_header</item>
     </style>
 
-    <style name="TextAppearance.FaceErrorText"
-        parent="android:TextAppearance.Material.Body1">
-        <item name="android:textColor">?android:attr/colorError</item>
-    </style>
-
     <style name="FaceLayoutTheme">
         <item name="android:icon">@drawable/ic_face_header</item>
     </style>
 
-    <style name="TextAppearance.ConfirmDeviceCredentialsErrorText"
-        parent="android:TextAppearance.Material.Body1">
-        <item name="android:textColor">?android:attr/colorError</item>
-    </style>
-
-    <style name="TextAppearance.Small.SwitchBar">
-        <item name="android:textColor">?android:attr/textColorPrimary</item>
-        <item name="android:textStyle">normal</item>
-    </style>
-
-    <style name="TextAppearance.RemoveDialogContent" parent="@android:style/TextAppearance.Material">
-        <item name="android:textSize">16sp</item>
-        <item name="android:textColor">?android:attr/textColorPrimary</item>
-    </style>
-
     <style name="PreviewPagerPageIndicator">
         <item name="dotGap">8dp</item>
         <item name="pageIndicatorColor">?android:attr/colorControlNormal</item>
@@ -390,12 +379,6 @@
         <item name="android:gravity">center_vertical</item>
     </style>
 
-    <style name="RedactionItemAndLabel">
-        <item name="android:layout_marginTop">@dimen/redaction_vertical_margins</item>
-        <item name="android:paddingStart">@dimen/redaction_padding_start</item>
-        <item name="android:textAppearance">@android:style/TextAppearance.Material.Subhead</item>
-    </style>
-
     <style name="FingerprintHeaderStyle" parent="android:style/TextAppearance.Material.Subhead">
         <item name="android:paddingTop">16dp</item>
         <item name="android:textColor">@color/primary_dark_material_light</item>
@@ -424,37 +407,10 @@
         <item name="android:paddingBottom">8dp</item>
     </style>
 
-    <style name="TextAppearance.EntityHeaderTitle"
-           parent="@android:style/TextAppearance.Material.Subhead">
-        <item name="android:textColor">?android:attr/textColorPrimary</item>
-        <item name="android:textSize">16sp</item>
-    </style>
-
-    <style name="TextAppearance.EntityHeaderSummary"
-           parent="@android:style/TextAppearance.Material.Body1">
-        <item name="android:textAlignment">viewStart</item>
-        <item name="android:textColor">?android:attr/textColorSecondary</item>
-        <item name="android:gravity">start</item>
-        <item name="android:singleLine">true</item>
-        <item name="android:ellipsize">marquee</item>
-    </style>
-
-  <style name="TextAppearance.ZenOnboardingButton">
-        <item name="android:fontFamily">sans-serif-medium</item>
-        <item name="android:textSize">14sp</item>
-        <item name="android:textColor">?android:attr/colorAccent</item>
-        <item name="android:background">@drawable/btn_borderless_rect</item>
-        <item name="android:gravity">center</item>
-        <item name="android:focusable">true</item>
-        <item name="android:padding">8dp</item>
-    </style>
-
     <style name="ActionPrimaryButton" parent="android:Widget.DeviceDefault.Button.Colored"/>
 
     <style name="ActionSecondaryButton" parent="android:Widget.DeviceDefault.Button"/>
 
-    <style name="DreamStartButton" parent="android:Widget.DeviceDefault.Button" />
-
     <style name="LockPatternContainerStyle">
         <item name="android:maxHeight">400dp</item>
         <item name="android:maxWidth">420dp</item>
@@ -490,14 +446,6 @@
         <item name="*android:successColor">@color/setup_lock_pattern_view_success_color_light</item>
     </style>
 
-    <style name="SuggestionConditionStyle">
-        <item name="android:background">?android:attr/colorPrimary</item>
-    </style>
-
-    <style name="TextAppearance.SearchBar" parent="@android:style/TextAppearance.Material.Widget.Toolbar.Subtitle">
-        <item name="android:textSize">@dimen/search_bar_text_size</item>
-    </style>
-
     <style name="device_info_dialog_label">
         <item name="android:textAlignment">viewStart</item>
         <item name="android:textAppearance">@android:style/TextAppearance.Material.Body1</item>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 8fd38d6..0f7ecab 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -19,6 +19,17 @@
 <!-- Things unrelated to preference framework UI customization should go to other styles files -->
 <resources>
 
+    <style name="PreferenceTheme" parent="@style/PreferenceThemeOverlay.SettingsBase">
+        <item name="apnPreferenceStyle">@style/ApnPreference</item>
+        <item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
+        <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
+    </style>
+
+    <style name="PreferenceTheme.SetupWizard">
+        <item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
+        <item name="preferenceStyle">@style/Preference.Material</item>
+    </style>
+
     <style name="ApnPreference" parent="@style/Preference.Material">
         <item name="android:layout">@layout/apn_preference_layout</item>
     </style>
@@ -40,4 +51,8 @@
         <item name="android:negativeButtonText">@android:string/cancel</item>
     </style>
 
+    <style name="SetupWizardPreferenceFragmentStyle" parent="PreferenceFragment.Material">
+        <item name="android:layout">@layout/setup_preference</item>
+    </style>
+
 </resources>
\ No newline at end of file
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 70cffa3..2674d2f 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -15,212 +15,19 @@
 -->
 
 <resources>
-    <attr name="fingerprint_layout_theme" format="reference" />
-    <attr name="face_layout_theme" format="reference" />
-    <attr name="ic_menu_moreoverflow" format="reference" />
-    <attr name="side_margin" format="reference|dimension" />
-    <attr name="wifi_signal_color" format="reference" />
 
-    <style name="GlifTheme" parent="SuwThemeGlif">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-    </style>
-
-    <style name="GlifTheme.Light" parent="SuwThemeGlif.Light">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
-    </style>
-
-    <style name="GlifV2Theme" parent="SuwThemeGlifV2">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-    </style>
-
-    <style name="GlifV2Theme.Light" parent="SuwThemeGlifV2.Light">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog.Light</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
-    </style>
-
-    <style name="GlifV3Theme" parent="SuwThemeGlifV3">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <!-- LockPatternView colors -->
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-    </style>
-
-    <style name="GlifV3Theme.Light" parent="SuwThemeGlifV3.Light">
-        <!-- For all Alert Dialogs -->
-        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog.Light</item>
-        <item name="android:windowBackground">?android:attr/colorBackground</item>
-        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
-        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
-        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
-        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
-        <item name="side_margin">0dip</item>
-        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
-        <item name="wifi_signal">@drawable/wifi_signal</item>
-        <item name="wifi_friction">@drawable/wifi_friction</item>
-        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
-        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
-
-        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
-        <item name="*android:colorError">@color/glif_error_color</item>
-    </style>
-
-    <style name="SetupWizardTheme.Transparent" parent="GlifTheme">
+    <style name="Transparent">
+        <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowNoTitle">true</item>
         <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
     </style>
 
-    <style name="SetupWizardTheme.Light.Transparent" parent="GlifTheme.Light">
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
-    </style>
-
-    <style name="GlifV2Theme.Transparent">
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
-    </style>
-
-    <style name="GlifV2Theme.Light.Transparent">
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
-    </style>
-
-    <style name="GlifV3Theme.Transparent">
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
-    </style>
-
-    <style name="GlifV3Theme.Light.Transparent">
-        <item name="android:windowBackground">@android:color/transparent</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="android:windowIsFloating">true</item>
-        <item name="android:windowAnimationStyle">@null</item>
-    </style>
-
-
-    <style name="SuwSuggestionThemeGlif.Light" parent="SuwThemeGlif.Light">
-        <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>
-    </style>
-
-    <style name="PreferenceTheme" parent="@style/PreferenceThemeOverlay.SettingsBase">
-        <item name="apnPreferenceStyle">@style/ApnPreference</item>
-        <item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
-        <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
-    </style>
-
-    <style name="PreferenceTheme.SetupWizard" parent="PreferenceTheme">
-        <item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
-        <item name="preferenceStyle">@style/Preference.Material</item>
-    </style>
-
-    <style name="SetupWizardPreferenceFragmentStyle" parent="PreferenceFragment.Material">
-        <item name="android:layout">@layout/setup_preference</item>
-    </style>
-
-    <!-- Accessibility portion of Setup Wizard -->
-    <style name="SetupWizardAccessibilityTheme" parent="Theme.SettingsBase">
-        <item name="android:windowLightStatusBar">false</item>
-        <item name="android:colorPrimary">@color/material_grey_100</item>
-        <item name="android:colorAccent">@color/material_blue_700</item>
-        <item name="android:titleTextColor">@color/material_blue_700</item>
-        <item name="preferenceTheme">@style/PreferenceTheme</item>
-        <item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
-    </style>
-
-    <!-- Theme with no local references, used by AccountPreferenceBase where we have to inflate
-         layouts against a remote context using our local theme colors. Due to the implementation
-         details of Theme, we can't reference any local resources and MUST instead use the values
-         directly. So use #ff263238 instead of @color/theme_primary and so on. -->
     <style name="Theme.SettingsBase" parent="@android:style/Theme.DeviceDefault.Settings" />
 
     <style name="Theme.Settings" parent="Theme.SettingsBase">
         <item name="preferenceTheme">@style/PreferenceTheme</item>
         <item name="android:listPreferredItemHeight">72dip</item>
-        <item name="*android:preferenceHeaderPanelStyle">@style/PreferenceHeaderPanelSinglePane</item>
-        <item name="*android:preferencePanelStyle">@style/PreferencePanelSinglePane</item>
-        <item name="*android:preferenceListStyle">@style/PreferenceHeaderListSinglePane</item>
-        <item name="*android:preferenceFragmentListStyle">@style/PreferenceFragmentListSinglePane</item>
-        <item name="*android:preferenceFragmentPaddingSide">@dimen/settings_side_margin</item>
 
         <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
         <item name="face_layout_theme">@style/FaceLayoutTheme</item>
@@ -249,6 +56,12 @@
         <item name="batteryBadColor">@color/battery_bad_color_light</item>
     </style>
 
+    <!-- Variant of the settings theme with no action bar. -->
+    <style name="Theme.Settings.NoActionBar">
+        <item name="android:windowActionBar">false</item>
+        <item name="android:windowNoTitle">true</item>
+    </style>
+
     <style name="Theme.SubSettings" parent="Theme.Settings">
         <!-- Redefine the ActionBar style for contentInsetStart -->
         <item name="android:actionBarStyle">@style/Theme.ActionBar.SubSettings</item>
@@ -256,12 +69,6 @@
         <item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
     </style>
 
-    <!-- Variant of the settings theme with no action bar. -->
-    <style name="Theme.Settings.NoActionBar">
-        <item name="android:windowActionBar">false</item>
-        <item name="android:windowNoTitle">true</item>
-    </style>
-
     <style name="Theme.ProvisioningActivity" parent="@android:style/Theme.Translucent.NoTitleBar">
         <item name="android:windowAnimationStyle">@null</item>
         <item name="android:windowIsTranslucent">true</item>
@@ -272,14 +79,6 @@
         <item name="android:backgroundDimEnabled">false</item>
     </style>
 
-    <style name="Theme.ActionBar" parent="@android:style/Widget.DeviceDefault.Light.ActionBar.Solid">
-        <item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item>
-    </style>
-
-    <style name="Theme.ActionBar.SubSettings" parent="Theme.ActionBar">
-        <item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item>
-    </style>
-
     <style name="ThemeOverlay.SwitchBar.Settings" parent="@android:style/ThemeOverlay.Material.ActionBar">
         <item name="android:textColorPrimary">@android:color/white</item>
         <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
@@ -307,14 +106,6 @@
         <item name="android:windowSoftInputMode">adjustResize</item>
     </style>
 
-    <style name="GlifV2ThemeAlertDialog" parent="SuwAlertDialogTheme">
-        <item name="android:windowSoftInputMode">adjustResize</item>
-    </style>
-
-    <style name="GlifV2ThemeAlertDialog.Light" parent="SuwAlertDialogTheme.Light">
-        <item name="android:windowSoftInputMode">adjustResize</item>
-    </style>
-
     <style name="Theme.AlertDialog" parent="@*android:style/Theme.DeviceDefault.Settings.Dialog.Alert">
         <item name="android:windowSoftInputMode">adjustResize</item>
 
@@ -366,16 +157,12 @@
         <item name="android:navigationBarColor">#00000000</item>
     </style>
 
-    <style name="FallbackHomeProgressBar" parent="FallbackHome">
-        <item name="android:colorControlActivated">?android:attr/textColorPrimary</item>
-    </style>
-
-    <style name="BluetoothPermission" parent="@android:style/Theme.Material.Light.Dialog.Alert">
+    <style name="Theme.BluetoothPermission" parent="@android:style/Theme.Material.Light.Dialog.Alert">
         <item name="android:windowNoTitle">true</item>
     </style>
 
     <style name="Theme.Settings.Home" parent="Theme.AppCompat.Light.NoActionBar">
-        <!-- copied from frameworks/base/core/res/res/values/themes_device_defaults.xml -->
+        <!-- Color names copied from frameworks/base/core/res/res/values/themes_device_defaults.xml -->
         <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
         <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
         <item name="android:colorAccent">@*android:color/accent_device_default_light</item>
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
new file mode 100644
index 0000000..11ef373
--- /dev/null
+++ b/res/values/themes_suw.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2018 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.
+  -->
+
+<!-- SUW related themes -->
+<resources>
+    <style name="GlifTheme" parent="SuwThemeGlif">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <!-- LockPatternView colors -->
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+    </style>
+
+    <style name="GlifTheme.Light" parent="SuwThemeGlif.Light">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/ThemeOverlay.AlertDialog</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:colorError">@color/glif_error_color</item>
+    </style>
+
+    <style name="GlifV2Theme" parent="SuwThemeGlifV2">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <!-- LockPatternView colors -->
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+    </style>
+
+    <style name="GlifV2Theme.Light" parent="SuwThemeGlifV2.Light">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog.Light</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:colorError">@color/glif_error_color</item>
+    </style>
+
+    <style name="GlifV3Theme" parent="SuwThemeGlifV3">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_dark</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <!-- LockPatternView colors -->
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+    </style>
+
+    <style name="GlifV3Theme.Light" parent="SuwThemeGlifV3.Light">
+        <!-- For all Alert Dialogs -->
+        <item name="android:alertDialogTheme">@style/GlifV2ThemeAlertDialog.Light</item>
+        <item name="android:windowBackground">?android:attr/colorBackground</item>
+        <item name="*android:preferencePanelStyle">@*android:style/PreferencePanel.Dialog</item>
+        <item name="fingerprint_layout_theme">@style/FingerprintLayoutTheme</item>
+        <item name="face_layout_theme">@style/FaceLayoutTheme</item>
+        <item name="ic_menu_moreoverflow">@*android:drawable/ic_menu_moreoverflow_material</item>
+        <item name="side_margin">0dip</item>
+        <item name="wifi_signal_color">@color/setup_wizard_wifi_color_light</item>
+        <item name="wifi_signal">@drawable/wifi_signal</item>
+        <item name="wifi_friction">@drawable/wifi_friction</item>
+        <item name="preferenceBackgroundColor">?android:attr/colorBackground</item>
+        <item name="preferenceTheme">@style/PreferenceTheme.SetupWizard</item>
+
+        <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
+        <item name="*android:colorError">@color/glif_error_color</item>
+    </style>
+
+    <style name="GlifV2Theme.Transparent">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <style name="GlifV2Theme.Light.Transparent">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <style name="GlifV2ThemeAlertDialog" parent="SuwAlertDialogTheme">
+        <item name="android:windowSoftInputMode">adjustResize</item>
+    </style>
+
+    <style name="GlifV2ThemeAlertDialog.Light" parent="SuwAlertDialogTheme.Light">
+        <item name="android:windowSoftInputMode">adjustResize</item>
+    </style>
+
+    <style name="GlifV3Theme.Transparent">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <style name="GlifV3Theme.Light.Transparent">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <style name="SetupWizardTheme.Transparent" parent="GlifTheme">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <style name="SetupWizardTheme.Light.Transparent" parent="GlifTheme.Light">
+        <item name="android:windowBackground">@android:color/transparent</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowIsFloating">true</item>
+        <item name="android:windowAnimationStyle">@null</item>
+    </style>
+
+    <!-- Accessibility portion of Setup Wizard -->
+    <style name="SetupWizardAccessibilityTheme" parent="Theme.SettingsBase">
+        <item name="android:windowLightStatusBar">false</item>
+        <item name="android:colorPrimary">@color/material_grey_100</item>
+        <item name="android:colorAccent">@color/material_blue_700</item>
+        <item name="android:titleTextColor">@color/material_blue_700</item>
+        <item name="preferenceTheme">@style/PreferenceTheme</item>
+        <item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/src/com/android/settings/ResetNetworkConfirm.java b/src/com/android/settings/ResetNetworkConfirm.java
index 1ecc8d7..53be36a 100644
--- a/src/com/android/settings/ResetNetworkConfirm.java
+++ b/src/com/android/settings/ResetNetworkConfirm.java
@@ -150,7 +150,8 @@
                 }
             }
 
-            ImsManager.factoryReset(context);
+            ImsManager.getInstance(context,
+                     SubscriptionManager.getPhoneId(mSubId)).factoryReset();
             restoreDefaultApn(context);
             esimFactoryReset(context, context.getPackageName());
             // There has been issues when Sms raw table somehow stores orphan
diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
index 0c9ab37..76b897d 100644
--- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
@@ -49,7 +49,7 @@
     // adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE
     // adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISABLE
 
-    private static final String TAG = "RequestPermissionActivity";
+    private static final String TAG = "BtRequestPermission";
 
     private static final int MAX_DISCOVERABLE_TIMEOUT = 3600; // 1 hr
 
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
index 3a04ade..ad90e72 100644
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
@@ -22,7 +22,6 @@
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.AF_INET6;
 
-import android.app.AlertDialog;
 import android.content.ActivityNotFoundException;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -52,6 +51,7 @@
 import java.util.Map;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
 
 /**
  * Dialog to set the Private DNS
@@ -72,7 +72,7 @@
         PRIVATE_DNS_MAP.put(PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, R.id.private_dns_mode_provider);
     }
 
-    private static final int[] ADDRESS_FAMILIES = new int[]{AF_INET, AF_INET6};
+    private static final int[] ADDRESS_FAMILIES = new int[] {AF_INET, AF_INET6};
 
     @VisibleForTesting
     static final String MODE_KEY = Settings.Global.PRIVATE_DNS_MODE;
diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java
index a56a290..c1c3b8e8 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -49,6 +49,7 @@
 import java.util.List;
 import java.util.stream.Collectors;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
@@ -242,7 +243,7 @@
     private static Slice buildToggleSlice(Context context, SliceData sliceData,
             BasePreferenceController controller) {
         final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
-        final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
+        final IconCompat icon = getSafeIcon(context, sliceData);
         final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
         final TogglePreferenceController toggleController =
@@ -266,7 +267,7 @@
     private static Slice buildIntentSlice(Context context, SliceData sliceData,
             BasePreferenceController controller) {
         final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
-        final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
+        final IconCompat icon = getSafeIcon(context, sliceData);
         final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
         final List<String> keywords = buildSliceKeywords(sliceData);
@@ -287,7 +288,7 @@
         final SliderPreferenceController sliderController = (SliderPreferenceController) controller;
         final PendingIntent actionIntent = getSliderAction(context, sliceData);
         final PendingIntent contentIntent = getContentPendingIntent(context, sliceData);
-        final IconCompat icon = IconCompat.createWithResource(context, sliceData.getIconResource());
+        final IconCompat icon = getSafeIcon(context, sliceData);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(context);
         final CharSequence subtitleText = getSubtitleText(context, controller, sliceData);
         final SliceAction primaryAction = new SliceAction(contentIntent, icon,
@@ -382,4 +383,14 @@
                 .setKeywords(keywords)
                 .build();
     }
+
+    @VisibleForTesting
+    static IconCompat getSafeIcon(Context context, SliceData data) {
+        int iconResource = data.getIconResource();
+
+        if (iconResource == 0) {
+            iconResource = R.drawable.ic_settings;
+        }
+        return IconCompat.createWithResource(context, iconResource);
+    }
 }
diff --git a/src/com/android/settings/widget/ValidatedEditTextPreference.java b/src/com/android/settings/widget/ValidatedEditTextPreference.java
index aec362f..76d8bcc 100644
--- a/src/com/android/settings/widget/ValidatedEditTextPreference.java
+++ b/src/com/android/settings/widget/ValidatedEditTextPreference.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.widget;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.text.Editable;
 import android.text.InputType;
@@ -30,6 +29,7 @@
 import com.android.settingslib.CustomEditTextPreferenceCompat;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
 import androidx.preference.PreferenceViewHolder;
 
 /**
diff --git a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
index 3b3a287..281a6c9 100644
--- a/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsLicenseActivityTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
@@ -30,7 +29,6 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -84,9 +82,7 @@
     }
 
     @Test
-    @Ignore("b/111194177")
     public void testOnCreateWithGeneratedHtmlFile() {
-        doReturn(null).when(mActivity).onCreateLoader(anyInt(), any());
         doReturn(Uri.parse("content://com.android.settings.files/my_cache/generated_test.html"))
                 .when(mActivity).getUriFromGeneratedHtmlFile(any());
 
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
index 3e1cde1..cb26fb6 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -49,6 +48,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = ShadowOs.class)
 public class PrivateDnsModeDialogPreferenceTest {
@@ -132,9 +133,9 @@
     @Test
     public void testOnCheckedChanged_switchMode_saveButtonHasCorrectState() {
         final String[] INVALID_HOST_NAMES = new String[] {
-            INVALID_HOST_NAME,
-            "2001:db8::53",  // IPv6 string literal
-            "192.168.1.1",   // IPv4 string literal
+                INVALID_HOST_NAME,
+                "2001:db8::53",  // IPv6 string literal
+                "192.168.1.1",   // IPv4 string literal
         };
 
         for (String invalid : INVALID_HOST_NAMES) {
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
index ed33a80..b96c128 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
@@ -48,8 +48,11 @@
 import org.mockito.ArgumentCaptor;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
+import androidx.slice.SliceMetadata;
 import androidx.slice.SliceProvider;
+import androidx.slice.core.SliceAction;
 import androidx.slice.widget.SliceLiveData;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -406,27 +409,92 @@
         assertThat(intentData).isEqualTo(expectedUri);
     }
 
+    @Test
+    public void buildIntentSlice_noIconPassed_returnsSliceWithIcon() {
+        final int expectedIconResource = IconCompat.createWithResource(mContext,
+                R.drawable.ic_settings).toIcon().getResId();
+        final SliceData sliceData = getDummyData(CONTEXT_CONTROLLER, SliceData.SliceType.INTENT,
+                0x0);
+
+        final Slice slice = SliceBuilderUtils.buildSlice(mContext, sliceData);
+
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        final int actualIconResource = primaryAction.getIcon().toIcon().getResId();
+        assertThat(actualIconResource).isEqualTo(expectedIconResource);
+    }
+
+    @Test
+    public void buildToggleSlice_noIconPassed_returnsSliceWithIcon() {
+        final int expectedIconResource = IconCompat.createWithResource(mContext,
+                R.drawable.ic_settings).toIcon().getResId();
+        final SliceData dummyData = getDummyData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH,
+                0x0);
+
+        final Slice slice = SliceBuilderUtils.buildSlice(mContext, dummyData);
+
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        final int actualIconResource = primaryAction.getIcon().toIcon().getResId();
+        assertThat(actualIconResource).isEqualTo(expectedIconResource);
+    }
+
+    @Test
+    public void buildSliderSlice_noIconPassed_returnsSliceWithIcon() {
+        final int expectedIconResource = IconCompat.createWithResource(mContext,
+                R.drawable.ic_settings).toIcon().getResId();
+        final SliceData data = getDummyData(SLIDER_CONTROLLER, SliceData.SliceType.SLIDER, 0x0);
+
+        final Slice slice = SliceBuilderUtils.buildSlice(mContext, data);
+
+        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        final int actualIconResource = primaryAction.getIcon().toIcon().getResId();
+        assertThat(actualIconResource).isEqualTo(expectedIconResource);
+    }
+
+    @Test
+    public void getSafeIcon_replacesEmptyIconWithSettingsIcon() {
+        final int settingsIcon = R.drawable.ic_settings;
+        final int zeroIcon = 0x0;
+        final SliceData data = getDummyData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH,
+                zeroIcon);
+
+        final IconCompat actualIcon = SliceBuilderUtils.getSafeIcon(mContext, data);
+
+        final int actualIconResource = actualIcon.toIcon().getResId();
+        assertThat(actualIconResource).isNotEqualTo(zeroIcon);
+        assertThat(actualIconResource).isEqualTo(settingsIcon);
+    }
+
     private SliceData getDummyData() {
-        return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE);
+        return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
+                ICON);
+    }
+
+    private SliceData getDummyData(Class prefController, int sliceType, int icon) {
+        return getDummyData(TOGGLE_CONTROLLER, SUMMARY, SliceData.SliceType.SWITCH, SCREEN_TITLE,
+                icon);
     }
 
     private SliceData getDummyData(String summary, String screenTitle) {
-        return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle);
+        return getDummyData(TOGGLE_CONTROLLER, summary, SliceData.SliceType.SWITCH, screenTitle,
+                ICON);
     }
 
     private SliceData getDummyData(Class prefController, int sliceType) {
-        return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE);
+        return getDummyData(prefController, SUMMARY, sliceType, SCREEN_TITLE, ICON);
     }
 
     private SliceData getDummyData(Class prefController, String summary, int sliceType,
-            String screenTitle) {
+            String screenTitle, int icon) {
         return new SliceData.Builder()
                 .setKey(KEY)
                 .setTitle(TITLE)
                 .setSummary(summary)
                 .setScreenTitle(screenTitle)
                 .setKeywords(KEYWORDS)
-                .setIcon(ICON)
+                .setIcon(icon)
                 .setFragmentName(FRAGMENT_NAME)
                 .setUri(URI)
                 .setPreferenceControllerClassName(prefController.getName())