Introduce the concept of global package hibernation / package-level
hibernation. This opens the way for optimizations at the package or
APK level based off usage across all users.
Bug: 175829330
Test: atest AppHibernationServiceTest
Test: adb shell cmd app_hibernation get-state --global
com.google.android.deskclock
Change-Id: Ic989fc09a4c60f3bbf28b34fe38fa07e77eedacb
Add app hibernation system service and manager class and start it when
app hibernation flag is enabled.
The actual API is currently stubbed and will be implemented in further
CLs.
Bug: 175829330
Test: adb shell device_config put app_hibernation
app_hibernation_enabled true
adb reboot
adb shell services list
Change-Id: Ide2758d3eaabae7d3df6356d4b6435c5137c554d
Add OWNERS in services/core/java/com/android/server/apphibernation for
system service code and core/java/android/apphibernation/OWNERS for
client-facing code.
Bug: 175829330
Test: builds
Change-Id: I76d95309b641d9e75e68a50c6563df9f95b9c142