summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2013-02-20 15:54:26 -0800
committerJeff Sharkey <jsharkey@android.com>2013-02-20 15:54:26 -0800
commit71a53040699e713bcae839a01b7f8abd9e13bab6 (patch)
tree204e39c8b50322f122fa814f5e9d067f937a6769 /src
parentd1214c9c92b6a4a44cfc46125c33d071a0f3d880 (diff)
downloadandroid_packages_providers_DownloadProvider-71a53040699e713bcae839a01b7f8abd9e13bab6.tar.gz
android_packages_providers_DownloadProvider-71a53040699e713bcae839a01b7f8abd9e13bab6.tar.bz2
android_packages_providers_DownloadProvider-71a53040699e713bcae839a01b7f8abd9e13bab6.zip
Only use single UpdateThread.
Since DownloadService starts and stops frequently, recycle a single UpdateThread across invocations. Bug: 8233041 Change-Id: I07756fb6bfdbad811cbd58e628fdfdbf63d71bf8
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/downloads/DownloadService.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/com/android/providers/downloads/DownloadService.java b/src/com/android/providers/downloads/DownloadService.java
index 66d3be96..20cf6294 100644
--- a/src/com/android/providers/downloads/DownloadService.java
+++ b/src/com/android/providers/downloads/DownloadService.java
@@ -158,9 +158,11 @@ public class DownloadService extends Service {
mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mStorageManager = new StorageManager(this);
- mUpdateThread = new HandlerThread(TAG + "-UpdateThread");
- mUpdateThread.start();
- mUpdateHandler = new Handler(mUpdateThread.getLooper(), mUpdateCallback);
+ if (mUpdateThread == null) {
+ mUpdateThread = new HandlerThread(TAG + "-UpdateThread");
+ mUpdateThread.start();
+ mUpdateHandler = new Handler(mUpdateThread.getLooper(), mUpdateCallback);
+ }
mScanner = new DownloadScanner(this);
@@ -185,7 +187,6 @@ public class DownloadService extends Service {
@Override
public void onDestroy() {
- mUpdateThread.quit();
mScanner.shutdown();
getContentResolver().unregisterContentObserver(mObserver);
if (Constants.LOGVV) {