summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java
diff options
context:
space:
mode:
authorSimon Rutishauser <simon.rutishauser@web.de>2014-01-02 15:43:43 +0100
committerSimon Rutishauser <simon.rutishauser@web.de>2014-01-02 21:09:53 +0100
commit8c116142b89aa78f50fbf9dc08701428a6ea0b98 (patch)
treebaeef2a817676efc0950689f1e8196b77ecd8dda /src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java
parent375aefb2bf28c2bb4cee545808fadd93c1328434 (diff)
downloadAntennaPod-8c116142b89aa78f50fbf9dc08701428a6ea0b98.zip
* directly update Feed/FeedItem FlattrStatus instead of writing back entire Feed/FeedItem to database
* fix race condition when fetching FlattrStatus * fix missing copy of Flattr status in Feed.updateFromOther() * fix feed reading from db, was missing FlattrStatus followup on #331
Diffstat (limited to 'src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java')
-rw-r--r--src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java b/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java
index 1559ae1c4..04620af49 100644
--- a/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java
+++ b/src/de/danoeh/antennapod/util/menuhandler/FeedMenuHandler.java
@@ -8,6 +8,10 @@ import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+
import de.danoeh.antennapod.AppConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.FeedInfoActivity;
@@ -81,8 +85,15 @@ public class FeedMenuHandler {
break;
case R.id.support_item:
selectedFeed.getFlattrStatus().setFlattrQueue();
- DBWriter.setFlattredStatus(context, selectedFeed);
- new FlattrClickWorker(context).executeAsync();
+ Future<?> future = DBWriter.setFlattredStatus(context, selectedFeed);
+ try {
+ synchronized (future) {
+ future.wait(10);
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ new FlattrClickWorker(context).executeAsync();
break;
case R.id.share_link_item:
ShareUtils.shareFeedlink(context, selectedFeed);