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 |