From 9fe48e9349fa4718063c713c984913ecf5e66545 Mon Sep 17 00:00:00 2001 From: Kunal Malhotra Date: Fri, 21 Apr 2023 21:14:21 +0000 Subject: [PATCH] Adding in proc_state to jobs atom Test: manual testing on phone Bug: 260913634 Change-Id: Ie61213a92f27420d0f13bdc4e6712f883aed4d09 --- .../java/com/android/server/job/JobSchedulerService.java | 7 +++++-- .../java/com/android/server/job/JobServiceContext.java | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java index 577260e5106f4..8a4b4647f94bc 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -1560,7 +1560,8 @@ public class JobSchedulerService extends com.android.server.SystemService jobStatus.getJob().getMinLatencyMillis(), jobStatus.getEstimatedNetworkDownloadBytes(), jobStatus.getEstimatedNetworkUploadBytes(), - jobStatus.getWorkCount()); + jobStatus.getWorkCount(), + ActivityManager.processStateAmToProto(mUidProcStates.get(jobStatus.getUid()))); // If the job is immediately ready to run, then we can just immediately // put it in the pending list and try to schedule it. This is especially @@ -1935,6 +1936,7 @@ public class JobSchedulerService extends com.android.server.SystemService * {@code incomingJob} is non-null, it replaces {@code cancelled} in the store of * currently scheduled jobs. */ + @GuardedBy("mLock") private void cancelJobImplLocked(JobStatus cancelled, JobStatus incomingJob, @JobParameters.StopReason int reason, int internalReasonCode, String debugReason) { if (DEBUG) Slog.d(TAG, "CANCEL: " + cancelled.toShortString()); @@ -1986,7 +1988,8 @@ public class JobSchedulerService extends com.android.server.SystemService cancelled.getJob().getMinLatencyMillis(), cancelled.getEstimatedNetworkDownloadBytes(), cancelled.getEstimatedNetworkUploadBytes(), - cancelled.getWorkCount()); + cancelled.getWorkCount(), + ActivityManager.processStateAmToProto(mUidProcStates.get(cancelled.getUid()))); } // If this is a replacement, bring in the new version of the job if (incomingJob != null) { diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java index fb36cdec490f2..f95df4471c29a 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobServiceContext.java @@ -25,6 +25,7 @@ import android.Manifest; import android.annotation.BytesLong; import android.annotation.NonNull; import android.annotation.Nullable; +import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.Notification; import android.app.compat.CompatChanges; @@ -476,7 +477,8 @@ public final class JobServiceContext implements ServiceConnection { job.getJob().getMinLatencyMillis(), job.getEstimatedNetworkDownloadBytes(), job.getEstimatedNetworkUploadBytes(), - job.getWorkCount()); + job.getWorkCount(), + ActivityManager.processStateAmToProto(mService.getUidProcState(job.getUid()))); final String sourcePackage = job.getSourcePackageName(); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { final String componentPackage = job.getServiceComponent().getPackageName(); @@ -1447,7 +1449,9 @@ public final class JobServiceContext implements ServiceConnection { completedJob.getJob().getMinLatencyMillis(), completedJob.getEstimatedNetworkDownloadBytes(), completedJob.getEstimatedNetworkUploadBytes(), - completedJob.getWorkCount()); + completedJob.getWorkCount(), + ActivityManager + .processStateAmToProto(mService.getUidProcState(completedJob.getUid()))); if (Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { Trace.asyncTraceForTrackEnd(Trace.TRACE_TAG_SYSTEM_SERVER, "JobScheduler", getId());