The ZenModesLinkPreferenceController is present in the Notifications and Sound screens, and although isAvailable() is false when MODES_UI is not enabled, it was still registering the listener for Settings changes, and calling updateState(). Thus, Settings would (likely) crash if Zen settings change while the user is in one of those screens, due to not finding the manual rule. Fixes: 360498255 Test: atest ZenSettingsObserverTest Flag: android.app.modes_ui Change-Id: I7741809fd0028aace6ac58992be965701e64a2e3
Running Settings Robolectric tests
The full suite
$ croot
$ atest SettingsRoboTests
Running a single test class
With a filter
$ croot
$ atest SettingsRoboTests:com.android.settings.display.AdaptiveSleepPreferenceControllerTest
You can also run any single test class with atest (it will try to find the correct path)
$ atest AdaptiveSleepPreferenceControllerTest