Remove final keyword to let AppHibernationManager be mockable. This can
help testing other classes where the APIs are used.
Test: built successfully
Bug: 183142489
Change-Id: I96eec719d71f549f6a2209fd0db22412c1fa487f
Add API to AppHibernationService to get hibernating packages so
Settings can access this information.
Bug: 175829330
Test: atest AppHibernationServiceTest
Change-Id: Icd186807c19ece55a21fc4d240d2f0132951af82
Add permission for app hibernation state manipulation.
Bug: 183058954
Test: run hibernation job and confirm the API works for
PermissionController
(cherrypick of ag/13909632)
Merged-In: Id57ee57f49710d0b8a49a4ec561800db43089f87
Change-Id: Id57ee57f49710d0b8a49a4ec561800db43089f87
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