diff options
author | Clark Scheff <clark@cyngn.com> | 2015-02-26 13:33:01 -0800 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2015-10-27 10:40:41 -0700 |
commit | 168d7ccf58ba6d3a1d7bf5afd116fe8a68c0197d (patch) | |
tree | 2e212025d646c6d0191da00c0436cacfa3044b35 | |
parent | d23b0fcb5f2be06951676d85aa5cae50c6abd9a0 (diff) | |
download | frameworks_base-168d7ccf58ba6d3a1d7bf5afd116fe8a68c0197d.zip frameworks_base-168d7ccf58ba6d3a1d7bf5afd116fe8a68c0197d.tar.gz frameworks_base-168d7ccf58ba6d3a1d7bf5afd116fe8a68c0197d.tar.bz2 |
Themes: Check if updateConfiguration should be called
Some components do not require us to update the configuration so
we should check for the components that do require a config
change and only then update the configuration.
Change-Id: I8efc00627e82ceff9d1e5262d1a7d6247ad44a58
-rw-r--r-- | services/core/java/com/android/server/ThemeService.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/ThemeService.java b/services/core/java/com/android/server/ThemeService.java index d2fa28e..faf8502 100644 --- a/services/core/java/com/android/server/ThemeService.java +++ b/services/core/java/com/android/server/ThemeService.java @@ -424,7 +424,9 @@ public class ThemeService extends IThemeService.Stub { updateProvider(request); - updateConfiguration(request, removePerAppTheme); + if (shouldUpdateConfiguration(request)) { + updateConfiguration(request, removePerAppTheme); + } killLaunchers(request); @@ -729,6 +731,15 @@ public class ThemeService extends IThemeService.Stub { return true; } + private boolean shouldUpdateConfiguration(ThemeChangeRequest request) { + return request.getOverlayThemePackageName() != null || + request.getFontThemePackageName() != null || + request.getIconsThemePackageName() != null || + request.getStatusBarThemePackageName() != null || + request.getNavBarThemePackageName() != null || + request.getPerAppOverlays().size() > 0; + } + private static ThemeConfig.Builder createBuilderFrom(Configuration config, ThemeChangeRequest request, String pkgName, boolean removePerAppThemes) { ThemeConfig.Builder builder = new ThemeConfig.Builder(config.themeConfig); |