summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authord34d <clark@cyngn.com>2015-09-10 11:14:23 -0700
committerd34d <clark@cyngn.com>2015-09-10 11:14:23 -0700
commitd809ce9c7177390e6335b7503cce3e69683b5865 (patch)
treecf57d11a6cdaa42e9ac20a5f9bda31ac67d15ec5
parentebe5fee35a3b67a89c8ef3b8795ea157bc37025f (diff)
downloadpackages_apps_ThemeChooser-d809ce9c7177390e6335b7503cce3e69683b5865.zip
packages_apps_ThemeChooser-d809ce9c7177390e6335b7503cce3e69683b5865.tar.gz
packages_apps_ThemeChooser-d809ce9c7177390e6335b7503cce3e69683b5865.tar.bz2
AppThemer: Don't settle for a null ThemeConfig
App themer needs to know what per app overlays are currently applied and that info resides in ThemeConfig so make sure we always have a valid ThemeConfig. Change-Id: I9541a06fd88c91fe950a69df71f8377e8c028ff5 TICKET: HAM-304
-rw-r--r--src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java b/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java
index c4c0c12..a23f714 100644
--- a/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java
+++ b/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java
@@ -186,7 +186,7 @@ public class PerAppThemingWindow extends Service implements OnTouchListener,
mThemeApplyingView = mThemeListLayout.findViewById(R.id.applying_theme_text);
final Configuration config = getResources().getConfiguration();
- mThemeConfig = config != null ? config.themeConfig : null;
+ mThemeConfig = getThemeConfig(config);
loadThemes();
getContentResolver().registerContentObserver(ThemesColumns.CONTENT_URI, true,
mThemesObserver);
@@ -315,7 +315,7 @@ public class PerAppThemingWindow extends Service implements OnTouchListener,
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
- mThemeConfig = newConfig.themeConfig;
+ mThemeConfig = getThemeConfig(newConfig);
}
@Override
@@ -344,6 +344,14 @@ public class PerAppThemingWindow extends Service implements OnTouchListener,
});
}
+ private ThemeConfig getThemeConfig(Configuration config) {
+ if (config != null && config.themeConfig != null) {
+ return config.themeConfig;
+ }
+
+ return ThemeConfig.getBootTheme(getContentResolver());
+ }
+
private void removeViewIfAttached(View view) {
if (view.isAttachedToWindow()) {
mWindowManager.removeViewImmediate(view);