Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: mobile/android/base/java/org/adblockplus/browser/ExtensionBridge.java

Issue 29863604: Issue 6865 - Update ABP dependency to version 3.2 (Closed)
Patch Set: Removing allowed contexts Created Aug. 28, 2018, 5:08 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mobile/android/base/java/org/adblockplus/browser/ExtensionBridge.java
===================================================================
rename from mobile/android/base/java/org/adblockplus/browser/AddOnBridge.java
rename to mobile/android/base/java/org/adblockplus/browser/ExtensionBridge.java
--- a/mobile/android/base/java/org/adblockplus/browser/AddOnBridge.java
+++ b/mobile/android/base/java/org/adblockplus/browser/ExtensionBridge.java
@@ -25,40 +25,39 @@
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.HandlerThread;
import android.util.Log;
import org.json.JSONArray;
import org.json.JSONException;
import org.mozilla.gecko.EventDispatcher;
-import org.mozilla.gecko.GeckoAppShell;
import org.mozilla.gecko.util.BundleEventListener;
import org.mozilla.gecko.util.EventCallback;
import org.mozilla.gecko.util.GeckoBundle;
@SuppressLint("DefaultLocale")
-public class AddOnBridge
+public class ExtensionBridge
{
- private static final String TAG = "AdblockBrowser.AddOnBridge";
- private static final String REQUEST_NAME = "AdblockPlus:Api";
+ private static final String TAG = "AdblockBrowser.ExtensionBridge";
+ private static final String REQUEST_NAME = "Abb:Api";
// Handler+HandlerThread for posting delayed re-tries without interfering with
// other threads (e.g. the UI or Gecko thread)
private static final HandlerThread PRIVATE_HANDLER_THREAD;
private static final Handler PRIVATE_HANDLER;
// Global handler, for e.g. UI tasks
private static final HandlerThread GLOBAL_HANDLER_THREAD;
private static final Handler GLOBAL_HANDLER;
// Sometimes, the app is killed before the extension is able to save all changes regarding
- // AddOnBridge requests. Given that, we need to store the pending requests on SharedPrefs,
+ // ExtensionBridge requests. Given that, we need to store the pending requests on SharedPrefs,
// so we can resend them to the extension once the app restarts
// See https://issues.adblockplus.org/ticket/2853
private static final AddOnEventListener ADD_ON_EVENT_LISTENER = new AddOnEventListener();
- private static final String ON_FILTERS_LOAD_EVENT = "Abb:OnFiltersLoad";
- private static final String ON_FILTERS_SAVE_EVENT = "Abb:OnFiltersSave";
+ private static final String ON_LOADED_EVENT = "Abb:OnLoaded";
+ private static final String ON_FILTERS_SAVED_EVENT = "Abb:OnFiltersSaved";
private static final List<GeckoBundle> PENDING_REQUESTS = new ArrayList<>();
private static final String PENDING_REQUESTS_PREFS_KEY = "PENDING_REQUESTS_PREFS_KEY";
private static SharedPreferences sharedPrefs;
private static boolean filtersLoaded;
static
{
@@ -70,19 +69,19 @@
GLOBAL_HANDLER_THREAD = new HandlerThread("abp-global-handler");
GLOBAL_HANDLER_THREAD.setDaemon(true);
GLOBAL_HANDLER_THREAD.start();
GLOBAL_HANDLER = new Handler(GLOBAL_HANDLER_THREAD.getLooper());
}
public static void init(Context context)
{
- sharedPrefs = context.getSharedPreferences(AddOnBridge.class.getName(), Context.MODE_PRIVATE);
+ sharedPrefs = context.getSharedPreferences(ExtensionBridge.class.getName(), Context.MODE_PRIVATE);
EventDispatcher.getInstance().registerGeckoThreadListener(
- ADD_ON_EVENT_LISTENER, ON_FILTERS_LOAD_EVENT, ON_FILTERS_SAVE_EVENT);
+ ADD_ON_EVENT_LISTENER, ON_LOADED_EVENT, ON_FILTERS_SAVED_EVENT);
loadPendingRequests();
}
public static void postToHandler(Runnable runnable)
{
GLOBAL_HANDLER.post(runnable);
}
@@ -105,17 +104,17 @@
callFunction("set" + makeFirstCharacterUppercase(name), data, true, callback);
}
public static void querySubscriptionListStatus(String url, AdblockPlusApiCallback callback)
{
Log.d(TAG, "querySubscriptionListStatus for " + url);
final GeckoBundle data = new GeckoBundle();
data.putString("url", url);
- callFunction("isSubscriptionListed", data, callback);
+ callFunction("isSubscriptionEnabled", data, callback);
}
public static void addSubscription(String url, String title, AdblockPlusApiCallback callback)
{
Log.d(TAG, "addSubscription for " + url + " (" + title + ")");
final GeckoBundle data = new GeckoBundle();
data.putString("url", url);
if (title != null)
@@ -123,49 +122,49 @@
data.putString("title", title);
}
callFunction("addSubscription", data, true, callback);
}
public static void queryActiveSubscriptions(AdblockPlusApiCallback callback)
{
Log.d(TAG, "queryActiveSubscriptions");
- callFunction("getActiveSubscriptions", null, callback);
+ callFunction("getEnabledSubscriptions", null, callback);
}
public static void removeSubscription(String url, AdblockPlusApiCallback callback)
{
Log.d(TAG, "removeSubscription for " + url);
final GeckoBundle data = new GeckoBundle();
data.putString("url", url);
callFunction("removeSubscription", data, true, callback);
}
public static void queryWhitelistedWebsites(final AdblockPlusApiCallback callback) {
Log.d(TAG, "queryWhitelistedWebsites");
- callFunction("getWhitelistedWebsites", null, callback);
+ callFunction("getWhitelistedDomains", null, callback);
}
public static void queryIsWebsiteWhitelisted(String url, AdblockPlusApiCallback callback)
{
Log.d(TAG, "queryIsWebsiteWhitelisted for " + url);
final GeckoBundle data = new GeckoBundle();
data.putString("url", url);
data.putString("host", UrlUtils.getHostFromUrl(url));
- callFunction("isWebsiteWhitelisted", data, callback);
+ callFunction("isDomainWhitelisted", data, callback);
}
public static void whitelistWebsite(String url, boolean whitelisted, AdblockPlusApiCallback callback)
{
Log.d(TAG, "whitelistWebsite for " + url);
final GeckoBundle data = new GeckoBundle();
data.putString("url", UrlUtils.formatUrl(url));
data.putString("host", UrlUtils.getHostFromUrl(url));
- data.putBoolean("whitelisted", whitelisted);
- callFunction("whitelistWebsite", data, true, callback);
+ data.putBoolean("enable", whitelisted);
+ callFunction("whitelistDomain", data, true, callback);
}
private static String makeFirstCharacterUppercase(String str)
{
if (Character.isUpperCase(str.charAt(0)))
{
return str;
}
@@ -343,23 +342,24 @@
});
}
private static class AddOnEventListener implements BundleEventListener
{
@Override
public void handleMessage(String event, GeckoBundle message, EventCallback callback)
{
- if (ON_FILTERS_LOAD_EVENT.equals(event))
+ Log.d(TAG, "handleMessage event: " + event + " message: " + message);
+ if (ON_LOADED_EVENT.equals(event))
{
- // The filters have been loaded by the extension. Given that, we can send all pending requests
+ // The extension has been loaded. Given that, we can send all pending requests
filtersLoaded = true;
sendPendingRequests();
}
- else if (ON_FILTERS_SAVE_EVENT.equals(event))
+ else if (ON_FILTERS_SAVED_EVENT.equals(event))
{
// All changes have been saved by the extension. That way, we can clear our list of
// pending requests
// See https://issues.adblockplus.org/ticket/2853
clearPendingRequests();
}
}
}

Powered by Google App Engine
This is Rietveld