aboutsummaryrefslogtreecommitdiff
path: root/subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2012-07-07 08:29:52 -0700
committerScott Jackson <daneren2005@gmail.com>2012-07-07 08:29:52 -0700
commit6ebae86dfbb7fa79d81e6b2485f395eeab7267ef (patch)
treebc26b39df3c6a666bcac960042f2ac8cb06ad202 /subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java
parent8a7bb33f73d4fab1e380adf972efc2f3a7ee8b3e (diff)
downloaddsub-6ebae86dfbb7fa79d81e6b2485f395eeab7267ef.tar.gz
dsub-6ebae86dfbb7fa79d81e6b2485f395eeab7267ef.tar.bz2
dsub-6ebae86dfbb7fa79d81e6b2485f395eeab7267ef.zip
Changed project package to github.daneren2005.subphonic
Diffstat (limited to 'subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java')
-rw-r--r--subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java87
1 files changed, 0 insertions, 87 deletions
diff --git a/subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java b/subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java
deleted file mode 100644
index 9c8b06e1..00000000
--- a/subsonic-android/src/net/sourceforge/subsonic/androidapp/util/CancellableTask.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- This file is part of Subsonic.
-
- Subsonic is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- Subsonic is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with Subsonic. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright 2009 (C) Sindre Mehus
- */
-package net.sourceforge.subsonic.androidapp.util;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicReference;
-
-import android.util.Log;
-
-/**
- * @author Sindre Mehus
- * @version $Id$
- */
-public abstract class CancellableTask {
-
- private static final String TAG = CancellableTask.class.getSimpleName();
-
- private final AtomicBoolean running = new AtomicBoolean(false);
- private final AtomicBoolean cancelled = new AtomicBoolean(false);
- private final AtomicReference<Thread> thread = new AtomicReference<Thread>();
- private final AtomicReference<OnCancelListener> cancelListener = new AtomicReference<OnCancelListener>();
-
- public void cancel() {
- Log.d(TAG, "Cancelling " + CancellableTask.this);
- cancelled.set(true);
-
- OnCancelListener listener = cancelListener.get();
- if (listener != null) {
- try {
- listener.onCancel();
- } catch (Throwable x) {
- Log.w(TAG, "Error when invoking OnCancelListener.", x);
- }
- }
- }
-
- public boolean isCancelled() {
- return cancelled.get();
- }
-
- public void setOnCancelListener(OnCancelListener listener) {
- cancelListener.set(listener);
- }
-
- public boolean isRunning() {
- return running.get();
- }
-
- public abstract void execute();
-
- public void start() {
- thread.set(new Thread() {
- @Override
- public void run() {
- running.set(true);
- Log.d(TAG, "Starting thread for " + CancellableTask.this);
- try {
- execute();
- } finally {
- running.set(false);
- Log.d(TAG, "Stopping thread for " + CancellableTask.this);
- }
- }
- });
- thread.get().start();
- }
-
- public static interface OnCancelListener {
- void onCancel();
- }
-}