summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMatthew Williams <mjwilliams@google.com>2014-09-12 23:26:39 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-12 23:26:40 +0000
commitc0595a7d7d2e3c893452168296c41b4f38989bac (patch)
treeadcc213d9e8e340a3311eae12bf3d77f21622a7a /services
parent0c1a2ef83bb5a1ef9ec034c5a31237495690a10c (diff)
parent7ac52d5bf6652883e204ba322069f6960f58f611 (diff)
downloadframeworks_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.java16
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);
+ }
}