From d40dd45c18a55d574d65b3a0ac16b59d76027049 Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 18 Jul 2014 15:20:34 -0700 Subject: [PATCH] Fix overdraw and do some layout optimizations - use a specific layout for the Dashboard and for the Preferences - use a specific background for the Dashboard and for the Preferences The main idea here is that you cannot have the same layout / background because the Dashboard is using the "Z elevation" for having its card "poping up" Change-Id: I42b7c91efea14315b8a60cf3876938a7f1d1e0b3 --- ...ckground.xml => preference_background.xml} | 4 +-- res/layout/preference_list_fragment.xml | 4 +-- res/layout/settings_main_dashboard.xml | 25 +++++++++++++++++++ ...tings_main.xml => settings_main_prefs.xml} | 6 ++--- res/values/attrs.xml | 2 +- res/values/colors.xml | 2 +- res/values/themes.xml | 12 ++++----- .../android/settings/SettingsActivity.java | 11 ++++---- 8 files changed, 45 insertions(+), 21 deletions(-) rename res/drawable/{preference_list_fragment_background.xml => preference_background.xml} (91%) create mode 100644 res/layout/settings_main_dashboard.xml rename res/layout/{settings_main.xml => settings_main_prefs.xml} (94%) diff --git a/res/drawable/preference_list_fragment_background.xml b/res/drawable/preference_background.xml similarity index 91% rename from res/drawable/preference_list_fragment_background.xml rename to res/drawable/preference_background.xml index 94e0381ef3f..f47bcf5c42b 100644 --- a/res/drawable/preference_list_fragment_background.xml +++ b/res/drawable/preference_background.xml @@ -21,9 +21,7 @@ android:insetBottom="0dip"> - - - + diff --git a/res/layout/preference_list_fragment.xml b/res/layout/preference_list_fragment.xml index a97415eef1d..83916417232 100644 --- a/res/layout/preference_list_fragment.xml +++ b/res/layout/preference_list_fragment.xml @@ -36,8 +36,6 @@ android:scrollbarStyle="@*android:integer/preference_fragment_scrollbarStyle" android:clipToPadding="false" android:drawSelectorOnTop="false" - android:cacheColorHint="@android:color/white" - android:background="@drawable/preference_list_fragment_background" android:elevation="@dimen/dashboard_category_elevation" android:scrollbarAlwaysDrawVerticalTrack="true" /> @@ -82,6 +80,8 @@ android:text="@*android:string/next_button_label" /> + + diff --git a/res/layout/settings_main_dashboard.xml b/res/layout/settings_main_dashboard.xml new file mode 100644 index 00000000000..56f2737e840 --- /dev/null +++ b/res/layout/settings_main_dashboard.xml @@ -0,0 +1,25 @@ + + + + diff --git a/res/layout/settings_main.xml b/res/layout/settings_main_prefs.xml similarity index 94% rename from res/layout/settings_main.xml rename to res/layout/settings_main_prefs.xml index 56737a126cb..53fd9180396 100644 --- a/res/layout/settings_main.xml +++ b/res/layout/settings_main_prefs.xml @@ -20,8 +20,7 @@ + android:layout_width="match_parent"> diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 71e08d8bcfc..2987de1ccba 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -101,5 +101,5 @@ - + diff --git a/res/values/colors.xml b/res/values/colors.xml index 0b3ea391989..e34097b3846 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -60,6 +60,6 @@ #ff7fcac3 @android:color/white - @color/default_preference_background_color + @color/default_preference_background_color @color/default_preference_background_color diff --git a/res/values/themes.xml b/res/values/themes.xml index 92bb3b26beb..4f8add73786 100644 --- a/res/values/themes.xml +++ b/res/values/themes.xml @@ -33,7 +33,7 @@ @drawable/ic_wps_dark @color/setup_divider_color_dark @drawable/wifi_signal_dark - @color/dashboard_background_color + @drawable/preference_background diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 290473e9316..a0f43fbeb59 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -489,9 +489,10 @@ public class SettingsActivity extends Activity setTheme(R.style.Theme_SubSettings); } - setContentView(R.layout.settings_main); + setContentView(mIsShowingDashboard ? + R.layout.settings_main_dashboard : R.layout.settings_main_prefs); - mContent = (ViewGroup) findViewById(R.id.prefs); + mContent = (ViewGroup) findViewById(R.id.main_content); getFragmentManager().addOnBackStackChangedListener(this); @@ -830,7 +831,7 @@ public class SettingsActivity extends Activity */ public void startPreferenceFragment(Fragment fragment, boolean push) { FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.prefs, fragment); + transaction.replace(R.id.main_content, fragment); if (push) { transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); transaction.addToBackStack(BACK_STACK_PREFS); @@ -851,7 +852,7 @@ public class SettingsActivity extends Activity } Fragment f = Fragment.instantiate(this, fragmentName, args); FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.prefs, f); + transaction.replace(R.id.main_content, f); if (withTransition) { TransitionManager.beginDelayedTransition(mContent); } @@ -1239,7 +1240,7 @@ public class SettingsActivity extends Activity if (mSearchResultsFragment != null) { return; } - Fragment current = getFragmentManager().findFragmentById(R.id.prefs); + Fragment current = getFragmentManager().findFragmentById(R.id.main_content); if (current != null && current instanceof SearchResultsSummary) { mSearchResultsFragment = (SearchResultsSummary) current; } else {