From acd3c966966b632cd20d4e67b33d9839dc69b459 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 18 Jul 2014 16:18:22 -0700 Subject: #370 Cancel current load task before starting another --- .../daneren2005/dsub/fragments/SelectListFragment.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/github') 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 extends SubsonicFragment implements private static final String TAG = SelectListFragment.class.getSimpleName(); protected ListView listView; protected ArrayAdapter adapter; + protected BackgroundTask> currentTask; protected List objects; protected boolean serialize = true; @@ -114,8 +115,13 @@ public abstract class SelectListFragment extends SubsonicFragment implements setTitle(getTitleResource()); } listView.setVisibility(View.GONE); + + // Cancel current running task before starting another one + if(currentTask != null) { + currentTask.cancel(); + } - BackgroundTask> task = new TabBackgroundTask>(this) { + currentTask = new TabBackgroundTask>(this) { @Override protected List doInBackground() throws Throwable { MusicService musicService = MusicServiceFactory.getMusicService(context); @@ -144,9 +150,11 @@ public abstract class SelectListFragment extends SubsonicFragment implements } else { setEmpty(true); } + + currentTask = null; } }; - task.execute(); + currentTask.execute(); } public abstract int getOptionsMenu(); -- cgit v1.2.3