diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 14:04:24 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 14:04:24 -0800 |
commit | 076357b8567458d4b6dfdcf839ef751634cd2bfb (patch) | |
tree | efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f /core/java/android/app/IntentService.java | |
parent | 3dec7d563a2f3e1eb967ce2054a00b6620e3558c (diff) | |
download | frameworks_base-076357b8567458d4b6dfdcf839ef751634cd2bfb.zip frameworks_base-076357b8567458d4b6dfdcf839ef751634cd2bfb.tar.gz frameworks_base-076357b8567458d4b6dfdcf839ef751634cd2bfb.tar.bz2 |
auto import from //depot/cupcake/@132589
Diffstat (limited to 'core/java/android/app/IntentService.java')
-rw-r--r-- | core/java/android/app/IntentService.java | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/core/java/android/app/IntentService.java b/core/java/android/app/IntentService.java deleted file mode 100644 index 2b12a2a..0000000 --- a/core/java/android/app/IntentService.java +++ /dev/null @@ -1,74 +0,0 @@ -package android.app; - -import android.content.Intent; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.IBinder; -import android.os.Looper; -import android.os.Message; - -/** - * An abstract {@link Service} that serializes the handling of the Intents passed upon service - * start and handles them on a handler thread. - * - * <p>To use this class extend it and implement {@link #onHandleIntent}. The {@link Service} will - * automatically be stopped when the last enqueued {@link Intent} is handled. - */ -public abstract class IntentService extends Service { - private volatile Looper mServiceLooper; - private volatile ServiceHandler mServiceHandler; - private String mName; - - private final class ServiceHandler extends Handler { - public ServiceHandler(Looper looper) { - super(looper); - } - - @Override - public void handleMessage(Message msg) { - onHandleIntent((Intent)msg.obj); - stopSelf(msg.arg1); - } - } - - public IntentService(String name) { - super(); - mName = name; - } - - @Override - public void onCreate() { - super.onCreate(); - HandlerThread thread = new HandlerThread("IntentService[" + mName + "]"); - thread.start(); - - mServiceLooper = thread.getLooper(); - mServiceHandler = new ServiceHandler(mServiceLooper); - } - - @Override - public void onStart(Intent intent, int startId) { - super.onStart(intent, startId); - Message msg = mServiceHandler.obtainMessage(); - msg.arg1 = startId; - msg.obj = intent; - mServiceHandler.sendMessage(msg); - } - - @Override - public void onDestroy() { - mServiceLooper.quit(); - } - - @Override - public IBinder onBind(Intent intent) { - return null; - } - - /** - * Invoked on the Handler thread with the {@link Intent} that is passed to {@link #onStart}. - * Note that this will be invoked from a different thread than the one that handles the - * {@link #onStart} call. - */ - protected abstract void onHandleIntent(Intent intent); -} |