summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-09-21 12:11:06 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2013-09-21 12:11:06 +0200
commit0b0ea77df1bde38bf211c68e54be45541080e2c7 (patch)
tree98bfbf41368a1b8ff00ee033a77130d0566c7f8a /src/de/danoeh/antennapod/activity
parent4d50903182ec3839012408b34ddf8705f5b3ffb3 (diff)
downloadAntennaPod-0b0ea77df1bde38bf211c68e54be45541080e2c7.zip
Fixed crashes in FeedItemlist
Diffstat (limited to 'src/de/danoeh/antennapod/activity')
-rw-r--r--src/de/danoeh/antennapod/activity/FeedItemlistActivity.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java b/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
index 98695429c..981379f6a 100644
--- a/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
+++ b/src/de/danoeh/antennapod/activity/FeedItemlistActivity.java
@@ -49,6 +49,8 @@ public class FeedItemlistActivity extends ActionBarActivity {
private ItemlistFragment filf;
private ExternalPlayerFragment externalPlayerFragment;
+ private AsyncTask<?, ?, ?> currentLoadTask;
+
@Override
public void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme());
@@ -70,7 +72,10 @@ public class FeedItemlistActivity extends ActionBarActivity {
}
- private void loadData(long id) {
+ private synchronized void loadData(long id) {
+ if (currentLoadTask != null) {
+ currentLoadTask.cancel(true);
+ }
AsyncTask<Long, Void, Feed> loadTask = new AsyncTask<Long, Void, Feed>() {
@Override
@@ -81,6 +86,12 @@ public class FeedItemlistActivity extends ActionBarActivity {
}
@Override
+ protected void onCancelled(Feed feed) {
+ super.onCancelled(feed);
+ if (AppConfig.DEBUG) Log.d(TAG, "load task was cancelled");
+ }
+
+ @Override
protected void onPostExecute(Feed result) {
super.onPostExecute(result);
if (result != null) {
@@ -103,6 +114,7 @@ public class FeedItemlistActivity extends ActionBarActivity {
}
}
};
+ currentLoadTask = loadTask;
loadTask.execute(id);
}
@@ -113,6 +125,14 @@ public class FeedItemlistActivity extends ActionBarActivity {
}
@Override
+ protected void onStop() {
+ super.onStop();
+ if (currentLoadTask != null) {
+ currentLoadTask.cancel(true);
+ }
+ }
+
+ @Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
if (feed != null) {