aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cm/lib/main/java/org/cyanogenmod/platform/internal/ThemeManagerService.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/cm/lib/main/java/org/cyanogenmod/platform/internal/ThemeManagerService.java b/cm/lib/main/java/org/cyanogenmod/platform/internal/ThemeManagerService.java
index c78f187..24a7e26 100644
--- a/cm/lib/main/java/org/cyanogenmod/platform/internal/ThemeManagerService.java
+++ b/cm/lib/main/java/org/cyanogenmod/platform/internal/ThemeManagerService.java
@@ -245,19 +245,18 @@ public class ThemeManagerService extends SystemService {
mContext.registerReceiver(mUserChangeReceiver, filter);
mPM = mContext.getPackageManager();
-
- if (!isThemeApiUpToDate()) {
- Log.d(TAG, "The system has been upgraded to a theme new api, " +
- "checking if currently set theme is compatible");
- removeObsoleteThemeOverlayIfExists();
- updateThemeApi();
- }
}
@Override
public void onBootPhase(int phase) {
super.onBootPhase(phase);
if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
+ if (!isThemeApiUpToDate()) {
+ Log.d(TAG, "The system has been upgraded to a theme new api, " +
+ "checking if currently set theme is compatible");
+ removeObsoleteThemeOverlayIfExists();
+ updateThemeApi();
+ }
registerAppsFailureReceiver();
processInstalledThemes();
}
@@ -304,6 +303,11 @@ public class ThemeManagerService extends SystemService {
String pkgName = entry.getValue();
String defaultPkg = defaults.get(component);
+ if (defaultPkg == null) {
+ Log.d(TAG, "Default package is null, skipping " + component);
+ continue;
+ }
+
// Check that the default overlay theme is not currently set
if (defaultPkg.equals(pkgName)) {
Log.d(TAG, "Current overlay theme is same as default. " +