| 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(); | 
| } | 
| } | 
| } | 
|  |