From 2022bad756a901c4f7622d85a8e23662642f0528 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 2 Feb 2017 18:07:42 -0800 Subject: [PATCH] Make job startup timeout similar to base OS service launch timeout Bug 34464989 Change-Id: I4c0f5d8303e682bcb19a3f3c2d6be33b810a1f6e --- .../android/server/job/JobServiceContext.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/job/JobServiceContext.java b/services/core/java/com/android/server/job/JobServiceContext.java index b089ba7ee9ed8..7cb223dec5f30 100644 --- a/services/core/java/com/android/server/job/JobServiceContext.java +++ b/services/core/java/com/android/server/job/JobServiceContext.java @@ -70,6 +70,8 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne ActivityManager.isLowRamDeviceStatic() ? 1 : 3; /** Amount of time a job is allowed to execute for before being considered timed-out. */ private static final long EXECUTING_TIMESLICE_MILLIS = 10 * 60 * 1000; // 10mins. + /** Amount of time the JobScheduler waits for the initial service launch+bind. */ + private static final long OP_BIND_TIMEOUT_MILLIS = 18 * 1000; /** Amount of time the JobScheduler will wait for a response from an app for a message. */ private static final long OP_TIMEOUT_MILLIS = 8 * 1000; @@ -645,8 +647,20 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne private void scheduleOpTimeOut() { removeOpTimeOut(); - final long timeoutMillis = (mVerb == VERB_EXECUTING) ? - EXECUTING_TIMESLICE_MILLIS : OP_TIMEOUT_MILLIS; + final long timeoutMillis; + switch (mVerb) { + case VERB_EXECUTING: + timeoutMillis = EXECUTING_TIMESLICE_MILLIS; + break; + + case VERB_BINDING: + timeoutMillis = OP_BIND_TIMEOUT_MILLIS; + break; + + default: + timeoutMillis = OP_TIMEOUT_MILLIS; + break; + } if (DEBUG) { Slog.d(TAG, "Scheduling time out for '" + mRunningJob.getServiceComponent().getShortClassName() + "' jId: " +