| OLD | NEW | 
|---|
| 1 Adblock Plus Library for Android | 1 Adblock Plus Library for Android | 
| 2 ================================ | 2 ================================ | 
| 3 | 3 | 
| 4 An Android library project, tests and demo application for AdblockWebView widget
     . | 4 An Android library project, tests and demo application for AdblockWebView widget
     . | 
| 5 | 5 | 
| 6 ## Updating the dependencies | 6 ## Updating the dependencies | 
| 7 | 7 | 
| 8 Adblock Plus for Android has dependencies that aren't in this repository. | 8 Adblock Plus for Android has dependencies that aren't in this repository. | 
| 9 To update those, call: | 9 To update those, call: | 
| 10 | 10 | 
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 212 | 212 | 
| 213 ## Settings | 213 ## Settings | 
| 214 | 214 | 
| 215 An Android library that provides a configuration interface for Adblock Plus. | 215 An Android library that provides a configuration interface for Adblock Plus. | 
| 216 You can find it in the 'libadblockplus-android-settings' directory: | 216 You can find it in the 'libadblockplus-android-settings' directory: | 
| 217 * GeneralSettingsFragment - main fragment | 217 * GeneralSettingsFragment - main fragment | 
| 218 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 218 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 
| 219 | 219 | 
| 220 ### Usage | 220 ### Usage | 
| 221 | 221 | 
| 222 Create `AdblockEngine` instance with factory methods and `AdblockSettingsStorage
     ` instance. | 222 Create `AdblockEngineProvider` instance and `AdblockSettingsStorage` instance. | 
| 223 You can use `SharedPrefsStorage` implementation to store settings in `SharedPref
     erences`. | 223 You can use `SharedPrefsStorage` implementation to store settings in `SharedPref
     erences`. | 
| 224 Or you can use AdblockHelper: | 224 Or you can use AdblockHelper: | 
| 225 | 225 | 
| 226     AdblockHelper.get().init(this, getFilesDir().getAbsolutePath(), true, Adbloc
     kHelper.PREFERENCE_NAME); | 226     AdblockHelper | 
|  | 227       .get() | 
|  | 228       .init(this, getFilesDir().getAbsolutePath(), true, AdblockHelper.PREFERENC
     E_NAME); | 
| 227 | 229 | 
| 228     // optional - provide preloaded subscription files in app resoruces | 230       // optional - provide preloaded subscription files in app resoruces | 
| 229     AdblockHelper.get().preloadSubscriptions(AdblockHelper.PRELOAD_PREFERENCE_NA
     ME, map); | 231       .preloadSubscriptions(AdblockHelper.PRELOAD_PREFERENCE_NAME, map); | 
| 230 | 232 | 
| 231 Implement the following interfaces in your settings activity: | 233 Implement the following interfaces in your settings activity: | 
| 232 | 234 | 
| 233 * `BaseSettingsFragment.Provider` | 235 * `BaseSettingsFragment.Provider` | 
| 234 * `GeneralSettingsFragment.Listener` | 236 * `GeneralSettingsFragment.Listener` | 
| 235 * `WhitelistedDomainsSettingsFragment.Listener` | 237 * `WhitelistedDomainsSettingsFragment.Listener` | 
| 236 | 238 | 
| 237 and return created instance or AdblockHelper instances: | 239 and return created instance or AdblockHelper instances: | 
| 238 | 240 | 
| 239     AdblockHelper.get().getEngine();  // engine | 241     AdblockHelper.get().getProvider().getEngine();  // engine | 
| 240     AdblockHelper.get().getStorage(); // storage | 242     AdblockHelper.get().getStorage(); // storage | 
| 241 | 243 | 
| 242 Retain Adblock instance in activity `onCreate` in synchronous mode (it may take 
     few seconds): | 244 Retain Adblock instance in activity `onCreate` in synchronous mode (it may take 
     few seconds): | 
| 243 | 245 | 
| 244     AdblockHelper.get().retain(false); | 246     AdblockHelper.get().getProvider().retain(false); | 
| 245 | 247 | 
| 246 or in asynchronous mode (without current thread lock): | 248 or in asynchronous mode (without current thread lock): | 
| 247 | 249 | 
| 248     AdblockHelper.get().retain(true); | 250     AdblockHelper.get().getProvider().retain(true); | 
| 249 | 251 | 
| 250 Invoke `waitforReady` every time you need AdblockEngine instance if retained in 
     asynchronous mode: | 252 Invoke `waitforReady` every time you need AdblockEngine instance if retained in 
     asynchronous mode: | 
| 251 | 253 | 
| 252     AdblockHelper.get().waitForReady(); | 254     AdblockHelper.get().getProvider().waitForReady(); | 
| 253 | 255 | 
| 254 Release Adblock instance in activity `onDestroy`: | 256 Release Adblock instance in activity `onDestroy`: | 
| 255 | 257 | 
| 256     AdblockHelper.get().release(); | 258     AdblockHelper.get().getProvider().release(); | 
| 257 | 259 | 
| 258 Insert `GeneralSettingsFragment` fragment instance in runtime to start showing s
     ettings UI. | 260 Insert `GeneralSettingsFragment` fragment instance in runtime to start showing s
     ettings UI. | 
| 259 | 261 | 
| 260 ### Building | 262 ### Building | 
| 261 | 263 | 
| 262 #### Building with Ant | 264 #### Building with Ant | 
| 263 | 265 | 
| 264 In the 'libadblockplus-android-settings' directory create the file _local.proper
     ties_ and set | 266 In the 'libadblockplus-android-settings' directory create the file _local.proper
     ties_ and set | 
| 265 _sdk.dir_ to where you installed it, e.g.: | 267 _sdk.dir_ to where you installed it, e.g.: | 
| 266 | 268 | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 300 In java source code: | 302 In java source code: | 
| 301 | 303 | 
| 302     AdblockWebView webView = (AdblockWebView) findViewById(R.id.main_webview); | 304     AdblockWebView webView = (AdblockWebView) findViewById(R.id.main_webview); | 
| 303 | 305 | 
| 304 Use `setAdblockEnabled(boolean adblockEnabled)` to enable/disable adblocking. | 306 Use `setAdblockEnabled(boolean adblockEnabled)` to enable/disable adblocking. | 
| 305 | 307 | 
| 306 Use `setDebugMode(boolean debugMode)` to turn debug log output (Android log and 
     JS console) on/off. | 308 Use `setDebugMode(boolean debugMode)` to turn debug log output (Android log and 
     JS console) on/off. | 
| 307 | 309 | 
| 308 Use `setAllowDrawDelay(int allowDrawDelay)` to set custom delay to start render 
     webpage after 'DOMContentLoaded' event is fired. | 310 Use `setAllowDrawDelay(int allowDrawDelay)` to set custom delay to start render 
     webpage after 'DOMContentLoaded' event is fired. | 
| 309 | 311 | 
| 310 Use `setAdblockEngine(AdblockEngine adblockEngine)` to use external adblock engi
     ne. | 312 Use `setProvider(AdblockEngineProvider provider)` to use external adblock engine
      provider. | 
| 311 If adblock engine is not set, it's created by AdblockWebView instance automatica
     lly. | 313 The simplest solution is to use `AdblockHelper` from `-settings` as external adb
     lock engine provider: | 
|  | 314 | 
|  | 315     webView.setProvider(AdblockHelper.get().getProvider()); | 
|  | 316 | 
|  | 317 If adblock engine provider is not set, it's created by AdblockWebView instance a
     utomatically. | 
| 312 | 318 | 
| 313 Use `dispose(Runnable disposeFinished)` to release resources (**required**). | 319 Use `dispose(Runnable disposeFinished)` to release resources (**required**). | 
| 314 Note it can be invoked from background thread. | 320 Note it can be invoked from background thread. | 
| 315 | 321 | 
| 316 ### Building | 322 ### Building | 
| 317 | 323 | 
| 318 #### Building with Ant | 324 #### Building with Ant | 
| 319 | 325 | 
| 320 In the 'libadblockplus-android-webview' directory create the file _local.propert
     ies_ and set | 326 In the 'libadblockplus-android-webview' directory create the file _local.propert
     ies_ and set | 
| 321 _sdk.dir_ to where you installed it, e.g.: | 327 _sdk.dir_ to where you installed it, e.g.: | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 357 | 363 | 
| 358 This will generate *.apk in the 'libadblockplus-android-webviewapp/bin/' directo
     ry. | 364 This will generate *.apk in the 'libadblockplus-android-webviewapp/bin/' directo
     ry. | 
| 359 | 365 | 
| 360 #### Building with Gradle | 366 #### Building with Gradle | 
| 361 | 367 | 
| 362 In the project root directory run: | 368 In the project root directory run: | 
| 363 | 369 | 
| 364     ./gradlew assemble | 370     ./gradlew assemble | 
| 365 | 371 | 
| 366 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
     /apk/' directory. | 372 This will generate *.apk in the 'libadblockplus-android-webviewapp/build/outputs
     /apk/' directory. | 
| OLD | NEW | 
|---|