diff options
author | Hung-ying Tyan <tyanh@google.com> | 2012-06-27 18:25:47 +0800 |
---|---|---|
committer | Hung-ying Tyan <tyanh@google.com> | 2012-06-27 18:26:45 +0800 |
commit | a56270e9d7072be946569815712dea09b2544718 (patch) | |
tree | 9b683f2f65041ac7e94598e6c31a44551e91382d | |
parent | 5281c0b1fb73947d5808b9abab2d70266bc2dcdf (diff) | |
download | android_packages_apps_Gallery2-a56270e9d7072be946569815712dea09b2544718.tar.gz android_packages_apps_Gallery2-a56270e9d7072be946569815712dea09b2544718.tar.bz2 android_packages_apps_Gallery2-a56270e9d7072be946569815712dea09b2544718.zip |
Replace BroadcastReceiver.goAsync() with IntentService
to make Gallery run on older API.
Change-Id: I30dacb38eb4e70ed3f89135544d6c514d0379add
-rw-r--r-- | AndroidManifest.xml | 1 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/PackagesMonitor.java | 28 |
2 files changed, 15 insertions, 14 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2a69ce1e3..5fc501506 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -322,6 +322,7 @@ <data android:scheme="package"/> </intent-filter> </receiver> + <service android:name="com.android.gallery3d.app.PackagesMonitor$AsyncService"/> <receiver android:name="com.android.camera.CameraButtonIntentReceiver"> <intent-filter> <action android:name="android.intent.action.CAMERA_BUTTON"/> diff --git a/src/com/android/gallery3d/app/PackagesMonitor.java b/src/com/android/gallery3d/app/PackagesMonitor.java index e4bb8eedb..c849df6d4 100644 --- a/src/com/android/gallery3d/app/PackagesMonitor.java +++ b/src/com/android/gallery3d/app/PackagesMonitor.java @@ -16,6 +16,7 @@ package com.android.gallery3d.app; +import android.app.IntentService; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -34,23 +35,22 @@ public class PackagesMonitor extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { - final PendingResult result = goAsync(); - new Thread("GalleryPackagesMonitorAsync") { - @Override - public void run() { - try { - onReceiveAsync(context, intent); - } catch (Throwable t) { - Log.e("PackagesMonitor", "onReceiveAsync", t); - } finally { - result.finish(); - } - } - }.start(); + context.startService(new Intent(context, AsyncService.class)); + } + + public static class AsyncService extends IntentService { + public AsyncService() { + super("GalleryPackagesMonitorAsync"); + } + + @Override + protected void onHandleIntent(Intent intent) { + onReceiveAsync(this, intent); + } } // Runs in a background thread. - private void onReceiveAsync(Context context, Intent intent) { + private static void onReceiveAsync(Context context, Intent intent) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); int version = prefs.getInt(KEY_PACKAGES_VERSION, 1); |