summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas Dupin <dupin@google.com>2021-07-21 22:50:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-07-21 22:50:54 +0000
commit715ab391499c3e1a11245e8bd68c0831291c90b9 (patch)
tree8d935c52cc6607f8e5bfddffa4d6f6bc2ef5ae61
parent03b95c36a3baf35e0e377fea2096cfd6aae25c14 (diff)
parent7eecfccb6f25900b95d3f322c1871ac47ea41a8d (diff)
Merge "Enable overlays that are pending creation" into sc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayApplier.java10
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;