Skip persisting when there's no change.

Only request the persisted file be updated when we have actually
modified something inside the job.

Bug: 141645789
Test: N/A
Change-Id: I7764923817573d76be071aa076cd0a3a6f41d4ec
This commit is contained in:
Kweku Adams
2023-02-28 16:51:36 +00:00
parent d8f79f38fb
commit cbd4a36f60
2 changed files with 9 additions and 2 deletions

View File

@@ -727,8 +727,11 @@ public final class JobServiceContext implements ServiceConnection {
// Exception-throwing-can down the road to JobParameters.completeWork >:(
return true;
}
mService.mJobs.touchJob(mRunningJob);
return mRunningJob.completeWorkLocked(workId);
if (mRunningJob.completeWorkLocked(workId)) {
mService.mJobs.touchJob(mRunningJob);
return true;
}
return false;
}
} finally {
Binder.restoreCallingIdentity(ident);

View File

@@ -828,6 +828,10 @@ public final class JobStatus {
}
}
/**
* Returns {@code true} if the JobWorkItem queue was updated,
* and {@code false} if nothing changed.
*/
public boolean completeWorkLocked(int workId) {
if (executingWork != null) {
final int N = executingWork.size();