Themes: Check theme api level in onBootPhase
This check should be done once the system has reached the PHASE_ACTIVITY_MANAGER_READY otherwise we can end up getting a boot failure within the ThemeManagerService Change-Id: If3e9c8885d8718224cf7d8fed0c0fb82ebe0fcab TICKET: CYNGNOS-2230
This commit is contained in:
parent
948e399b5d
commit
b05ce12eab
|
@ -245,19 +245,18 @@ public class ThemeManagerService extends SystemService {
|
||||||
mContext.registerReceiver(mUserChangeReceiver, filter);
|
mContext.registerReceiver(mUserChangeReceiver, filter);
|
||||||
|
|
||||||
mPM = mContext.getPackageManager();
|
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
|
@Override
|
||||||
public void onBootPhase(int phase) {
|
public void onBootPhase(int phase) {
|
||||||
super.onBootPhase(phase);
|
super.onBootPhase(phase);
|
||||||
if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
|
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();
|
registerAppsFailureReceiver();
|
||||||
processInstalledThemes();
|
processInstalledThemes();
|
||||||
}
|
}
|
||||||
|
@ -304,6 +303,11 @@ public class ThemeManagerService extends SystemService {
|
||||||
String pkgName = entry.getValue();
|
String pkgName = entry.getValue();
|
||||||
String defaultPkg = defaults.get(component);
|
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
|
// Check that the default overlay theme is not currently set
|
||||||
if (defaultPkg.equals(pkgName)) {
|
if (defaultPkg.equals(pkgName)) {
|
||||||
Log.d(TAG, "Current overlay theme is same as default. " +
|
Log.d(TAG, "Current overlay theme is same as default. " +
|
||||||
|
|
Loading…
Reference in New Issue