Knobs for connectivity experiments.

We keep the sane default values of 50% through a job window for
delaying on congested networks and promoting prefetch jobs, but now
allow experiments to override these values.

There's only ever one of each controller, so just create it tied to
the JobSchedulerService that owns it.  (People that need hooks for
testing can provide a mock JSS, instead of doing extra constructor
overloads.)

Use IndentingPrintWriter for dumping constants.

Test: bit FrameworksServicesTests:com.android.server.job.
Bug: 72353440, 73019091
Change-Id: Icdb40ee3b0bb22a20ed821888b42b87f33eb49ec
13 files changed