diff options
-rw-r--r-- | packages/StatementService/src/com/android/statementservice/DirectStatementService.java | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/packages/StatementService/src/com/android/statementservice/DirectStatementService.java b/packages/StatementService/src/com/android/statementservice/DirectStatementService.java index 449738e9c605..659696e0e212 100644 --- a/packages/StatementService/src/com/android/statementservice/DirectStatementService.java +++ b/packages/StatementService/src/com/android/statementservice/DirectStatementService.java @@ -155,17 +155,20 @@ public final class DirectStatementService extends Service { @Override public void onDestroy() { super.onDestroy(); - if (mThread != null) { - mThread.quit(); - } - - try { - if (mHttpResponseCache != null) { - mHttpResponseCache.delete(); + final HttpResponseCache responseCache = mHttpResponseCache; + mHandler.post(new Runnable() { + public void run() { + try { + if (responseCache != null) { + responseCache.delete(); + } + } catch (IOException e) { + Log.i(TAG, "HTTP(S) response cache deletion failed:" + e); + } + Looper.myLooper().quit(); } - } catch (IOException e) { - Log.i(TAG, "HTTP(S) response cache deletion failed:" + e); - } + }); + mHttpResponseCache = null; } @Override |