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

Unified Diff: libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java

Issue 29379647: Issue 4948 - add possibility to not send data depending on connection properties (Closed)
Patch Set: updated dependency to binaries, updated comment for allowed connection type Created March 30, 2017, 2:12 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: libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java
diff --git a/libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java b/libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java
index 0840fa3e182bd8896eae3fb937c1415504657cdb..3e3815e7b4c10a1f45024b45e2200f08395963aa 100644
--- a/libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java
+++ b/libadblockplus-android-settings/src/org/adblockplus/libadblockplus/android/settings/AdblockHelper.java
@@ -21,6 +21,8 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
+import org.adblockplus.libadblockplus.IsAllowedConnectionCallback;
+import org.adblockplus.libadblockplus.UpdateCheckDoneCallback;
import org.adblockplus.libadblockplus.android.AdblockEngine;
import org.adblockplus.libadblockplus.android.Utils;
@@ -48,6 +50,8 @@ public class AdblockHelper
private AdblockSettingsStorage storage;
private CountDownLatch engineCreated;
+ private IsAllowedConnectionCallback isAllowedConnectionCallback;
+
/*
Simple ARC management for AdblockEngine
Use `retain` and `release`
@@ -100,6 +104,8 @@ public class AdblockHelper
private void createAdblock()
{
+ this.isAllowedConnectionCallback = new IsAllowedConnectionCallbackImpl(context);
+
Log.d(TAG, "Creating adblock engine ...");
// read and apply current settings
@@ -112,8 +118,9 @@ public class AdblockHelper
engine = AdblockEngine.create(
AdblockEngine.generateAppInfo(context, developmentBuild),
context.getCacheDir().getAbsolutePath(),
- true); // `true` as we need element hiding
- Log.d(TAG, "AdblockHelper engine created");
+ true, // `true` as we need element hiding
+ isAllowedConnectionCallback);
+ Log.d(TAG, "Adblock engine created");
AdblockSettings settings = storage.load();
if (settings != null)
@@ -121,9 +128,17 @@ public class AdblockHelper
Log.d(TAG, "Applying saved adblock settings to adblock engine");
// apply last saved settings to adblock engine
- // all the settings except `enabled` and whitelisted domains are saved by adblock engine itself
+ // all the settings except `enabled` and whitelisted domains list
+ // are saved by adblock engine itself
engine.setEnabled(settings.isAdblockEnabled());
engine.setWhitelistedDomains(settings.getWhitelistedDomains());
+
+ // allowed connection type is saved by filter engine but we need to override it
+ // as filter engine can be not created when changing
+ String connectionType = (settings.getAllowedConnectionType() != null
+ ? settings.getAllowedConnectionType().getValue()
+ : null);
+ engine.getFilterEngine().setAllowedConnectionType(connectionType);
}
else
{
@@ -164,11 +179,15 @@ public class AdblockHelper
engine.dispose();
engine = null;
- // to unlock waiting client in WaitForReady()
+ // to unlock waiting client in waitForReady()
engineCreated.countDown();
engineCreated = null;
storage = null;
+
+ // callbacks
+ this.isAllowedConnectionCallback.dispose();
+ this.isAllowedConnectionCallback = null;
}
/**

Powered by Google App Engine
This is Rietveld