diff options
author | Scott Jackson <daneren2005@gmail.com> | 2014-07-18 16:18:22 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2014-07-18 16:18:22 -0700 |
commit | acd3c966966b632cd20d4e67b33d9839dc69b459 (patch) | |
tree | 75583af27b135f3451accd1bad9efec58747a781 /src/github | |
parent | e4e03c33447c0bccdba8dbcf2c1f6334793c80ab (diff) | |
download | dsub-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.java | 12 |
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();
|