Implemented TODO in CoreService
The todo: // TODO: remove this. we never set threadPool to null The fix: Removed most code that would be executed if threadPool were null Reordered a little logic to make code easier to read
This commit is contained in:
parent
d696723023
commit
4178306273
1 changed files with 10 additions and 21 deletions
|
@ -324,30 +324,19 @@ public abstract class CoreService extends Service {
|
|||
}
|
||||
};
|
||||
|
||||
// TODO: remove this. we never set mThreadPool to null
|
||||
if (mThreadPool == null) {
|
||||
Timber.e("CoreService.execute (%s) called with no thread pool available; " +
|
||||
"running Runnable %d in calling thread", className, runner.hashCode());
|
||||
|
||||
synchronized (this) {
|
||||
myRunner.run();
|
||||
serviceShutdownScheduled = startId != null;
|
||||
}
|
||||
} else {
|
||||
Timber.d("CoreService (%s) queueing Runnable %d with startId %d", className, runner.hashCode(), startId);
|
||||
|
||||
try {
|
||||
mThreadPool.execute(myRunner);
|
||||
serviceShutdownScheduled = startId != null;
|
||||
} catch (RejectedExecutionException e) {
|
||||
// Ignore RejectedExecutionException after we shut down the thread pool in
|
||||
// onDestroy(). Still, this should not happen!
|
||||
if (!mShutdown) {
|
||||
throw e;
|
||||
}
|
||||
Timber.d("CoreService (%s) queueing Runnable %d with startId %d", className, runner.hashCode(), startId);
|
||||
|
||||
try {
|
||||
mThreadPool.execute(myRunner);
|
||||
serviceShutdownScheduled = startId != null;
|
||||
} catch (RejectedExecutionException e) {
|
||||
// Ignore RejectedExecutionException after we shut down the thread pool in
|
||||
// onDestroy(). Still, this should not happen!
|
||||
if (mShutdown) {
|
||||
Timber.i("CoreService: %s is shutting down, ignoring rejected execution exception: %s",
|
||||
className, e.getMessage());
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue