Pass JobParameters into JobService APIs.

The JobParameters are needed for apps to differentiate between running
jobs and must be passed into all JobService APIs.

Bug: 255371817
Test: Android builds
Change-Id: I15469609c0b96292b3d66335070c11e60b5015ec
This commit is contained in:
Kweku Adams
2022-12-06 22:07:32 +00:00
parent 9cba04b013
commit 7118bf929a

View File

@@ -84,9 +84,9 @@ public abstract class JobService extends Service {
public long getTransferredDownloadBytes(@NonNull JobParameters params,
@Nullable JobWorkItem item) {
if (item == null) {
return JobService.this.getTransferredDownloadBytes();
return JobService.this.getTransferredDownloadBytes(params);
} else {
return JobService.this.getTransferredDownloadBytes(item);
return JobService.this.getTransferredDownloadBytes(params, item);
}
}
@@ -95,9 +95,9 @@ public abstract class JobService extends Service {
public long getTransferredUploadBytes(@NonNull JobParameters params,
@Nullable JobWorkItem item) {
if (item == null) {
return JobService.this.getTransferredUploadBytes();
return JobService.this.getTransferredUploadBytes(params);
} else {
return JobService.this.getTransferredUploadBytes(item);
return JobService.this.getTransferredUploadBytes(params, item);
}
}
};
@@ -274,7 +274,7 @@ public abstract class JobService extends Service {
*/
// TODO(255371817): specify the actual time JS will wait for progress before requesting
@BytesLong
public long getTransferredDownloadBytes() {
public long getTransferredDownloadBytes(@NonNull JobParameters params) {
if (Compatibility.isChangeEnabled(THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION)) {
// Regular jobs don't have to implement this and JobScheduler won't call this API for
// non-data transfer jobs.
@@ -298,7 +298,7 @@ public abstract class JobService extends Service {
*/
// TODO(255371817): specify the actual time JS will wait for progress before requesting
@BytesLong
public long getTransferredUploadBytes() {
public long getTransferredUploadBytes(@NonNull JobParameters params) {
if (Compatibility.isChangeEnabled(THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION)) {
// Regular jobs don't have to implement this and JobScheduler won't call this API for
// non-data transfer jobs.
@@ -324,9 +324,10 @@ public abstract class JobService extends Service {
*/
// TODO(255371817): specify the actual time JS will wait for progress before requesting
@BytesLong
public long getTransferredDownloadBytes(@NonNull JobWorkItem item) {
public long getTransferredDownloadBytes(@NonNull JobParameters params,
@NonNull JobWorkItem item) {
if (item == null) {
return getTransferredDownloadBytes();
return getTransferredDownloadBytes(params);
}
if (Compatibility.isChangeEnabled(THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION)) {
// Regular jobs don't have to implement this and JobScheduler won't call this API for
@@ -353,9 +354,10 @@ public abstract class JobService extends Service {
*/
// TODO(255371817): specify the actual time JS will wait for progress before requesting
@BytesLong
public long getTransferredUploadBytes(@NonNull JobWorkItem item) {
public long getTransferredUploadBytes(@NonNull JobParameters params,
@NonNull JobWorkItem item) {
if (item == null) {
return getTransferredUploadBytes();
return getTransferredUploadBytes(params);
}
if (Compatibility.isChangeEnabled(THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION)) {
// Regular jobs don't have to implement this and JobScheduler won't call this API for