Fix preference screen padding for legacy apps (non Holo).

Also fixes the right margin for single pane preferences on phones, so the
scrollbar is fully visible.

Bug: 5262868
Bug: 5263470
Change-Id: Ifbbe22744bd42ab33578d1f01daecdea4d59f5cc
diff --git a/core/res/res/layout/preference_list_content_single.xml b/core/res/res/layout/preference_list_content_single.xml
index 259869d..16afe13 100644
--- a/core/res/res/layout/preference_list_content_single.xml
+++ b/core/res/res/layout/preference_list_content_single.xml
@@ -35,12 +35,11 @@
             android:layout_height="match_parent">
 
             <ListView android:id="@android:id/list"
+                style="?attr/preferenceFragmentStyle"
                 android:layout_width="match_parent"
                 android:layout_height="0px"
                 android:layout_weight="1"
                 android:drawSelectorOnTop="false"
-                android:paddingLeft="@dimen/preference_fragment_padding_side"
-                android:paddingRight="@dimen/preference_fragment_padding_side"
                 android:scrollbarStyle="@integer/preference_fragment_scrollbarStyle"
                 android:cacheColorHint="@android:color/transparent"
                 android:listPreferredItemHeight="48dp"
diff --git a/core/res/res/values-w1024dp/dimens.xml b/core/res/res/values-sw600dp-w1024dp/dimens.xml
similarity index 100%
rename from core/res/res/values-w1024dp/dimens.xml
rename to core/res/res/values-sw600dp-w1024dp/dimens.xml
diff --git a/core/res/res/values-w1280dp/dimens.xml b/core/res/res/values-sw600dp-w1280dp/dimens.xml
similarity index 100%
rename from core/res/res/values-w1280dp/dimens.xml
rename to core/res/res/values-sw600dp-w1280dp/dimens.xml
diff --git a/core/res/res/values-sw600dp/dimens.xml b/core/res/res/values-sw600dp/dimens.xml
index 2daaaa2..5dacb44 100644
--- a/core/res/res/values-sw600dp/dimens.xml
+++ b/core/res/res/values-sw600dp/dimens.xml
@@ -50,6 +50,9 @@
 
     <!-- Preference activity, vertical padding for the header list -->
     <dimen name="preference_screen_header_vertical_padding">32dp</dimen>
+    <dimen name="preference_screen_side_margin">0dp</dimen>
+    <!-- Compensate for double margin : preference_screen_side_margin + 4 (frame background shadow) = -preference_screen_side_margin_negative -->
+    <dimen name="preference_screen_side_margin_negative">-4dp</dimen>
 
 </resources>
 
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 0fbb19a..fc84f53 100755
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -705,6 +705,8 @@
 
         <!-- Default style for PreferenceScreen. -->
         <attr name="preferenceScreenStyle" format="reference" />
+        <!-- Default style for Headers pane in PreferenceActivity. -->
+        <attr name="preferenceFragmentStyle" format="reference" />
         <!-- Default style for PreferenceCategory. -->
         <attr name="preferenceCategoryStyle" format="reference" />
         <!-- Default style for Preference. -->
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 4f162f2..f1fc42c 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -78,7 +78,7 @@
     <!-- Preference activity side margins -->
     <dimen name="preference_screen_side_margin">0dp</dimen>
     <!-- Preference activity side margins negative-->
-    <dimen name="preference_screen_side_margin_negative">-4dp</dimen>
+    <dimen name="preference_screen_side_margin_negative">0dp</dimen>
     <!-- Preference activity top margin -->
     <dimen name="preference_screen_top_margin">0dp</dimen>
     <!-- Preference activity bottom margin -->
diff --git a/core/res/res/values/styles.xml b/core/res/res/values/styles.xml
index 356a2ad..346a3d29 100644
--- a/core/res/res/values/styles.xml
+++ b/core/res/res/values/styles.xml
@@ -910,7 +910,12 @@
     <style name="Preference">
         <item name="android:layout">@android:layout/preference</item>
     </style>
-    
+
+    <style name="PreferenceFragment">
+        <item name="android:paddingLeft">0dp</item>
+        <item name="android:paddingRight">0dp</item>
+    </style>
+
     <style name="Preference.Information">
         <item name="android:layout">@android:layout/preference_information</item>
         <item name="android:enabled">false</item>
@@ -961,6 +966,11 @@
         <item name="android:layout">@android:layout/preference_holo</item>
     </style>
 
+    <style name="PreferenceFragment.Holo">
+        <item name="android:paddingLeft">@dimen/preference_fragment_padding_side</item>
+        <item name="android:paddingRight">@dimen/preference_fragment_padding_side</item>
+    </style>
+
     <style name="Preference.Holo.Information">
         <item name="android:layout">@android:layout/preference_information_holo</item>
         <item name="android:enabled">false</item>
diff --git a/core/res/res/values/themes.xml b/core/res/res/values/themes.xml
index d19c97f..c8f7fb8 100644
--- a/core/res/res/values/themes.xml
+++ b/core/res/res/values/themes.xml
@@ -275,6 +275,7 @@
 
         <!-- Preference styles -->
         <item name="preferenceScreenStyle">@android:style/Preference.PreferenceScreen</item>
+        <item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
         <item name="preferenceCategoryStyle">@android:style/Preference.Category</item>
         <item name="preferenceStyle">@android:style/Preference</item>
         <item name="preferenceInformationStyle">@android:style/Preference.Information</item>
@@ -1071,6 +1072,7 @@
 
         <!-- Preference styles -->
         <item name="preferenceScreenStyle">@android:style/Preference.Holo.PreferenceScreen</item>
+        <item name="preferenceFragmentStyle">@style/PreferenceFragment.Holo</item>
         <item name="preferenceCategoryStyle">@android:style/Preference.Holo.Category</item>
         <item name="preferenceStyle">@android:style/Preference.Holo</item>
         <item name="preferenceInformationStyle">@android:style/Preference.Holo.Information</item>
@@ -1378,6 +1380,7 @@
 
         <!-- Preference styles -->
         <item name="preferenceScreenStyle">@android:style/Preference.Holo.PreferenceScreen</item>
+        <item name="preferenceFragmentStyle">@style/PreferenceFragment.Holo</item>
         <item name="preferenceCategoryStyle">@android:style/Preference.Holo.Category</item>
         <item name="preferenceStyle">@android:style/Preference.Holo</item>
         <item name="preferenceInformationStyle">@android:style/Preference.Holo.Information</item>