Don't allow jobs of stopped apps to run.

Jobs scheduled on behalf of another app (aka "source app") aren't
dropped when the source app is force stopped. In this scenario, we don't
want the job to run until the app comes out of the stopped state. Add
explicit handling of this case to ensure we don't accidentally run these
jobs and potentially give the app a way to get out of the stopped state
in the background.

Bug: 313794821
Test: atest FrameworksMockingServicesTests:BackgroundJobsControllerTest
Test: atest CtsJobSchedulerTestCases:JobThrottlingTest
Change-Id: I26a8efb0b04022a6ac9e9ad716940c8971fd57dd
6 files changed