aboutsummaryrefslogtreecommitdiff
path: root/src/github
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2014-07-18 16:18:22 -0700
committerScott Jackson <daneren2005@gmail.com>2014-07-18 16:18:22 -0700
commitacd3c966966b632cd20d4e67b33d9839dc69b459 (patch)
tree75583af27b135f3451accd1bad9efec58747a781 /src/github
parente4e03c33447c0bccdba8dbcf2c1f6334793c80ab (diff)
downloaddsub-acd3c966966b632cd20d4e67b33d9839dc69b459.tar.gz
dsub-acd3c966966b632cd20d4e67b33d9839dc69b459.tar.bz2
dsub-acd3c966966b632cd20d4e67b33d9839dc69b459.zip
#370 Cancel current load task before starting another
Diffstat (limited to 'src/github')
-rw-r--r--src/github/daneren2005/dsub/fragments/SelectListFragment.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/github/daneren2005/dsub/fragments/SelectListFragment.java b/src/github/daneren2005/dsub/fragments/SelectListFragment.java
index a338b8d9..3329e848 100644
--- a/src/github/daneren2005/dsub/fragments/SelectListFragment.java
+++ b/src/github/daneren2005/dsub/fragments/SelectListFragment.java
@@ -52,6 +52,7 @@ public abstract class SelectListFragment<T> extends SubsonicFragment implements
private static final String TAG = SelectListFragment.class.getSimpleName();
protected ListView listView;
protected ArrayAdapter adapter;
+ protected BackgroundTask<List<T>> currentTask;
protected List<T> objects;
protected boolean serialize = true;
@@ -114,8 +115,13 @@ public abstract class SelectListFragment<T> extends SubsonicFragment implements
setTitle(getTitleResource());
}
listView.setVisibility(View.GONE);
+
+ // Cancel current running task before starting another one
+ if(currentTask != null) {
+ currentTask.cancel();
+ }
- BackgroundTask<List<T>> task = new TabBackgroundTask<List<T>>(this) {
+ currentTask = new TabBackgroundTask<List<T>>(this) {
@Override
protected List<T> doInBackground() throws Throwable {
MusicService musicService = MusicServiceFactory.getMusicService(context);
@@ -144,9 +150,11 @@ public abstract class SelectListFragment<T> extends SubsonicFragment implements
} else {
setEmpty(true);
}
+
+ currentTask = null;
}
};
- task.execute();
+ currentTask.execute();
}
public abstract int getOptionsMenu();