diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/controls/ui/ControlsActivity.kt | 4 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/controls/ui/TestableControlsActivity.kt | 8 |
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` + } +} |