Fix JobScheduler CTS tests

The JobScheduler CTS tests were making implicit assumptions about alarm
manager semantics; in particular, about the ability to schedule alarms in
rapid succession.  This broke when the platform behavior changed out from
under the tests.

The job scheduler tests now accommodate much more relaxed execution
timing.

Bug 18928665

Change-Id: I09383eebbc64fec9e6fafe73a4df5da8efe95bc0
diff --git a/tests/JobScheduler/src/android/jobscheduler/MockJobService.java b/tests/JobScheduler/src/android/jobscheduler/MockJobService.java
index a0177e2..38a753d 100644
--- a/tests/JobScheduler/src/android/jobscheduler/MockJobService.java
+++ b/tests/JobScheduler/src/android/jobscheduler/MockJobService.java
@@ -34,7 +34,7 @@
     private static final String TAG = "MockJobService";
 
     /** Wait this long before timing out the test. */
-    private static final long DEFAULT_TIMEOUT_MILLIS = 5000L; // 5 seconds.
+    private static final long DEFAULT_TIMEOUT_MILLIS = 30000L; // 30 seconds.
 
     @Override
     public void onCreate() {
diff --git a/tests/JobScheduler/src/android/jobscheduler/cts/TimingConstraintsTest.java b/tests/JobScheduler/src/android/jobscheduler/cts/TimingConstraintsTest.java
index 36f44ef..ed9cadd 100644
--- a/tests/JobScheduler/src/android/jobscheduler/cts/TimingConstraintsTest.java
+++ b/tests/JobScheduler/src/android/jobscheduler/cts/TimingConstraintsTest.java
@@ -29,7 +29,7 @@
 
     public void testScheduleOnce() throws Exception {
         JobInfo oneTimeJob = new JobInfo.Builder(TIMING_JOB_ID, kJobServiceComponent)
-                        .setOverrideDeadline(1000)  // 1 secs
+                        .setOverrideDeadline(5000)  // 5 secs
                         .build();
 
         kTestEnvironment.setExpectedExecutions(1);
@@ -41,7 +41,7 @@
     public void testSchedulePeriodic() throws Exception {
         JobInfo periodicJob =
                 new JobInfo.Builder(TIMING_JOB_ID, kJobServiceComponent)
-                        .setPeriodic(1000L)  // 1 second period.
+                        .setPeriodic(5000L)  // 5 second period.
                         .build();
 
         kTestEnvironment.setExpectedExecutions(3);
@@ -52,7 +52,8 @@
 
     public void testCancel() throws Exception {
         JobInfo cancelJob = new JobInfo.Builder(CANCEL_JOB_ID, kJobServiceComponent)
-                .setOverrideDeadline(2000L)
+                .setMinimumLatency(5000L) // make sure it doesn't actually run immediately
+                .setOverrideDeadline(7000L)
                 .build();
 
         kTestEnvironment.setExpectedExecutions(0);