| 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..818f5305e440464aeaccc3c6553822e6e5364bd5 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,13 @@ 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, |
| + isAllowedConnectionCallback, |
| + null, |
|
Felix Dahlke
2017/03/24 07:37:24
How I saw it, there is a version of create where y
anton
2017/03/24 09:43:10
Actually you're right and i can just use the versi
|
| + null, |
| + null, |
| + null); // `true` as we need element hiding |
|
Felix Dahlke
2017/03/24 07:37:24
Nit: Seems like this comment should move up now, s
anton
2017/03/24 09:43:10
Acknowledged.
|
| + Log.d(TAG, "Adblock engine created"); |
| AdblockSettings settings = storage.load(); |
| if (settings != null) |
| @@ -121,9 +132,15 @@ 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`, whitelisted domains list |
| + // and allowed connection type are saved by adblock engine itself |
| engine.setEnabled(settings.isAdblockEnabled()); |
| engine.setWhitelistedDomains(settings.getWhitelistedDomains()); |
| + |
| + String connectionType = (settings.getAllowedConnectionType() != null |
| + ? settings.getAllowedConnectionType().getValue() |
| + : null); |
| + engine.getFilterEngine().setAllowedConnectionType(connectionType); |
| } |
| else |
| { |
| @@ -164,11 +181,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; |
| } |
| /** |