diff options
author | 2025-02-12 12:18:52 -0800 | |
---|---|---|
committer | 2025-02-12 12:18:52 -0800 | |
commit | 22ca5467adb0bb4928f97a72a7c2bbb2b58e9be7 (patch) | |
tree | 6917f39057e23edaaf860c09b431b54c8238b8e4 | |
parent | e5d33ef818bc87e455fe05e98cbc572e6ff2d4f2 (diff) | |
parent | 1896f641589750945af6bac4c0730aab755fe57c (diff) |
Merge "Fix a CTS test issue that job is not scheduled" into main
-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); |