summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt4
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt8
2 files changed, 11 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt
index 14817dcdc935..4a22e4eecc2b 100644
--- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt
@@ -159,6 +159,10 @@ open class ControlsActivity @Inject constructor(
override fun onDestroy() {
super.onDestroy()
+ unregisterReceiver()
+ }
+
+ protected open fun unregisterReceiver() {
broadcastDispatcher.unregisterReceiver(broadcastReceiver)
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt
index f0b473210630..d2fe68ad8e1a 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt
@@ -22,6 +22,8 @@ import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.statusbar.policy.KeyguardStateController
+// IMPORTANT: onDestroy may be called outside of bounds of the test. That means that the mocks
+// may have been nulled before onDestroy happens.
class TestableControlsActivity(
uiController: ControlsUiController,
broadcastDispatcher: BroadcastDispatcher,
@@ -37,4 +39,8 @@ class TestableControlsActivity(
featureFlags,
controlsSettingsDialogManager,
keyguardStateController
- )
+ ) {
+ override fun unregisterReceiver() {
+ // Do nothing. This will be called in `onDestroy`
+ }
+}