| Index: mobile/android/thirdparty/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java |
| =================================================================== |
| --- a/mobile/android/thirdparty/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java |
| +++ b/mobile/android/thirdparty/org/adblockplus/browser/MoreSubscriptionsPreferenceGroup.java |
| @@ -19,17 +19,17 @@ package org.adblockplus.browser; |
| import java.util.HashMap; |
| import java.util.HashSet; |
| import java.util.Map.Entry; |
| import java.util.concurrent.Semaphore; |
| import org.mozilla.gecko.R; |
| import org.mozilla.gecko.preferences.CustomCheckBoxPreference; |
| -import org.mozilla.gecko.util.NativeJSObject; |
| +import org.mozilla.gecko.util.GeckoBundle; |
| import org.mozilla.gecko.util.ThreadUtils; |
| import android.app.ProgressDialog; |
| import android.content.Context; |
| import android.os.Build; |
| import android.preference.CheckBoxPreference; |
| import android.preference.Preference; |
| import android.preference.PreferenceGroup; |
| @@ -219,30 +219,30 @@ public class MoreSubscriptionsPreference |
| { |
| @Override |
| public void run() |
| { |
| try |
| { |
| final Semaphore finished = new Semaphore(0); |
| - AddOnBridge.addSubscription(new AdblockPlusApiCallback() |
| + AddOnBridge.addSubscription(url, null, new AdblockPlusApiCallback() |
| { |
| @Override |
| - public void onApiRequestSucceeded(NativeJSObject jsObject) |
| + public void onApiRequestSucceeded(GeckoBundle bundle) |
| { |
| finished.release(); |
| } |
| @Override |
| public void onApiRequestFailed(String errorMessage) |
| { |
| finished.release(); |
| } |
| - }, url, null); |
| + }); |
| finished.acquireUninterruptibly(); |
| MoreSubscriptionsPreferenceGroup.this.activeSubscriptions.refresh(); |
| ThreadUtils.postToUiThread(new Runnable() |
| { |
| @Override |
| @@ -289,39 +289,36 @@ public class MoreSubscriptionsPreference |
| public void refresh() |
| { |
| AddOnBridge.queryActiveSubscriptions(this); |
| this.entriesReady.acquireUninterruptibly(); |
| } |
| @Override |
| - public void onApiRequestSucceeded(NativeJSObject jsObject) |
| + public void onApiRequestSucceeded(GeckoBundle bundle) |
| { |
| try |
| { |
| this.enabledSubscriptions.clear(); |
| - if (jsObject.getBoolean("success")) |
| + final GeckoBundle[] subs = bundle.getBundleArray("value"); |
| + for (final GeckoBundle sub : subs) |
| { |
| - NativeJSObject[] subs = jsObject.getObjectArray("value"); |
| - for (int i = 0; i < subs.length; i++) |
| - { |
| - final String url = subs[i].getString("url"); |
| + final String url = sub.getString("url"); |
| - String title = subs[i].has("title") ? subs[i].getString("title") : url; |
| - if (title.startsWith("~user~")) |
| - { |
| - title = this.context.getString(R.string.abb_pref_category_whitelisted_sites); |
| - } |
| + String title = sub.getString("title", url); |
| + if (title.startsWith("~user~")) |
| + { |
| + title = this.context.getString(R.string.abb_pref_category_whitelisted_sites); |
| + } |
| - if (!IGNORED_URLS.contains(url)) |
| - { |
| - Log.d(TAG, "Adding: " + url + ", " + title); |
| - this.enabledSubscriptions.put(url, title); |
| - } |
| + if (!IGNORED_URLS.contains(url)) |
| + { |
| + Log.d(TAG, "Adding: " + url + ", " + title); |
| + this.enabledSubscriptions.put(url, title); |
| } |
| } |
| } |
| finally |
| { |
| this.entriesReady.release(); |
| } |
| } |
| @@ -341,28 +338,28 @@ public class MoreSubscriptionsPreference |
| { |
| if (preference instanceof CheckBoxPreference && newValue instanceof Boolean) |
| { |
| final CheckBoxPreference cbp = (CheckBoxPreference) preference; |
| final boolean enable = ((Boolean) newValue).booleanValue(); |
| if (enable) |
| { |
| - AddOnBridge.addSubscription(this, cbp.getKey(), null); |
| + AddOnBridge.addSubscription(cbp.getKey(), null, this); |
| } |
| else |
| { |
| - AddOnBridge.removeSubscription(this, cbp.getKey()); |
| + AddOnBridge.removeSubscription(cbp.getKey(), this); |
| } |
| } |
| return true; |
| } |
| @Override |
| - public void onApiRequestSucceeded(NativeJSObject jsObject) |
| + public void onApiRequestSucceeded(GeckoBundle bundle) |
| { |
| // ignored |
| } |
| @Override |
| public void onApiRequestFailed(String errorMessage) |
| { |
| // ignored |