 Issue 29379647:
  Issue 4948 - add possibility to not send data depending on connection properties  (Closed)
    
  
    Issue 29379647:
  Issue 4948 - add possibility to not send data depending on connection properties  (Closed) 
  | 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; | 
| } | 
| /** |