Changes in DeviceIdlecontroller and JobScheduler to support Auto GarageMode.
Changes made in the cl: 1. Let DeviceIdleController take listeners on whether background maintanence services are active. This currently includes JobScheduler, SyncManager, DownloadService. Note this is the last known states reported by these services. 2. In JobScheduler, make the idle threshold and alarm window configurable. So in the car case, we don't need to wait 71 mins after screen off to kick off any jobs that require device idle. ------------------------------------------------------------------- * We are not going to suppress JobScheduler, DownloadService, SyncManager entirely while user is driving. Because apps may not be working properly if these services are suspended. * The jobs that we don't allow to run while driving are the jobs submitted to JobScheduler that require device idle. And this is already taken care of, because screen is ON and JobScheduler will not consider the device to be idle while driving (unless user turns off the head unit). * We will need to give the JobScheduler a chance to run the device idle jobs when car is turned off. This is the scope of GarageMode. If DownloadService and SyncManager want to run, we will allow them to run too. * The headunit is treated as wall power device, so it's always charging. The charging state will not toggle. Change-Id: I55b92cf92efd61c48dd6c9b8197c2b68078a4439
Loading
Please register or sign in to comment