The "Pause app activity if unused" SwitchPreference under App info page.
Currently, the preference controller updates the UI state in the
onOpChanged(), which is unnecessary and is called in another non-UI
thread.
Not updating state in onOpChanged() to fix.
Note: This controller implements the LifecycleObserver to handle
lifecycle related logic, but it's actually a no-op before change
If9e48e44267de8e89a5e8f45d256719130936320. So it used to work fine
without the OnOpChangedListener, we can remove it now.
Fix: 227762370
Test: manual
Change-Id: I33f1f55a706407d7b409c3544f9889c45855b34d
Use hibernation eligibility API to determine whether toggle should be
enabled or disabled for an app. For apps that are already exempt from
hibernation by the system, the toggle is disabled and unchecked.
Bug: 200087723
Test: manual
Test: atest AppHibernationIntegrationTest
Change-Id: I36a1eafc2bb90a92bcbdc4bf32041426d6377fd4
When an app is exempted from hibernation, we unhibernate as well. This
prevents confusing situations where a user may return to the "Unused
Apps" page and sees that the app is still there even after exemption.
Bug: 205641871
Test: atest HibernationSwitchPreferenceControllerTest
Change-Id: I4f98a2212eefdb6c456a0de36d428021b262cca3
For dogfood, we want hibernation to target apps that target pre-S. This
was done on the PermissionController side but the toggle in Settings
did not visually reflect this policy, confusing dogfood/teamfood
participants.
This updates the default toggle position to consider whether the pre-S
flag is on and then default to the "on" position for apps targeting
pre-S if the flag was on for the device.
Bug: 189260947
Test: atest HibernationSwitchPreferenceControllerTest
Test: manual
Change-Id: I9cd16e82e1eee4589cb17a356b6bf2e3297a8dd2
Update the summary of "unused apps" based on how many apps are
hibernated or auto revoked.
Test: HibernatedAppsPreferenceControllerTest
Bug: 181172051
Change-Id: I274eb3c0ada3d063937368232f31e52c20287552
Created an preference in Apps & Notifcations page as the entry point for
apps that are hibernated. Also added a switch preference in AppInfo page
for users to exempt an app from hibernation.
Bug: 181172051
Test: HibernatedAppsPreferenceControllerTest;
HibernationSwitchPreferenceControllerTest;
AppInfoDashboardFragmentTest
Change-Id: I72a90ab391cd521150fc155a6d9c67c846b7360d