| OLD | NEW | 
|---|
| 1 Adblock Android SDK | 1 Adblock Android SDK | 
| 2 ================================ | 2 ================================ | 
| 3 | 3 | 
| 4 An Android library project, tests, settings fragments and demo application for A
     dblockWebView. | 4 An Android library project, tests, settings fragments and demo application for A
     dblockWebView. | 
| 5 | 5 | 
| 6 ## Updating the dependencies | 6 ## Updating the dependencies | 
| 7 | 7 | 
| 8 Adblock Android SDK has dependencies that aren't in this repository. | 8 Adblock Android SDK has dependencies that aren't in this repository. | 
| 9 To update those, call: | 9 To update those, call: | 
| 10 | 10 | 
| 11     ./ensure_dependencies.py | 11     ./ensure_dependencies.py | 
| 12 | 12 | 
| 13 ## Library | 13 ## Library | 
| 14 | 14 | 
| 15 An Android library that provides the core functionality of Adblock Plus. | 15 An Android library that provides the core functionality of Adblock Plus. | 
| 16 You can find it in the 'adblock-android' directory. | 16 You can find it in the 'adblock-android' directory. | 
| 17 | 17 | 
|  | 18 ### Using as a Gradle dependency | 
|  | 19 | 
|  | 20 Make sure you have `jcenter()` in the list of repositories and then add the foll
     owing dependency: | 
|  | 21 | 
|  | 22 ```groovy | 
|  | 23 dependencies { | 
|  | 24     implementation 'org.adblockplus:adblock-android:3.0' | 
|  | 25 } | 
|  | 26 ``` | 
|  | 27 | 
| 18 ### Building | 28 ### Building | 
| 19 | 29 | 
| 20 #### Requirements | 30 #### Requirements | 
| 21 | 31 | 
| 22 * [The Android SDK](https://developer.android.com/sdk) | 32 * [The Android SDK](https://developer.android.com/sdk) | 
| 23 * Android SDK Build tools 25.0.0 | 33 * Android SDK Build tools 25.0.0 | 
| 24 * [The Android NDK, 16b](https://developer.android.com/ndk) | 34 * [The Android NDK, 16b](https://developer.android.com/ndk) | 
| 25 | 35 | 
| 26 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. | 36 Edit 'buildToolsVersion' in 'build.gradle' files if necessary. | 
| 27 | 37 | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 79 | 89 | 
| 80 This can be desired to use product's V8 (let's say Chromium) instead of built-in
      V8. | 90 This can be desired to use product's V8 (let's say Chromium) instead of built-in
      V8. | 
| 81 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
     B_FILENAMES` | 91 Put prebuilt shared V8 library file(s) in ARCH directories and set `SHARED_V8_LI
     B_FILENAMES` | 
| 82 environment variable and `SHARED_V8_LIB_DIR` before building. | 92 environment variable and `SHARED_V8_LIB_DIR` before building. | 
| 83 You can pass multiple filenames in `SHARED_V8_LIB_FILENAMES`, separated with spa
     ce. | 93 You can pass multiple filenames in `SHARED_V8_LIB_FILENAMES`, separated with spa
     ce. | 
| 84 Libadblockplus is required to be linked with that library file(s). | 94 Libadblockplus is required to be linked with that library file(s). | 
| 85 | 95 | 
| 86 For example: | 96 For example: | 
| 87 | 97 | 
| 88     SHARED_V8_LIB_FILENAMES=libv8.cr.so SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gra
     dlew clean assembleAbi_arm | 98     SHARED_V8_LIB_FILENAMES=libv8.cr.so SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gra
     dlew clean assembleAbi_arm | 
| 89 | 99 | 
| 90 or | 100 or | 
| 91 | 101 | 
| 92     SHARED_V8_LIB_FILENAMES="libv8.cr.so libv8_libbase.cr.so libv8_libplatform.c
     r.so" SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gradlew clean assembleAbi_arm | 102     SHARED_V8_LIB_FILENAMES="libv8.cr.so libv8_libbase.cr.so libv8_libplatform.c
     r.so" SHARED_V8_LIB_DIR="/tmp/shared_v8" ./gradlew clean assembleAbi_arm | 
| 93 | 103 | 
| 94 for multiple library files. | 104 for multiple library files. | 
| 95 | 105 | 
| 96 Note | 106 Note | 
| 97 | 107 | 
| 98     [Configuration] Excluding shared v8 library libv8.cr.so from AAR | 108     [Configuration] Excluding shared v8 library libv8.cr.so from AAR | 
| 99     ... | 109     ... | 
| 100     [Configuration] Linking dynamically with shared v8 library /tmp/shared_v8/re
     lease/libv8.cr.so | 110     [Configuration] Linking dynamically with shared v8 library /tmp/shared_v8/re
     lease/libv8.cr.so | 
| 101     ... | 111     ... | 
| 102 | 112 | 
| 103 output while building. | 113 output while building. | 
| 104 | 114 | 
| 105 ### Building for single ARCH | 115 ### Building for single ARCH | 
| 106 | 116 | 
| 107 By default adblock-android is built for both ARM and x86 and it can be filtered 
     when | 117 By default adblock-android is built for both ARM and x86 and it can be filtered 
     when | 
| 108 building end-user android application. However sometimes it can be desired to bu
     ild | 118 building end-user android application. However sometimes it can be desired to bu
     ild | 
| 109 "adblock-android.aar" for single ARCH. | 119 "adblock-android.aar" for single ARCH. | 
| 110 | 120 | 
| 111 Pass `abi_arm` or `abi_x86` to build it for single arch or `abi_all` for all ARC
     Hs: | 121 Pass `abi_arm` or `abi_x86` to build it for single arch or `abi_all` for all ARC
     Hs: | 
| 112 | 122 | 
| 113     `./gradlew clean assembleAbi_arm` | 123     `./gradlew clean assembleAbi_arm` | 
| 114 | 124 | 
| 115 Note | 125 Note | 
| 116 | 126 | 
| 117     [Configuration] Using adblock-android ABI flavor: abi_arm | 127     [Configuration] Using adblock-android ABI flavor: abi_arm | 
| 118 | 128 | 
| 119 output while building. | 129 output while building. | 
| 120 | 130 | 
| 121 ## Library tests | 131 ## Library tests | 
| 122 | 132 | 
| 123 Android tests for the library. | 133 Android tests for the library. | 
| 124 You can find them in the 'adblock-android-tests' directory. | 134 You can find them in the 'adblock-android-tests' directory. | 
| 125 | 135 | 
| 126 ### Requirements | 136 ### Requirements | 
| 127 | 137 | 
| 128 Make sure _Library_ requirements are present. | 138 Make sure _Library_ requirements are present. | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 141 You can select test class/method and click 'Run ..Test'. The library and test ap
     p will be | 151 You can select test class/method and click 'Run ..Test'. The library and test ap
     p will be | 
| 142 compiled, installed to emulator/device and launched automatically. | 152 compiled, installed to emulator/device and launched automatically. | 
| 143 | 153 | 
| 144 ## Settings | 154 ## Settings | 
| 145 | 155 | 
| 146 An Android library that provides a configuration interface for Adblock Plus. | 156 An Android library that provides a configuration interface for Adblock Plus. | 
| 147 You can find it in the 'adblock-android-settings' directory: | 157 You can find it in the 'adblock-android-settings' directory: | 
| 148 * GeneralSettingsFragment - main fragment | 158 * GeneralSettingsFragment - main fragment | 
| 149 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 159 * WhitelistedDomainsSettingsFragment - whitelisted domains fragment | 
| 150 | 160 | 
|  | 161 ### Using as a Gradle dependency | 
|  | 162 | 
|  | 163 Make sure you have `jcenter()` in the list of repositories and then add the foll
     owing dependency: | 
|  | 164 | 
|  | 165 ```groovy | 
|  | 166 dependencies { | 
|  | 167     implementation 'org.adblockplus:adblock-android-settings:3.0' | 
|  | 168 } | 
|  | 169 ``` | 
|  | 170 | 
| 151 ### Usage | 171 ### Usage | 
| 152 | 172 | 
| 153 Create `AdblockEngineProvider` instance and `AdblockSettingsStorage` instance. | 173 Create `AdblockEngineProvider` instance and `AdblockSettingsStorage` instance. | 
| 154 You can use `SharedPrefsStorage` implementation to store settings in `SharedPref
     erences`. | 174 You can use `SharedPrefsStorage` implementation to store settings in `SharedPref
     erences`. | 
| 155 Or you can use AdblockHelper: | 175 Or you can use AdblockHelper: | 
| 156 | 176 | 
| 157     AdblockHelper | 177     AdblockHelper | 
| 158       .get() | 178       .get() | 
| 159       .init(this, getFilesDir().getAbsolutePath(), true, AdblockHelper.PREFERENC
     E_NAME); | 179       .init(this, getFilesDir().getAbsolutePath(), true, AdblockHelper.PREFERENC
     E_NAME); | 
| 160 | 180 | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 223 | 243 | 
| 224 ## WebView | 244 ## WebView | 
| 225 | 245 | 
| 226 An Android library that provides a WebView component with Adblock Plus integrate
     d. | 246 An Android library that provides a WebView component with Adblock Plus integrate
     d. | 
| 227 You can find it in the 'adblock-android-webview' directory. | 247 You can find it in the 'adblock-android-webview' directory. | 
| 228 | 248 | 
| 229 `AdblockWebView` class provides built-in ad blocking | 249 `AdblockWebView` class provides built-in ad blocking | 
| 230 (both resource loading filtering and element hiding) and inherits from Android | 250 (both resource loading filtering and element hiding) and inherits from Android | 
| 231 ['WebView'](https://developer.android.com/reference/android/webkit/WebView.html)
     . | 251 ['WebView'](https://developer.android.com/reference/android/webkit/WebView.html)
     . | 
| 232 | 252 | 
|  | 253 ### Using as a Gradle dependency | 
|  | 254 | 
|  | 255 Make sure you have `jcenter()` in the list of repositories and then add the foll
     owing dependency: | 
|  | 256 | 
|  | 257 ```groovy | 
|  | 258 dependencies { | 
|  | 259     implementation 'org.adblockplus:adblock-android-webview:3.0' | 
|  | 260 } | 
|  | 261 ``` | 
|  | 262 | 
| 233 ### Usage | 263 ### Usage | 
| 234 | 264 | 
| 235 In layout XML: | 265 In layout XML: | 
| 236 | 266 | 
| 237     <org.adblockplus.libadblockplus.android.webview.AdblockWebView | 267     <org.adblockplus.libadblockplus.android.webview.AdblockWebView | 
| 238         android:id="@+id/main_webview" | 268         android:id="@+id/main_webview" | 
| 239         android:layout_width="match_parent" | 269         android:layout_width="match_parent" | 
| 240         android:layout_height="match_parent"/> | 270         android:layout_height="match_parent"/> | 
| 241 | 271 | 
| 242 In java source code: | 272 In java source code: | 
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 274 | 304 | 
| 275 ### Building | 305 ### Building | 
| 276 | 306 | 
| 277 Make sure _Library_ requirements are present. | 307 Make sure _Library_ requirements are present. | 
| 278 | 308 | 
| 279 In the project root directory run: | 309 In the project root directory run: | 
| 280 | 310 | 
| 281     ./gradlew assemble | 311     ./gradlew assemble | 
| 282 | 312 | 
| 283 This will generate *.apk in the 'adblock-android-webviewapp/build/outputs/apk/' 
     directory. | 313 This will generate *.apk in the 'adblock-android-webviewapp/build/outputs/apk/' 
     directory. | 
| OLD | NEW | 
|---|