From dc26bd0e6681d1f197d3afd5294d120fa6f898f6 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Wed, 11 Aug 2021 19:10:43 -0700 Subject: [PATCH] Allow overlays to be notified about theme changes Overlays should override onOverlaysApplied() in order to act upon theme changes. Test: manual Bug: 190093578 Change-Id: Ie52b8c55a046d150dd30aae5fabb279b53a959f5 --- .../SystemUI/src/com/android/systemui/dump/DumpManager.kt | 2 +- .../com/android/systemui/flags/SystemPropertiesHelper.kt | 6 +++++- .../com/android/systemui/theme/ThemeOverlayController.java | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt b/packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt index bfa478088cadd..5b327bd5e4c12 100644 --- a/packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt +++ b/packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt @@ -34,7 +34,7 @@ import javax.inject.Inject * See [DumpHandler] for more information on how and when this information is dumped. */ @SysUISingleton -class DumpManager @Inject constructor() { +open class DumpManager @Inject constructor() { private val dumpables: MutableMap> = ArrayMap() private val buffers: MutableMap> = ArrayMap() diff --git a/packages/SystemUI/src/com/android/systemui/flags/SystemPropertiesHelper.kt b/packages/SystemUI/src/com/android/systemui/flags/SystemPropertiesHelper.kt index 28f63b07e5842..6561bd5a5323f 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/SystemPropertiesHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/SystemPropertiesHelper.kt @@ -25,8 +25,12 @@ import javax.inject.Inject * Proxy to make {@link SystemProperties} easily testable. */ @SysUISingleton -class SystemPropertiesHelper @Inject constructor() { +open class SystemPropertiesHelper @Inject constructor() { fun getBoolean(name: String, default: Boolean): Boolean { return SystemProperties.getBoolean(name, default) } + + fun set(name: String, value: Int) { + SystemProperties.set(name, value.toString()) + } } \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java index cfd82f5a7d2e0..377a7e65d0a4e 100644 --- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java @@ -535,6 +535,10 @@ public class ThemeOverlayController extends SystemUI implements Dumpable { mThemeManager.applyCurrentUserOverlays(categoryToPackage, null, currentUser, managedProfiles); } + onOverlaysApplied(); + } + + protected void onOverlaysApplied() { } @Override