diff options
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java index 843630b35e17..c3b4fbe9a13d 100644 --- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java +++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java @@ -197,8 +197,10 @@ public class ThemeOverlayApplier implements Dumpable { .collect(Collectors.toList()); OverlayManagerTransaction.Builder transaction = getTransactionBuilder(); + HashSet<OverlayIdentifier> identifiersPending = new HashSet<>(); if (pendingCreation != null) { for (FabricatedOverlay overlay : pendingCreation) { + identifiersPending.add(overlay.getIdentifier()); transaction.registerFabricatedOverlay(overlay); } } @@ -206,14 +208,14 @@ public class ThemeOverlayApplier implements Dumpable { for (Pair<String, String> packageToDisable : overlaysToDisable) { OverlayIdentifier overlayInfo = new OverlayIdentifier(packageToDisable.second); setEnabled(transaction, overlayInfo, packageToDisable.first, currentUser, - managedProfiles, false); + managedProfiles, false, identifiersPending.contains(overlayInfo)); } for (String category : THEME_CATEGORIES) { if (categoryToPackage.containsKey(category)) { OverlayIdentifier overlayInfo = categoryToPackage.get(category); setEnabled(transaction, overlayInfo, category, currentUser, managedProfiles, - true); + true, identifiersPending.contains(overlayInfo)); } } @@ -233,7 +235,7 @@ public class ThemeOverlayApplier implements Dumpable { @AnyThread private void setEnabled(OverlayManagerTransaction.Builder transaction, OverlayIdentifier identifier, String category, int currentUser, - Set<UserHandle> managedProfiles, boolean enabled) { + Set<UserHandle> managedProfiles, boolean enabled, boolean pendingCreation) { if (DEBUG) { Log.d(TAG, "setEnabled: " + identifier.getPackageName() + " category: " + category + ": " + enabled); @@ -241,7 +243,7 @@ public class ThemeOverlayApplier implements Dumpable { OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(identifier, UserHandle.of(currentUser)); - if (overlayInfo == null) { + if (overlayInfo == null && !pendingCreation) { Log.i(TAG, "Won't enable " + identifier + ", it doesn't exist for user" + currentUser); return; |