diff options
author | Matthew Williams <mjwilliams@google.com> | 2014-09-12 23:26:39 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-12 23:26:40 +0000 |
commit | c0595a7d7d2e3c893452168296c41b4f38989bac (patch) | |
tree | adcc213d9e8e340a3311eae12bf3d77f21622a7a /services | |
parent | 0c1a2ef83bb5a1ef9ec034c5a31237495690a10c (diff) | |
parent | 7ac52d5bf6652883e204ba322069f6960f58f611 (diff) | |
download | frameworks_base-c0595a7d7d2e3c893452168296c41b4f38989bac.zip frameworks_base-c0595a7d7d2e3c893452168296c41b4f38989bac.tar.gz frameworks_base-c0595a7d7d2e3c893452168296c41b4f38989bac.tar.bz2 |
Merge "Fix NPE in JobServiceContext" into lmp-dev
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/job/JobServiceContext.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/job/JobServiceContext.java b/services/core/java/com/android/server/job/JobServiceContext.java index d0447bc..9df21a2 100644 --- a/services/core/java/com/android/server/job/JobServiceContext.java +++ b/services/core/java/com/android/server/job/JobServiceContext.java @@ -170,6 +170,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mRunningJob = null; mParams = null; mExecutionStartTimeElapsed = 0L; + removeOpTimeOut(); return false; } try { @@ -299,7 +300,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne public void handleMessage(Message message) { switch (message.what) { case MSG_SERVICE_BOUND: - removeMessages(MSG_TIMEOUT); + removeOpTimeOut(); handleServiceBoundH(); break; case MSG_CALLBACK: @@ -307,7 +308,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne Slog.d(TAG, "MSG_CALLBACK of : " + mRunningJob + " v:" + (mVerb >= 0 ? VERB_STRINGS[mVerb] : "[invalid]")); } - removeMessages(MSG_TIMEOUT); + removeOpTimeOut(); if (mVerb == VERB_STARTING) { final boolean workOngoing = message.arg2 == 1; @@ -498,7 +499,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * VERB_STOPPING. */ private void sendStopMessageH() { - mCallbackHandler.removeMessages(MSG_TIMEOUT); + removeOpTimeOut(); if (mVerb != VERB_EXECUTING) { Slog.e(TAG, "Sending onStopJob for a job that isn't started. " + mRunningJob); closeAndCleanupJobH(false /* reschedule */); @@ -540,7 +541,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne service = null; mAvailable = true; } - removeMessages(MSG_TIMEOUT); + removeOpTimeOut(); removeMessages(MSG_CALLBACK); removeMessages(MSG_SERVICE_BOUND); removeMessages(MSG_CANCEL); @@ -555,7 +556,7 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne * on with life. */ private void scheduleOpTimeOut() { - mCallbackHandler.removeMessages(MSG_TIMEOUT); + removeOpTimeOut(); final long timeoutMillis = (mVerb == VERB_EXECUTING) ? EXECUTING_TIMESLICE_MILLIS : OP_TIMEOUT_MILLIS; @@ -568,4 +569,9 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne mCallbackHandler.sendMessageDelayed(m, timeoutMillis); mTimeoutElapsed = SystemClock.elapsedRealtime() + timeoutMillis; } + + + private void removeOpTimeOut() { + mCallbackHandler.removeMessages(MSG_TIMEOUT); + } } |