From f74a0c0fd50fd2ff0c0245bae28baf4e72f492b2 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Thu, 10 Mar 2022 17:13:58 +0000 Subject: [PATCH] Store requested priority. Store the requested priority to disk instead of the effective priority so that reschedules after successful execution use the correct priority. Bug: 223825374 Test: atest FrameworksServicesTests:JobStoreTest Change-Id: If36c0a476e196c5b41538d10973abd407a356d95 --- .../service/java/com/android/server/job/JobStore.java | 2 +- .../src/com/android/server/job/JobStoreTest.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java index a8dd75248dd82..dfa1442a3192a 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobStore.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobStore.java @@ -548,7 +548,7 @@ public final class JobStore { out.attribute(null, "sourceUserId", String.valueOf(jobStatus.getSourceUserId())); out.attribute(null, "uid", Integer.toString(jobStatus.getUid())); out.attribute(null, "bias", String.valueOf(jobStatus.getBias())); - out.attribute(null, "priority", String.valueOf(jobStatus.getEffectivePriority())); + out.attribute(null, "priority", String.valueOf(jobStatus.getJob().getPriority())); out.attribute(null, "flags", String.valueOf(jobStatus.getFlags())); if (jobStatus.getInternalFlags() != 0) { out.attribute(null, "internalFlags", String.valueOf(jobStatus.getInternalFlags())); diff --git a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java index 4de15c87dcc1b..928c76d07d7c8 100644 --- a/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java +++ b/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java @@ -330,11 +330,12 @@ public class JobStoreTest { @Test public void testPriorityPersisted() throws Exception { - final JobInfo.Builder b = new Builder(92, mComponent) + final JobInfo job = new Builder(92, mComponent) .setOverrideDeadline(5000) .setPriority(JobInfo.PRIORITY_MIN) - .setPersisted(true); - final JobStatus js = JobStatus.createFromJobInfo(b.build(), SOME_UID, null, -1, null); + .setPersisted(true) + .build(); + final JobStatus js = JobStatus.createFromJobInfo(job, SOME_UID, null, -1, null); mTaskStoreUnderTest.add(js); waitForPendingIo(); @@ -342,7 +343,7 @@ public class JobStoreTest { mTaskStoreUnderTest.readJobMapFromDisk(jobStatusSet, true); final JobStatus loaded = jobStatusSet.getAllJobs().iterator().next(); assertEquals("Priority not correctly persisted.", - JobInfo.PRIORITY_MIN, loaded.getEffectivePriority()); + JobInfo.PRIORITY_MIN, job.getPriority()); } /**