diff options
-rw-r--r-- | tests/cts/permission/permissionTestUtilLib/src/android/permission/cts/PermissionUtils.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/cts/permission/permissionTestUtilLib/src/android/permission/cts/PermissionUtils.java b/tests/cts/permission/permissionTestUtilLib/src/android/permission/cts/PermissionUtils.java index aabdd8565..55c2d9f31 100644 --- a/tests/cts/permission/permissionTestUtilLib/src/android/permission/cts/PermissionUtils.java +++ b/tests/cts/permission/permissionTestUtilLib/src/android/permission/cts/PermissionUtils.java @@ -384,7 +384,7 @@ public class PermissionUtils { simulateReboot(packageName, intentAction, broadcastReceiver); while ((System.currentTimeMillis() - startTime) < timeout - && !jobStatus.contains("waiting")) { + && !isJobScheduled(jobStatus)) { String cmd = "cmd jobscheduler get-job-state -u " + Process.myUserHandle().getIdentifier() + " " + packageName + " " + jobId; @@ -396,11 +396,16 @@ public class PermissionUtils { // ignore interrupt } } - if (!jobStatus.contains("waiting")) { + if (!isJobScheduled(jobStatus)) { throw new IllegalStateException("The job didn't get scheduled in time."); } } + private static boolean isJobScheduled(String jobStatus) throws Exception { + return jobStatus.contains("waiting") || jobStatus.contains("pending") + || jobStatus.contains("ready") || jobStatus.contains("active"); + } + private static void simulateReboot(@NonNull String packageName, @NonNull String intentAction, @NonNull String broadcastReceiver) { Intent jobSetupReceiverIntent = new Intent(intentAction); |