[Night] Add a new night theme trigger: bedtime
This CL expands the existing UiModeManager APIs to allow users activate
dark mode at their configured bedtime schedule on supported devices,
i.e. devices with Digital Wellbeing preinstalled.
The CL added granular types for NIGHT_MODE_CUSTOM. There are two types
1. MODE_NIGHT_CUSTOM_TYPE_SCHEDULE
This is the type for a schedule set up by users via the Settings
app.
2. MODE_NIGHT_CUSTOM_TYPE_BEDTIME
This is the type for a bedtime schedule set up by users via the
Digital Wellbeing bedtime settings. Unlike
MODE_NIGHT_CUSTOM_TYPE_SCHEDULE, Android framework doesn't have
any information of the bedtime schedule. The activation of dark
theme lives inside Digital Wellbeing
Test: unit tests: atest FrameworksUiServicesTests:UiModeManagerServiceTest
CTS: atest CtsAppTestCases:UiModeManagerTest
Manual testing via a system app integration
Bug: 210975231
Change-Id: I3b16e649a048f8a485b9e9d6464d4f251839320d
6 files changed