Retry: JobScheduler to use UID active state for job exemption

This is a second try for I134ac3d84a26309dab56ab6cbb271de626acdf7d.

Apparently alarms are firing even before PHASE_SYSTEM_SERVICES_READY, so add
more null checks.

Test: Boot on taimen.
Test: atest CtsAlarmManagerTestCases
Test: atest CtsJobSchedulerTestCases
Test: atest CtsBatterySavingTestCases
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/AppStateTrackerTest.java
Change-Id: I4b2a5af04e4d78c996e73da0621047da7a7bff39
9 files changed