From 712df6cb7050a87985ab30b8d1bad909a6bc09aa Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 18 Jul 2014 17:44:37 -0700 Subject: [PATCH] Fix the way we select and apply Themes - do not override the DialogWhenLarge ones (they have their purpose) - apply the correct Theme to SubSettings and then as a consequence to the SwitchBar Change-Id: I83adabf72da03051f03fbd2121e1e71217fc0c6a --- src/com/android/settings/SettingsActivity.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index a0f43fbeb59..bb13fc37633 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -482,11 +482,16 @@ public class SettingsActivity extends Activity mIsShowingDashboard = className.equals(Settings.class.getName()); final boolean isSubSettings = className.equals(SubSettings.class.getName()); - // If this is a sub settings or not the main Dashboard and not a Shortcut and not initial - // Fragment then apply the correct theme for the ActionBar content inset + // If this is a sub settings or not the main Dashboard and not a Shortcut and an initial + // Fragment then apply the SubSettings theme for the ActionBar content insets if (isSubSettings || - (!mIsShowingDashboard && !mIsShortcut && (initialFragmentName == null))) { - setTheme(R.style.Theme_SubSettings); + (!mIsShowingDashboard && !mIsShortcut && (initialFragmentName != null))) { + // Check also that we are not a Theme Dialog as we don't want to override them + final int themeResId = getThemeResId(); + if (themeResId != R.style.Theme_DialogWhenLarge && + themeResId != R.style.Theme_SubSettingsDialogWhenLarge) { + setTheme(R.style.Theme_SubSettings); + } } setContentView(mIsShowingDashboard ?