summaryrefslogtreecommitdiff
path: root/src/de
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-08-05 15:01:31 +0200
committerdaniel oeh <daniel.oeh@gmail.com>2013-08-05 15:01:31 +0200
commita90c7219f363e9b70159b42e3131d49d58561f4b (patch)
treecddd2296ca98feb885886ae7e324de7f5c8f65ae /src/de
parent75b13431fed4dbc4e259ead8a3762143be740432 (diff)
downloadAntennaPod-a90c7219f363e9b70159b42e3131d49d58561f4b.zip
Refresh lock was used incorrectly
Diffstat (limited to 'src/de')
-rw-r--r--src/de/danoeh/antennapod/storage/DBTasks.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/de/danoeh/antennapod/storage/DBTasks.java b/src/de/danoeh/antennapod/storage/DBTasks.java
index bf615776d..a3964283c 100644
--- a/src/de/danoeh/antennapod/storage/DBTasks.java
+++ b/src/de/danoeh/antennapod/storage/DBTasks.java
@@ -10,6 +10,7 @@ import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
import android.content.Context;
@@ -73,11 +74,10 @@ public final class DBTasks {
}
}
- private static ReentrantLock refreshAllFeedsLock = new ReentrantLock();
-
+ private static AtomicBoolean isRefreshing = new AtomicBoolean(false);
public static void refreshAllFeeds(final Context context,
final List<Feed> feeds) {
- if (refreshAllFeedsLock.tryLock()) {
+ if (isRefreshing.compareAndSet(false, true)) {
new Thread() {
public void run() {
if (feeds != null) {
@@ -85,7 +85,7 @@ public final class DBTasks {
} else {
refreshFeeds(context, DBReader.getFeedList(context));
}
- refreshAllFeedsLock.unlock();
+ isRefreshing.set(false);
}
}.start();
} else {