summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClark Scheff <clark@cyngn.com>2015-02-26 13:33:01 -0800
committerClark Scheff <clark@cyngn.com>2015-10-27 10:40:41 -0700
commit168d7ccf58ba6d3a1d7bf5afd116fe8a68c0197d (patch)
tree2e212025d646c6d0191da00c0436cacfa3044b35
parentd23b0fcb5f2be06951676d85aa5cae50c6abd9a0 (diff)
downloadframeworks_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.java13
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);