Index: mobile/android/thirdparty/org/adblockplus/browser/SubscriptionPreferenceCategory.java |
diff --git a/mobile/android/thirdparty/org/adblockplus/browser/SubscriptionPreferenceCategory.java b/mobile/android/thirdparty/org/adblockplus/browser/SubscriptionPreferenceCategory.java |
index c23794d3b98db77c2e46e6be7e61ab3dfb8a8ba3..8c81144a7b4e92f796b35f030157f57330e04520 100644 |
--- a/mobile/android/thirdparty/org/adblockplus/browser/SubscriptionPreferenceCategory.java |
+++ b/mobile/android/thirdparty/org/adblockplus/browser/SubscriptionPreferenceCategory.java |
@@ -33,8 +33,6 @@ import org.xmlpull.v1.XmlPullParserException; |
import android.app.ProgressDialog; |
import android.content.Context; |
-import android.os.Handler; |
-import android.os.HandlerThread; |
import android.preference.CheckBoxPreference; |
import android.preference.Preference; |
import android.preference.PreferenceCategory; |
@@ -44,22 +42,11 @@ import android.util.Xml; |
public class SubscriptionPreferenceCategory extends PreferenceCategory |
{ |
- private static final HandlerThread HANDLER_THREAD; |
- private static final Handler HANDLER; |
- |
private volatile static SubscriptionContainer subscriptionContainer = null; |
private final CheckBoxChangeListener checkBoxChangeListener = new CheckBoxChangeListener(); |
private boolean isEnabledList = false; |
private ProgressDialog progressDialog; |
- static |
- { |
- HANDLER_THREAD = new HandlerThread("subscription-preference-background"); |
- HANDLER_THREAD.setDaemon(true); |
- HANDLER_THREAD.start(); |
- HANDLER = new Handler(HANDLER_THREAD.getLooper()); |
- } |
- |
public SubscriptionPreferenceCategory(Context context) |
{ |
super(context); |
@@ -103,7 +90,7 @@ public class SubscriptionPreferenceCategory extends PreferenceCategory |
this.progressDialog.setMessage(this.getContext().getString(R.string.abb_adblocking_waiting)); |
this.progressDialog.show(); |
- HANDLER.post(new Runnable() |
+ AddOnBridge.handlerPost(new Runnable() |
{ |
@Override |
public void run() |
@@ -201,7 +188,7 @@ public class SubscriptionPreferenceCategory extends PreferenceCategory |
} |
} |
- private final static class SubscriptionContainer implements AdblockPlusApiCallback |
+ final static class SubscriptionContainer implements AdblockPlusApiCallback |
{ |
private static final String TAG = SubscriptionContainer.class.getName(); |
private final ConcurrentHashMap<String, Boolean> enableState = new ConcurrentHashMap<String, Boolean>(); |
@@ -216,6 +203,11 @@ public class SubscriptionPreferenceCategory extends PreferenceCategory |
public final static SubscriptionContainer create() |
{ |
+ return create(true); |
+ } |
+ |
+ public final static SubscriptionContainer create(final boolean refresh) |
+ { |
final SubscriptionContainer sc = new SubscriptionContainer(); |
AddOnBridge.queryValue(sc, "subscriptionsXml"); |
sc.entriesReady.acquireUninterruptibly(); |
@@ -226,7 +218,10 @@ public class SubscriptionPreferenceCategory extends PreferenceCategory |
sc.enableState.put(e.url, Boolean.FALSE); |
} |
- sc.refresh(); |
+ if (refresh) |
+ { |
+ sc.refresh(); |
+ } |
return sc; |
} |