Add/remove user state based off user unlocking

Only store user hibernation state in memory when the user is not stopped
and is unlocked since we do not need the information. When a user
unlocks, we get their installed packages and initialize their
hibernation states in memory. When the user is stopped, we clear it.

Bug: 175829330
Test: atest AppHibernationServiceTest
Change-Id: Idb2dba02d53df72daedae0078405634a5db51e8d
2 files changed