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>