diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/flattr/FlattrServiceCreator.java b/core/src/main/java/de/danoeh/antennapod/core/util/flattr/FlattrServiceCreator.java index e4818214e..97958eea7 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/flattr/FlattrServiceCreator.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/flattr/FlattrServiceCreator.java @@ -1,11 +1,13 @@ package de.danoeh.antennapod.core.util.flattr; import android.util.Log; -import de.danoeh.antennapod.core.BuildConfig; + import org.shredzone.flattr4j.FlattrFactory; import org.shredzone.flattr4j.FlattrService; import org.shredzone.flattr4j.oauth.AccessToken; +import de.danoeh.antennapod.core.BuildConfig; + /** Ensures that only one instance of the FlattrService class exists at a time */ public class FlattrServiceCreator { @@ -13,11 +15,14 @@ public class FlattrServiceCreator { private static volatile FlattrService flattrService; - public static FlattrService getService(AccessToken token) { - return FlattrFactory.getInstance().createFlattrService(token); + public synchronized static FlattrService getService(AccessToken token) { + if (flattrService == null) { + flattrService = FlattrFactory.getInstance().createFlattrService(token); + } + return flattrService; } - public static void deleteFlattrService() { + public synchronized static void deleteFlattrService() { if (BuildConfig.DEBUG) Log.d(TAG, "Deleting service instance"); flattrService = null; }