├── .gitignore
├── .gitlab-ci.yml
├── .gitmodules
├── .idea
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── copyright
│ ├── Eyeo_GmbH.xml
│ └── profiles_settings.xml
├── inspectionProfiles
│ └── Project_Default.xml
└── vcs.xml
├── .pre-commit-config.yaml
├── CHANGELOG.md
├── README.md
├── adblock-android-benchmark
├── benchmark-proguard-rules.pro
├── build.gradle
├── scripts
│ └── lockClocks.sh
└── src
│ ├── androidTest
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── org
│ │ │ └── adblockplus
│ │ │ └── libadblockplus
│ │ │ └── benchmark
│ │ │ ├── WebViewActivity.kt
│ │ │ ├── WebViewLoadPerformanceUrlUsingJsTest.java
│ │ │ └── WebViewTestSuit.java
│ └── kotlin
│ │ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── benchmark
│ │ └── FilterEngineLoadTimeBenchmark.kt
│ └── main
│ ├── AndroidManifest.xml
│ └── res
│ ├── raw
│ ├── easylist.txt
│ ├── easylist_min_uc.txt
│ ├── exceptionrules.txt
│ ├── exceptionrules_min.txt
│ └── wprcert.txt
│ └── xml
│ └── network_security_config.xml
├── adblock-android-settings
├── build.gradle
└── src
│ ├── androidTest
│ └── java
│ │ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── settings
│ │ ├── AdblockSettingsTest.java
│ │ ├── SharedPrefsStorageTest.java
│ │ └── UtilsTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── settings
│ │ ├── AdblockHelper.java
│ │ ├── AdblockSettings.java
│ │ ├── AdblockSettingsStorage.java
│ │ ├── AllowlistedDomainsSettingsFragment.java
│ │ ├── BaseSettingsFragment.java
│ │ ├── GeneralSettingsFragment.java
│ │ ├── SettingsViewModel.java
│ │ ├── SettingsViewModelFactory.java
│ │ ├── SharedPrefsStorage.java
│ │ ├── SubscriptionInfo.java
│ │ └── Utils.java
│ └── res
│ ├── drawable-hdpi
│ ├── fragment_adblock_allowlisted_domains_add.png
│ └── fragment_adblock_allowlisted_domains_remove.png
│ ├── drawable-mdpi
│ ├── fragment_adblock_allowlisted_domains_add.png
│ └── fragment_adblock_allowlisted_domains_remove.png
│ ├── drawable-xhdpi
│ ├── fragment_adblock_allowlisted_domains_add.png
│ └── fragment_adblock_allowlisted_domains_remove.png
│ ├── drawable-xxhdpi
│ ├── fragment_adblock_allowlisted_domains_add.png
│ └── fragment_adblock_allowlisted_domains_remove.png
│ ├── drawable-xxxhdpi
│ ├── ic_add_circle_outline_black_24dp.png
│ └── ic_remove_circle_outline_black_24dp.png
│ ├── layout
│ ├── fragment_adblock_allowlisted_domain_item.xml
│ └── fragment_adblock_allowlisted_domains_settings.xml
│ ├── values-am
│ └── adblock_settings_strings.xml
│ ├── values-ar
│ └── adblock_settings_strings.xml
│ ├── values-bg
│ └── adblock_settings_strings.xml
│ ├── values-bn
│ └── adblock_settings_strings.xml
│ ├── values-bs
│ └── adblock_settings_strings.xml
│ ├── values-ca
│ └── adblock_settings_strings.xml
│ ├── values-cs
│ └── adblock_settings_strings.xml
│ ├── values-da
│ └── adblock_settings_strings.xml
│ ├── values-de
│ └── adblock_settings_strings.xml
│ ├── values-el
│ └── adblock_settings_strings.xml
│ ├── values-es-rUS
│ └── adblock_settings_strings.xml
│ ├── values-es
│ └── adblock_settings_strings.xml
│ ├── values-et
│ └── adblock_settings_strings.xml
│ ├── values-fa
│ └── adblock_settings_strings.xml
│ ├── values-fi
│ └── adblock_settings_strings.xml
│ ├── values-fil
│ └── adblock_settings_strings.xml
│ ├── values-fr-rCA
│ └── adblock_settings_strings.xml
│ ├── values-fr
│ └── adblock_settings_strings.xml
│ ├── values-hi
│ └── adblock_settings_strings.xml
│ ├── values-hr
│ └── adblock_settings_strings.xml
│ ├── values-hu
│ └── adblock_settings_strings.xml
│ ├── values-in
│ └── adblock_settings_strings.xml
│ ├── values-it
│ └── adblock_settings_strings.xml
│ ├── values-iw
│ └── adblock_settings_strings.xml
│ ├── values-ja
│ └── adblock_settings_strings.xml
│ ├── values-kk
│ └── adblock_settings_strings.xml
│ ├── values-km
│ └── adblock_settings_strings.xml
│ ├── values-ko
│ └── adblock_settings_strings.xml
│ ├── values-lt
│ └── adblock_settings_strings.xml
│ ├── values-lv
│ └── adblock_settings_strings.xml
│ ├── values-mk
│ └── adblock_settings_strings.xml
│ ├── values-ms
│ └── adblock_settings_strings.xml
│ ├── values-my
│ └── adblock_settings_strings.xml
│ ├── values-nb
│ └── adblock_settings_strings.xml
│ ├── values-nl
│ └── adblock_settings_strings.xml
│ ├── values-pl
│ └── adblock_settings_strings.xml
│ ├── values-pt-rBR
│ └── adblock_settings_strings.xml
│ ├── values-pt
│ └── adblock_settings_strings.xml
│ ├── values-ro
│ └── adblock_settings_strings.xml
│ ├── values-ru
│ └── adblock_settings_strings.xml
│ ├── values-sk
│ └── adblock_settings_strings.xml
│ ├── values-sl
│ └── adblock_settings_strings.xml
│ ├── values-sr
│ └── adblock_settings_strings.xml
│ ├── values-sv
│ └── adblock_settings_strings.xml
│ ├── values-sw
│ └── adblock_settings_strings.xml
│ ├── values-th
│ └── adblock_settings_strings.xml
│ ├── values-tr
│ └── adblock_settings_strings.xml
│ ├── values-uk
│ └── adblock_settings_strings.xml
│ ├── values-ur
│ └── adblock_settings_strings.xml
│ ├── values-vi
│ └── adblock_settings_strings.xml
│ ├── values-zh-rCN
│ └── adblock_settings_strings.xml
│ ├── values-zh-rTW
│ └── adblock_settings_strings.xml
│ ├── values
│ ├── adblock_settings_dimen_internal.xml
│ ├── adblock_settings_locales_titles.xml
│ ├── adblock_settings_strings.xml
│ └── adblock_settings_strings_internal.xml
│ └── xml
│ └── preference_adblock_general.xml
├── adblock-android-webview
├── build.gradle
└── src
│ ├── androidTest
│ ├── AndroidManifest.xml
│ ├── assets
│ │ ├── abp.bks
│ │ ├── green.png
│ │ └── red.png
│ ├── java
│ │ └── org
│ │ │ └── adblockplus
│ │ │ └── libadblockplus
│ │ │ └── android
│ │ │ └── webview
│ │ │ ├── SiteKeyHelper.java
│ │ │ ├── WebViewTestSuit.java
│ │ │ └── test
│ │ │ ├── WebViewInterceptRequestTest.java
│ │ │ └── WebViewSetupAndDisposeStressTest.java
│ ├── kotlin
│ │ └── org
│ │ │ └── adblockplus
│ │ │ └── libadblockplus
│ │ │ ├── android
│ │ │ └── webview
│ │ │ │ ├── Extensions.kt
│ │ │ │ ├── WebViewActivity.kt
│ │ │ │ └── test
│ │ │ │ ├── AdBlockingAllowlistingTest.kt
│ │ │ │ ├── AdblockWebChromeClientTest.kt
│ │ │ │ ├── AdblockWebViewClientTest.kt
│ │ │ │ ├── BaseAdblockWebViewTest.kt
│ │ │ │ ├── HttpHeaderSiteKeyExtractorTest.kt
│ │ │ │ ├── HttpHeaderSiteKeyExtractorTest2.kt
│ │ │ │ ├── MemoryPerformanceTest.kt
│ │ │ │ └── RequestInterceptorTest.kt
│ │ │ └── security
│ │ │ └── SlowSignatureVerifierWrapper.kt
│ └── res
│ │ └── raw
│ │ ├── easy_20.txt
│ │ ├── easy_50.txt
│ │ ├── easy_80.txt
│ │ ├── easylist.txt
│ │ ├── easylist_min_uc.txt
│ │ ├── exceptionrules.txt
│ │ └── exceptionrules_min.txt
│ ├── debug
│ └── java
│ │ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── webview
│ │ └── RequestInterceptor.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ ├── css.js
│ │ ├── elemhideblocked.js
│ │ ├── elemhideemu.js
│ │ ├── empty.js
│ │ └── inject.js
│ └── java
│ │ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── webview
│ │ ├── AdblockWebView.java
│ │ ├── BaseSiteKeyExtractor.java
│ │ ├── CombinedSiteKeyExtractor.java
│ │ ├── HttpHeaderSiteKeyExtractor.java
│ │ ├── JsSiteKeyExtractor.java
│ │ ├── ProxyWebChromeClient.java
│ │ ├── ProxyWebViewClient.java
│ │ ├── SharedCookieManager.java
│ │ ├── SiteKeyExtractor.java
│ │ ├── WebViewCounters.java
│ │ └── content_type
│ │ ├── ContentTypeDetector.java
│ │ ├── HeadersContentTypeDetector.java
│ │ ├── OrderedContentTypeDetector.java
│ │ └── UrlFileExtensionTypeDetector.java
│ ├── release
│ └── java
│ │ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── webview
│ │ └── RequestInterceptor.java
│ └── test
│ ├── java
│ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── webview
│ │ └── content_type
│ │ ├── BaseContentTypeDetectorTest.java
│ │ ├── HeadersContentTypeDetectorTest.java
│ │ ├── OrderedContentTypeDetectorTest.java
│ │ └── UrlFileExtensionTypeDetectorTest.java
│ ├── kotlin
│ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ └── webview
│ │ └── test
│ │ ├── OptionalBooleanTest.kt
│ │ ├── ResourceInfoTest.kt
│ │ └── ServerResponseProcessorTest.kt
│ └── resources
│ └── script.js
├── adblock-android-webviewapp
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── org
│ │ └── adblockplus
│ │ └── libadblockplus
│ │ └── android
│ │ ├── SubscriptionsManager.java
│ │ └── webviewapp
│ │ ├── Application.java
│ │ ├── MainActivity.java
│ │ ├── SettingsActivity.java
│ │ ├── StorageUtils.java
│ │ ├── TabFragment.java
│ │ ├── TabFragmentAdapter.java
│ │ └── Utils.java
│ └── res
│ ├── drawable
│ └── icon.png
│ ├── layout
│ ├── activity_main.xml
│ └── fragment_tab.xml
│ ├── raw
│ ├── easylist_minified.txt
│ └── exceptionrules_minimal.txt
│ └── values
│ ├── strings.xml
│ └── styles.xml
├── adblock-android
├── .gitignore
├── build.gradle
├── proguard-rules-adblock.txt
└── src
│ ├── androidTest
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── org
│ │ │ └── adblockplus
│ │ │ └── libadblockplus
│ │ │ ├── FileSystemUtils.java
│ │ │ ├── MockFileSystem.java
│ │ │ ├── MockHttpClient.java
│ │ │ ├── TestEventCallback.java
│ │ │ └── test
│ │ │ ├── AllPropertiesAppInfoJsObjectTest.java
│ │ │ ├── AndroidBase64ProcessorTest.java
│ │ │ ├── AndroidHttpClientResourceWrapperTest.java
│ │ │ ├── AndroidHttpClientTest.java
│ │ │ ├── AsyncFileSystemTest.java
│ │ │ ├── BaseFilterEngineTest.java
│ │ │ ├── BaseJsEngineTest.java
│ │ │ ├── BasePlatformTest.java
│ │ │ ├── BaseTest.java
│ │ │ ├── ConsoleJsObjectTest.java
│ │ │ ├── DefaultPropertiesAppInfoJsObjectTest.java
│ │ │ ├── FileSystemTest.java
│ │ │ ├── FilterEngineAATest.java
│ │ │ ├── FilterEngineTest.java
│ │ │ ├── GlobalJsObjectTest.java
│ │ │ ├── HttpClientTest.java
│ │ │ ├── JsEngineTest.java
│ │ │ └── JsValueTest.java
│ ├── kotlin
│ │ ├── Extensions.kt
│ │ └── org
│ │ │ └── adblockplus
│ │ │ ├── AdblockEngineBuilderTest.kt
│ │ │ ├── AdblockEngineEnabledDisabledTest.kt
│ │ │ ├── AdblockEngineSettingsTest.kt
│ │ │ ├── AdblockFilterBuilderTest.kt
│ │ │ └── libadblockplus
│ │ │ └── android
│ │ │ └── AndroidUtilsTest.kt
│ └── res
│ │ └── raw
│ │ ├── easylist.txt
│ │ └── exceptionrules.txt
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── org
│ │ │ └── adblockplus
│ │ │ ├── AdblockEngine.java
│ │ │ ├── AdblockEngineBuilder.java
│ │ │ ├── AdblockEngineFactory.java
│ │ │ ├── AdblockEngineSettings.java
│ │ │ ├── AdblockFilterBuilder.java
│ │ │ ├── AppInfo.java
│ │ │ ├── AsyncAdblockEngineBuilder.java
│ │ │ ├── ConnectionType.java
│ │ │ ├── ContentType.java
│ │ │ ├── EmulationSelector.java
│ │ │ ├── Filter.java
│ │ │ ├── MatchesResult.java
│ │ │ ├── Subscription.java
│ │ │ └── libadblockplus
│ │ │ ├── AdblockPlusException.java
│ │ │ ├── Disposable.java
│ │ │ ├── Disposer.java
│ │ │ ├── EventCallback.java
│ │ │ ├── FileSystem.java
│ │ │ ├── FilterEngine.java
│ │ │ ├── HeaderEntry.java
│ │ │ ├── HttpClient.java
│ │ │ ├── HttpRequest.java
│ │ │ ├── IsAllowedConnectionCallback.java
│ │ │ ├── JniExceptionHandler.java
│ │ │ ├── JsEngine.java
│ │ │ ├── JsValue.java
│ │ │ ├── LogSystem.java
│ │ │ ├── Platform.java
│ │ │ ├── ServerResponse.java
│ │ │ ├── android
│ │ │ ├── AdblockEngine.java
│ │ │ ├── AdblockEngineBuilder.java
│ │ │ ├── AdblockEngineProvider.java
│ │ │ ├── AndroidBase64Processor.java
│ │ │ ├── AndroidHttpClient.java
│ │ │ ├── AndroidHttpClientResourceWrapper.java
│ │ │ ├── AndroidLogSystem.java
│ │ │ ├── ConnectionInputStream.java
│ │ │ ├── IsAllowedConnectionCallbackImpl.java
│ │ │ ├── SingleInstanceEngineProvider.java
│ │ │ ├── TimberLogSystem.java
│ │ │ └── Utils.java
│ │ │ ├── security
│ │ │ ├── JavaSignatureVerifier.java
│ │ │ ├── SignatureVerificationException.java
│ │ │ └── SignatureVerifier.java
│ │ │ ├── sitekey
│ │ │ ├── PublicKeyHolder.java
│ │ │ ├── PublicKeyHolderImpl.java
│ │ │ ├── SiteKeyException.java
│ │ │ ├── SiteKeyVerifier.java
│ │ │ └── SiteKeysConfiguration.java
│ │ │ └── util
│ │ │ ├── Base64Exception.java
│ │ │ └── Base64Processor.java
│ └── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── JniCallbacks.cpp
│ │ ├── JniCallbacks.h
│ │ ├── JniEventCallback.cpp
│ │ ├── JniFileSystem.cpp
│ │ ├── JniFileSystem.h
│ │ ├── JniFilter.cpp
│ │ ├── JniFilter.h
│ │ ├── JniFilterEngine.cpp
│ │ ├── JniIsAllowedConnectionTypeCallback.cpp
│ │ ├── JniJsEngine.cpp
│ │ ├── JniJsValue.cpp
│ │ ├── JniJsValue.h
│ │ ├── JniLibrary.cpp
│ │ ├── JniLogSystem.cpp
│ │ ├── JniLogSystem.h
│ │ ├── JniPlatform.cpp
│ │ ├── JniPlatform.h
│ │ ├── JniSubscription.cpp
│ │ ├── JniWebRequest.cpp
│ │ ├── JniWebRequest.h
│ │ ├── Utils.cpp
│ │ └── Utils.h
│ └── test
│ └── java
│ └── org
│ └── adblockplus
│ └── libadblockplus
│ ├── test
│ ├── JavaBase64ProcessorTest.java
│ ├── PublicKeyHolderImplTest.java
│ ├── SignatureVerifierTest.java
│ ├── SiteKeyVerifierTest.java
│ └── UtilsTest.java
│ └── util
│ └── JavaBase64Processor.java
├── build.gradle
├── buildSrc
├── build.gradle.kts
└── src
│ └── main
│ └── kotlin
│ ├── Config.kt
│ └── Dependencies.kt
├── config
├── checkstyle
│ └── checkstyle.xml
└── header.java
├── docker
└── README.md
├── gitlab-ci.readme.md
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── tools
├── generate-changelog.py
├── release_manager.py
└── web_page_replay_test
├── indexer
├── static_pages
└── WebViewInterceptRequestTest_2020_09_30
└── web_page_replay_runner.py
/.gitignore:
--------------------------------------------------------------------------------
1 | crowdin.yaml
2 | **/libs/armeabi*
3 | **/libs/x86
4 | **/build
5 | **/local.properties
6 | **/buildtools
7 | upload.py
8 | .DS_Store
9 | !.gitlab-ci.yml
10 | !.gitignore
11 | !.pre-commit-config.yaml
12 | /adblock-android-settings/src/main/res/raw/subscriptions.json
13 |
14 | # IDEA/Android Studio ignores
15 | *.iml
16 | *.ipr
17 | *.iws
18 | .gradle
19 | /.idea/*
20 |
21 | # IDEA/Android Studio Ignore exceptions
22 | !/.idea/vcs.xml
23 | !/.idea/inspectionProfiles/
24 | !/.idea/codeStyles/
25 | !/.idea/copyright/
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "libadblockplus"]
2 | path = libadblockplus
3 | url = ../../adblockplus/libadblockplus.git
4 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/copyright/Eyeo_GmbH.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | # See https://pre-commit.com for more information
2 | # See https://pre-commit.com/hooks.html for more hooks
3 | repos:
4 | - repo: https://github.com/pre-commit/pre-commit-hooks
5 | rev: v2.4.0
6 | hooks:
7 | - id: trailing-whitespace
8 | - id: check-added-large-files
9 | - repo: https://github.com/adrienverge/yamllint.git
10 | rev: v1.17.0
11 | hooks:
12 | - id: yamllint
13 | args: [-d relaxed]
14 | - repo: https://gitlab.com/devopshq/gitlab-ci-linter
15 | rev: v1.0.1
16 | hooks:
17 | - id: gitlab-ci-linter
18 | name: GitLab CI/CD configuration check
19 | description: Validates .gitlab-ci.yml file
20 | - repo: https://github.com/gherynos/pre-commit-java
21 | rev: v0.1.0 # Use the ref you want to point at
22 | hooks:
23 | - id: checkstyle
24 | args: ['-c', 'config/checkstyle/checkstyle.xml']
25 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/benchmark-proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # You can control the set of applied configuration files using the
3 | # proguardFiles setting in build.gradle.
4 | #
5 | # For more details, see
6 | # http://developer.android.com/guide/developing/tools/proguard.html
7 |
8 | # If your project uses WebView with JS, uncomment the following
9 | # and specify the fully qualified class name to the JavaScript interface
10 | # class:
11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 | # public *;
13 | #}
14 |
15 | # Uncomment this to preserve the line number information for
16 | # debugging stack traces.
17 | #-keepattributes SourceFile,LineNumberTable
18 |
19 | # If you keep the line number information, uncomment this to
20 | # hide the original source file name.
21 | #-renamesourcefileattribute SourceFile
22 |
23 | -dontobfuscate
24 |
25 | -ignorewarnings
26 |
27 | -keepattributes *Annotation*
28 |
29 | -dontnote junit.framework.**
30 | -dontnote junit.runner.**
31 |
32 | -dontwarn androidx.test.**
33 | -dontwarn org.junit.**
34 | -dontwarn org.hamcrest.**
35 | -dontwarn com.squareup.javawriter.JavaWriter
36 |
37 | -keepclasseswithmembers @org.junit.runner.RunWith public class *
38 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/src/androidTest/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/src/androidTest/java/org/adblockplus/libadblockplus/benchmark/WebViewActivity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 | package org.adblockplus.libadblockplus.benchmark
18 |
19 | import android.app.Activity
20 | import android.os.Bundle
21 | import android.webkit.WebView
22 | import android.widget.LinearLayout
23 | import org.adblockplus.libadblockplus.android.webview.AdblockWebView
24 |
25 |
26 | /**
27 | * An activity to host AdblockWebView
28 | */
29 | class WebViewActivity : Activity() {
30 |
31 | companion object {
32 | const val SYSTEM_WEBVIEW = "adblock"
33 | const val ADBLOCK_WEBVIEW = "system"
34 | }
35 |
36 | lateinit var webView: WebView
37 | lateinit var adblockWebView: AdblockWebView
38 |
39 | override fun onCreate(savedInstanceState: Bundle?) {
40 | super.onCreate(savedInstanceState)
41 | WebView.setWebContentsDebuggingEnabled(true) // allow devtools connection
42 | val layoutParams = LinearLayout.LayoutParams(
43 | LinearLayout.LayoutParams.WRAP_CONTENT,
44 | LinearLayout.LayoutParams.WRAP_CONTENT
45 | )
46 | val layout = LinearLayout(this)
47 | layout.orientation = LinearLayout.VERTICAL
48 | layout.layoutParams = layoutParams
49 | webView = WebView(this)
50 | webView.contentDescription = SYSTEM_WEBVIEW
51 | layout.addView(webView)
52 | adblockWebView = AdblockWebView(this)
53 | adblockWebView.contentDescription = ADBLOCK_WEBVIEW
54 | layout.addView(adblockWebView)
55 | setContentView(layout)
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/src/main/res/raw/wprcert.txt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICDDCCAXUCFDpoMKg9jdABK5CDWJvb9ZPgiY0tMA0GCSqGSIb3DQEBCwUAMEUx
3 | CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRl
4 | cm5ldCBXaWRnaXRzIFB0eSBMdGQwHhcNMjAwNjE5MTgyODQ4WhcNMjMwMzE2MTgy
5 | ODQ4WjBFMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE
6 | CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GN
7 | ADCBiQKBgQCyzqGNRDTe/HTLzt97UhJXXWmjxVeKKFySmwqlrBLq5CiY7aB8Z64u
8 | eK4DTi0lODvGkMrVhPc6uhIv3Kiu3ZelKmYmbcJOB1awS+/OnFSpYKT5IXJxvhDH
9 | Q8cvz8jA9/IzbUzTCS4sG8YmajKN742f+PtVy3TYrAFkwy2lnl8ZmwIDAQABMA0G
10 | CSqGSIb3DQEBCwUAA4GBAD4AXGQ7eaIdnnI9SJMkgEJIpJMJNOl4kN/kESMmJE9G
11 | GFJ4oiP6VzXPVMTW4xeqmuIIqX8ZovO8SA+C2e1yqcz6X8WN7EDD0UJVGiru9yaT
12 | C7AbTTK8NsKxKKGzGF6qnnnwtKc8ZIypw4/00yw8vZOwMwLOV+ffvkUX9uW9Ws8z
13 | -----END CERTIFICATE-----
14 |
--------------------------------------------------------------------------------
/adblock-android-benchmark/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/adblock-android-settings/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion Config.compileSdkVersion
6 | buildToolsVersion Config.buildToolsVersion
7 |
8 | defaultConfig {
9 | minSdkVersion Config.minSdkVersion
10 | targetSdkVersion Config.targetSdkVersion
11 | missingDimensionStrategy 'abi', 'abi_all', 'abi_arm', 'abi_arm64', 'abi_x86'
12 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
13 | }
14 |
15 | packagingOptions {
16 | exclude 'META-INF/proguard/androidx-annotations.pro'
17 | }
18 |
19 | sourceSets {
20 | test.java.srcDirs += 'src/test/kotlin'
21 | androidTest.java.srcDirs += 'src/androidTest/kotlin'
22 | }
23 |
24 | useLibrary 'android.test.runner'
25 | useLibrary 'android.test.base'
26 |
27 | gradle.projectsEvaluated {
28 | preBuild.dependsOn(copyDefaultSubscriptions)
29 | }
30 | }
31 |
32 | bintray {
33 | pkg {
34 | desc="An Android library that provides a configuration interface for Adblock Plus."
35 | }
36 | }
37 |
38 | dependencies {
39 | api project(':adblock-android')
40 | api Deps.androidx_preference
41 | testImplementation Deps.junit4
42 | testImplementation Deps.kotlin_stdlib
43 | androidTestImplementation Deps.kotlin_stdlib
44 | androidTestImplementation Deps.androidx_test_core
45 | androidTestImplementation Deps.androidx_test_runner
46 | androidTestImplementation Deps.androidx_test_ext_junit
47 | }
48 |
49 | task copyDefaultSubscriptions (type: org.gradle.api.tasks.Copy) {
50 | from "$rootDir/libadblockplus/adblockpluscore/data/"
51 | into "./src/main/res/raw/"
52 | include "subscriptions.json"
53 | }
54 |
55 | gradle.taskGraph.afterTask { task ->
56 | if(task.state.noSource && task.name == 'copyDefaultSubscriptions'){
57 | throw new GradleException("${task.path} failed. Please check that libadblockplus\\adblockpluscore is checked out.")
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/java/org/adblockplus/libadblockplus/android/settings/SettingsViewModelFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.settings;
19 |
20 | import android.app.Application;
21 |
22 | import androidx.annotation.NonNull;
23 | import androidx.lifecycle.ViewModel;
24 | import androidx.lifecycle.ViewModelProvider;
25 |
26 | public class SettingsViewModelFactory implements ViewModelProvider.Factory
27 | {
28 | final private Application application;
29 | final private AdblockSettings settings;
30 | final private BaseSettingsFragment.Provider provider;
31 |
32 | public SettingsViewModelFactory(final Application application,
33 | final AdblockSettings settings,
34 | final BaseSettingsFragment.Provider provider)
35 | {
36 | this.application = application;
37 | this.settings = settings;
38 | this.provider = provider;
39 | }
40 |
41 | @NonNull
42 | @Override
43 | public T create(@NonNull final Class modelClass)
44 | {
45 | return (T) new SettingsViewModel(application, settings, provider);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/java/org/adblockplus/libadblockplus/android/settings/SubscriptionInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.settings;
19 |
20 | import org.adblockplus.Subscription;
21 |
22 | public class SubscriptionInfo
23 | {
24 | public SubscriptionInfo(final Subscription subscription)
25 | {
26 | this.url = subscription.url;
27 | this.title = subscription.title;
28 | this.languages = subscription.languages;
29 | this.homepage = subscription.homepage;
30 | this.author = subscription.author;
31 | }
32 |
33 | public SubscriptionInfo(final String url,
34 | final String title,
35 | final String languages,
36 | final String homepage,
37 | final String author)
38 | {
39 | this.url = url;
40 | this.title = title;
41 | this.languages = languages;
42 | this.homepage = homepage;
43 | this.author = author;
44 | }
45 |
46 | public SubscriptionInfo(final String url,
47 | final String title)
48 | {
49 | this(url, title, "", "", "");
50 | }
51 |
52 | public String url;
53 | public String title;
54 | public String homepage;
55 | public String languages;
56 | public String author;
57 | }
58 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-hdpi/fragment_adblock_allowlisted_domains_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-hdpi/fragment_adblock_allowlisted_domains_add.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-hdpi/fragment_adblock_allowlisted_domains_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-hdpi/fragment_adblock_allowlisted_domains_remove.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-mdpi/fragment_adblock_allowlisted_domains_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-mdpi/fragment_adblock_allowlisted_domains_add.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-mdpi/fragment_adblock_allowlisted_domains_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-mdpi/fragment_adblock_allowlisted_domains_remove.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xhdpi/fragment_adblock_allowlisted_domains_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xhdpi/fragment_adblock_allowlisted_domains_add.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xhdpi/fragment_adblock_allowlisted_domains_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xhdpi/fragment_adblock_allowlisted_domains_remove.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xxhdpi/fragment_adblock_allowlisted_domains_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xxhdpi/fragment_adblock_allowlisted_domains_add.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xxhdpi/fragment_adblock_allowlisted_domains_remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xxhdpi/fragment_adblock_allowlisted_domains_remove.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xxxhdpi/ic_add_circle_outline_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xxxhdpi/ic_add_circle_outline_black_24dp.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/drawable-xxxhdpi/ic_remove_circle_outline_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-settings/src/main/res/drawable-xxxhdpi/ic_remove_circle_outline_black_24dp.png
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/layout/fragment_adblock_allowlisted_domain_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
22 |
23 |
24 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-am/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus (አድ ብሎክ ፕላስ) የንግድ ማስታወቂያማገድ
4 | Adblock Plus (አድ ብሎክ ፕላስ) የንግድ ማስታወቂያማገድ
5 | ብዚሁ ድር ጣቢያ የንግድ ማስታወቂያ እንዲዘጋ ወይም እንዲታገድ አድርጉ።
6 | የሚፈለገው ዝርዝ
7 | የሚፈልጉትን ቋንቋ መጨመር ወይም ደግሞ ማንሳት(ማስወጣት)
8 | የንግድ ማስታወቂያ መቀበል
9 | እኛ የድር ጣቢያ በቀላሉ መጠቀም የሚችሉ የንግድ ማስታወቂያ እንዲጠቀሙ እና የሰው ሂወት ጣልቃ የማይገባ እንዲሆን ነው መታባባት እና መባራታት ነው የምንፈልግው። ለዚህ ነው እኛ በጣም ትብቅ የሆነ መምሪያ ተጠቅመን ተቀባይነት ያላቸው የንግድ ማስታወቂያ ብቻ ከማሳየት የምናስፈቅደው፡ ይህ ደግሞ በ default setting (ደፎልት ሰቲንግ) ይገኛል። የንግድ ማስታወቂያ የሌለው ድር ጣቢያ መከታተል ከፈለጋችሁ ደግሞ ይህ በ disable setting (ዲስኤብል ሰቲንግ) የሚለው ቦታ በሜሄድ መዝጋት ይቻላል።
10 | Whitelisted domains (ዋይትሊስተድ ዶመይንስ)
11 | ኣርስዎ የሚፈልጉት የንግድ ማስታወቂያ የሚያሳዩት የድር ጣቢያራስዎ መጨመር ይችላሉ።
12 | Domain (ዱመይን) መጨመር ይችላሉ።
13 | Whitelisted domains (ዋይትሊስተድ ዶመይንስ)
14 | በአውቶማቲክ ራሱ እሚታደስ ማድረግ
15 | ሚተር - የሌላቸው የ Wi-Fi networks (ዋይ-ፋይነትዎርክስ)
16 | ሁሉንም Wi-Fi networks (ዋይ-ፋይ ነትዎርክስ)
17 | ሁልጊዜ
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ar/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | السماح بحجب الإعلانات على المواقع الإلكترونية في هذا التطبيق
6 | قوائم عوامل التصفية
7 | إضافة أو إزالة قوائم عوامل التصفية حسب اللغة
8 | الإعلانات المقبولة
9 | الإعلانات المقبولة هي إعلانات غير مزعجة تتوافق مع معيار صارم للإعلانات. وتساعد هذه الإعلانات في توفير عائد مادي لمنشئي المحتوى في حين لا تتداخل مع المحتوى الذي تستعرضه.
10 | القائمة المسموح بها
11 | ادعم المواقع الإلكترونية المفضلة لديك بإضافتها إلى هذه القائمة. وفي حالة إضافتها، قد تشاهد إعلانات عليها.
12 | أدخل عنوان الموقع (URL)
13 | القائمة المسموح بها
14 | ضبط طريقة تحميل تحديثات القوائم التلقائية
15 | شبكات الواي فاي (Wi-Fi) المجانية فقط
16 | كل شبكات الواي فاي (Wi-Fi).
17 | دائمًا
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-bg/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Разрешете блокиране на реклами на уебсайтове в това приложение
6 | Списъци с филтри
7 | Добави или премахни списъци с филтри за конкретни езици
8 | Допустими реклами
9 | Бихме искали да насърчим уебсайтовете да използват ясни, ненатрапчиви реклами. Затова създадохме стриктни правила за идентифициране на допустими реклами, които се показват в настройките по подразбиране. Ако искаш да преглеждаш, без да виждаш реклами, можеш да деактивираш тази настройка по всяко време.
10 | Домейни, добавени в белия списък
11 | Добави уебсайтове, на които искаш да виждаш реклами, към този списък
12 | Добави домейн
13 | Домейни, добавени в белия списък
14 | Конфигурирай автоматични актуализации
15 | Безжични мрежи с неизмерено потребление
16 | Всички безжични мрежи
17 | Винаги
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-bn/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | ওয়েবসাইটগুলোতে বিজ্ঞাপন ব্লক করার জন্য এই অ্যাপকে অনুমতি দিন
6 | ফিল্টার তালিকা
7 | ভাষা যুক্ত করুন বা সরান- নির্দিষ্ট ফিল্টার তালিকা
8 | গ্রহণযোগ্য বিজ্ঞাপনগুলি
9 | আমরা সহজবোধ্য, অ-ছদ্মবেশী বিজ্ঞাপনগুলি ব্যবহার করতে ওয়েবসাইটগুলিকে উত্সাহিত করতে চাই। সেই কারণে আমরা গ্রহণযোগ্য বিজ্ঞাপনগুলি চিহ্নিত করতে কঠোর নির্দেশাবলী স্থাপন করেছি, যা ডিফল্ট সেটিংসে দেখানো হয়েছে। যদি আপনি বিজ্ঞাপন মুক্ত ভাবে ব্রাউজ করতে চান, তবে আপনি এই সেটিংটি যেকোনো সময়ে অক্ষম করতে পারেন।
10 | পরিচ্ছন্ন তলিকাভুক্ত ডোমেইনগুলি
11 | এই তালিকায় সেই ওয়েবসাইটগুলি যোগ করুন যাতে বিজ্ঞাপন দেখতে চান
12 | ডোমেন যোগ করুন
13 | পরিচ্ছন্ন তলিকাভুক্ত ডোমেইনগুলি
14 | স্বয়ংক্রিয় আপডেটগুলি কনফিগার করুন
15 | অ-মিটারযুক্ত ওয়াই-ফাই নেটওয়ার্কগুলি
16 | সমস্ত ওয়াই-ফাই নেটওয়ার্ক গুলি
17 | সর্বদা
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-bs/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Dozvolite blokiranje oglasa na web lokacijama u ovoj aplikaciji
6 | Filtriraj liste
7 | Dodaj ili ukloni liste filtera specifičnih za jezik
8 | Prihvatljive reklame
9 | Željeli bismo podstaknuti webstranice da koriste jasno, nenametljivo reklamiranje. Zato smo utvrdili stroge smjernice kako bismo identificirali prihvatljive reklame, koje se mogu vidjeti pod podrazumijevanim postavkama. Ako želite pretraživati bez oglasa, ovu postavku možete onemogućiti bilo kad.
10 | Lista dopuštenih domena
11 | Na ovaj popis dodajte webstranice sa kojih želite vidjeti oglase
12 | ডDodaj domen
13 | Lista dopuštenih domena
14 | Konfiguriraj automatska ažuriranja
15 | Wi-Fi mreže bez ograničenja prometa
16 | Sve Wi-Fi mreže
17 | Uvijek
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ca/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permet el bloqueig d\'anuncis en llocs web en aquesta aplicació
6 | Llistes de filtres
7 | Afegiu o suprimiu llistes de filtres específics per idioma
8 | Anuncis acceptables
9 | Instem als llocs web a que facin servir publicitat directa i no intrusiva. Per això hem establert directius estrictes per identificar els anuncis acceptables, que podeu trobar a la configuració predeterminada. Si voleu navegar sense anuncis, podeu desactivar aquesta configuració en qualsevol moment.
10 | Llista blanca de dominis
11 | Afegiu a aquesta llista tots els llocs web en què voleu veure anuncis
12 | Afegeix un domini
13 | Llista blanca de dominis
14 | Configureu les actualitzacions automàtiques
15 | Xarxes Wi-Fi no limitades
16 | Totes les xarxes Wi-Fi
17 | Sempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-cs/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Povolit v této aplikaci blokování reklam na webových stránkách
6 | Přehledy filtrů
7 | Přidávání nebo odebírání seznamů filtrů pro konkrétní jazyk
8 | Nerušivé reklamy
9 | Rádi bychom podpořili webové stránky, aby používaly přímočaré, nerušivé reklamy. Z tohoto důvodu jsme vytvořili přísné směrnice pro identifikaci „přijatelných reklam“, které se zobrazují ve výchozím nastavení. Pokud chcete surfovat bez reklam, můžete toto nastavení kdykoliv zakázat.
10 | Seznam povolených domén
11 | Na tento seznam lze přidávat webové stránky, na kterých chcete vidět reklamy
12 | Přidat doménu
13 | Seznam povolených domén
14 | Konfigurovat automatické aktualizace
15 | Neměřené sítě Wi-Fi
16 | Všechny sítě Wi-Fi
17 | Vždy
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-da/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Tillad blokering af reklamer på hjemmesider i denne app
6 | Filterlister
7 | Tilføj eller fjern sprogspecifikke filterlister
8 | Acceptable Ads
9 | Vi vil gerne opfordre hjemmesider til at bruge ukomplicerede reklamer og reklamer, der ikke er påtrængende. Det er grunden til, at vi har lavet strenge retningslinjer, der skal identificere Acceptable Ads. Disse kan ses under standardindstillinger. Hvis du ønsker at browse internettet uden reklamer, kan du til enhver tid slå denne indstilling fra.
10 | Domæner på positivlisten
11 | Tilføj hjemmesider, du ønsker at se reklamer på, til denne liste
12 | Tilføj domæne
13 | Domæner på positivlisten
14 | Konfigurer automatisk opdatering
15 | Wi-fi-netværk uden forbrugsbegrænsning
16 | Alle wi-fi-netværk
17 | Altid
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-de/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Werbeblockierung auf Websites in dieser App zulassen
6 | Filterlisten
7 | Sprachspezifische Filterliste hinzufügen oder entfernen
8 | Acceptable Ads
9 | Acceptable Ads sind unaufdringliche Werbeanzeigen gemäß strikter Normen. Sie helfen Urhebern dabei, Einnahmen zu generieren und stören nicht beim Anschauen der Inhalte. Standardmäßig sind Acceptable Ads aktiviert, aber du kannst sie jederzeit in den Einstellungen deaktivieren.
10 | Allowlist
11 | Unterstütze deine liebsten Webseiten und füge sie zu dieser Liste hinzu, um bei deren Besuch Werbung zuzulassen.
12 | URL hinzufügen
13 | Allowlist
14 | Automatische Updates konfigurieren
15 | Nicht gebührenpflichtige Wi-Fi-Netzwerke
16 | Alle Wi-Fi-Netzwerke
17 | Immer
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-el/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Να επιτρέπεται ο αποκλεισμός διαφημίσεων στους ιστοτόπους σε αυτή την εφαρμογή
6 | Λίστες φίλτρων
7 | Προσθήκη ή αφαίρεση λιστών φίλτρου για συγκεκριμένη γλώσσα
8 | Αποδεκτές Διαφημίσεις
9 | Αποδεκτές διαφημίσεις είναι οι διαφημίσεις που δεν είναι ενοχλητικές και τηρούν αυστηρά πρότυπα. Βοηθούν τους δημιουργούς περιεχομένου να έχουν έσοδα και να μην παρεμβαίνουν στο περιεχόμενο που βλέπετε. Αυτή η λειτουργία είναι προεπιλογμένη, αλλά μπορείτε να την απενεργοποιήσετε ανά πάσα στιγμή.
10 | Αποδοχή λίστας
11 | Υποστηρίξτε τους αγαπημένους σας ιστοτόπους και προσθέστε τους σε αυτή τη λίστα. Μπορεί να δείτε διαφημίσεις στους ιστοτόπους αυτούς.
12 | Εισάγετε διεύθυνση URL
13 | Αποδοχή λίστας
14 | Διαμόρφωση αυτόματων ενημερώσεων
15 | Δίκτυα Wi-Fi που δεν διαθέτουν μετρητή
16 | Όλα τα δίκτυα Wi-Fi
17 | Πάντα
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-es-rUS/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permitir que esta aplicación bloquee los anuncios de los sitios web
6 | Listas de filtros
7 | Agregar o eliminar listas de filtro específicas del idioma
8 | Anuncios Aceptables
9 | Nos gustaría impulsar a los sitios web para que usen publicidad sencilla, no invasiva. Por eso es que hemos establecido directrices estrictas para identificar anuncios aceptables, los cuales se muestran por defecto. Si quieres navegar sin anuncios, puedes desactivar este ajuste en cualquier momento.
10 | Dominios incluidos en la lista blanca
11 | Agrega a esta lista los sitios web que quieras que muestren anuncios
12 | Agregar dominio
13 | Dominios incluidos en la lista blanca
14 | Configurar actualizaciones automáticas
15 | Redes Wi-Fi de uso no medido
16 | Todas las redes Wi-Fi
17 | Siempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-es/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permitir que esta aplicación bloquee anuncios en sitios web
6 | Listas de filtros
7 | Añadir o eliminar listas de filtro específicas del idioma
8 | Anuncios Aceptables
9 | Los anuncios aceptables son anuncios que no molestan y que cumplen con un estándar de anuncios estricto. Ayudan a que los creadores de contenido generen ingresos y no interfieren con el contenido que estás viendo.
10 | Dominios incluidos en la lista blanca
11 | Lista de elementos permitidos
12 | Introducir URL
13 | Lista de elementos permitidos
14 | Configurar actualizaciones automáticas
15 | Redes Wi-Fi de uso no medido
16 | Todas las redes Wi-Fi
17 | Siempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-et/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Luba selles rakenduses veebisaitidel reklaamide blokeerimine
6 | Filtriloendid
7 | Keelepõhiste filtriloendite lisamine või eemaldamine
8 | Lubatavad reklaamid
9 | Soovime, et veebisaidid kasutaksid otsekoheseid, mitte pealetükkivaid reklaame. Seepärast oleme kehtestanud ranged suunised lubatavate reklaamide tuvastamiseks. Need on näha vaikesätete all. Kui soovite sirvida täiesti reklaamivabalt, võite selle sätte igal ajal välja lülitada.
10 | Lubatud domeenide loend
11 | Lisage sellesse loendisse veebisaidid, kus soovite reklaame näha
12 | Lisa domeenid
13 | Lubatud domeenide loend
14 | Konfigureeri automaatseid värskendusi
15 | Mahupõhise tasuta WiFi võrgud
16 | Kõik WiFi võrgud
17 | Alati
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-fa/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | فعالسازی بلوکه کردن نمایش تبلیغات دروب سایت ها دراین نرم افزار
6 | لیست
7 | افزودن یا حذف لیست
8 | تبلیغات قابل قبول
9 | ما در نظر داریم وب
10 | دامنه
11 | وب
12 | افزودن دامنه
13 | دامنه
14 | پیکربندی به
15 | شبکه
16 | همه شبکه
17 | همیشه
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-fi/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Salli mainosten esto verkkosivustoilla tässä sovelluksessa
6 | Suodatinluettelot
7 | Lisää tai poista kielikohtaiset suodatinluettelot
8 | Hyväksyttävät mainokset
9 | Haluamme kannustaa verkkosivustoja käyttämään yksinkertaista, tunkeilematonta mainontaa. Siksi olemme luoneet tiukat ohjeet hyväksyttävien mainosten tunnistamiseksi, jotka näytetään oletusasetuksissa. Jos haluat selata ilman mainoksia, voit ottaa tämän asetuksen pois käytöstä milloin tahansa.
10 | Sallittujen toimialueiden luettelo
11 | Lisää tähän luetteloon verkkosivustot, joilla haluat nähdä mainoksia
12 | Lisää toimialue
13 | Sallittujen toimialueiden luettelo
14 | Määritä automaattiset päivitykset
15 | Muuten kuin käytön mukaan laskutettavat Wi-Fi-verkot
16 | Kaikki Wi-Fi-verkot
17 | Aina
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-fil/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Salli mainosten esto verkkosivustoilla tässä sovelluksessa
6 | I-filter ang listahan
7 | Idagdag o alisin ang mga listahan ng filter para sa tiyak na wika
8 | Mga Katanggap-tanggap na Ad
9 | Nais naming hikayatin ang mga website na gumamit ng tapat at di mapanghimasok na pag-aadvertize. Kaya nagtaguyod kami ng mahigpit na panuntunan upang kilalanin ang mga Katanggap-tanggap na Ad na ipinapakita sa ilalim ng default settings. Kung nais mong mag-browse nang walang ad, maaari mong i-disable ang setting na ito anumang oras.
10 | Mga whitelisted na domain
11 | Magdagdag ng mga website na gusto mong makitaan ng mga ad sa listahang ito
12 | Magdagdag ng domain
13 | Mga whitelisted na domain
14 | I-configure ang mga awtomatikong update
15 | Hindi nakametrong mga Wi-Fi network
16 | Lahat ng Wi-Fi network
17 | Palagi
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-fr-rCA/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Autoriser le blocage de publicités sur les sites Web de cette application
6 | Listes de filtres
7 | Ajouter ou supprimer des listes de filtres dans une langue spécifique
8 | Publicités acceptables
9 | Nous encourageons les sites Web à utiliser une publicité simple et non intrusive. C\'est pour cette raison que nous avons établi des directives strictes permettant d\'identifier les publicités acceptables, qui sont affichées par défaut. Si vous souhaitez naviguer sans publicité, vous pouvez désactiver ce paramètre à tout moment.
10 | Domaines sur liste blanche
11 | Ajouter les sites Web sur lesquels vous voulez voir les publicités sur cette liste
12 | Ajouter un domaine
13 | Domaines sur liste blanche
14 | Configurer les mises à jour automatiques
15 | Réseaux Wi-Fi sans compteur
16 | Tous les réseaux Wi-Fi
17 | Toujours
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-fr/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Autorisez le blocage de publicités sur les sites Internet dans cette application
6 | Listes de filtres
7 | Ajouter ou supprimer des listes de filtres dans une langue spécifique
8 | Publicité Acceptable
9 | Les publicités acceptables sont des publicités non agaçantes, qui sont soumises à des normes strictes. Elles contribuent à générer des revenus pour les créateurs de contenu et ne constituent pas une entrave au contenu que vous affichez.
10 | Liste des sites acceptables
11 | Soutenez vos sites Internet préférés en les ajoutant à cette liste. Vous y verrez peut-être des publicités.
12 | Entrez l\'URL
13 | Liste des sites acceptables
14 | Configurer les mises à jour automatiques
15 | Réseaux WiFi (sans fil) non limités
16 | L\'ensemble des réseaux WiFi
17 | Toujours
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-hi/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | इस ऐप में वेबसाइट्स पर विज्ञापन ब्लॉक करने की अनुमति दें
6 | फ़िल्टर सूचियां
7 | भाषा विशिष्ठ फ़िल्टर सूचियों को जोड़ें या हटाएं
8 | स्वीकार्य विज्ञापन
9 | हम वेबसाइटों को सीधी, नॉनइंट्रूसिव विज्ञापन का उपयोग करने के लिए प्रोत्साहित करना चाहेंगे। इसलिए हम ने स्वीकार्य विज्ञापनों के लिए कठोर निर्देश तैयार किये है, जो डिफ़ॉल्ट सेटिंग के अंतर्गत दिखाए जायेंगे। यदि आप विज्ञापन-मुक्त ब्राउज़ करना चाहते हैं, तो आप इस सेटिंग को किसी भी समय अक्षम कर सकते हैं।
10 | श्वेतसूची वाले डोमेन
11 | उन वेबसाइट्स को जोड़ें, जिन्हें आप इस सूची में विज्ञापन देखना चाहते हैं
12 | डोमेन जोड़ें
13 | श्वेतसूची वाले डोमेन
14 | स्वयंचलित अपडेट कॉन्फ़िगर करें
15 | गैर-मीटर वाले Wi-Fi नेटवर्क
16 | सभी Wi-Fi नेटवर्क
17 | हमेशा
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-hr/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Dopustite blokiranje oglasa na mrežnim mjestima u ovoj aplikaciji
6 | Filtriraj popise
7 | Dodaj ili ukloni popise filtara za određeni jezik
8 | Prihvatljive reklame
9 | Željeli bismo potaknuti web-mjesta na korištenje izravnog, nenametljivog reklamiranja. Zato smo utvrdili stroge smjernice za identificiranje Prihvatljivih reklama, koje se vide pod zadanim postavkama. Ako želite pregledati bez reklama, ovu postavku možete onemogućiti kad god želite.
10 | Popis dopuštenih domena
11 | Na ovaj popis dodajte web-mjesta s kojih želite vidjeti reklame
12 | Dodaj domen
13 | Popis dopuštenih domena
14 | Konfiguriraj automatska ažuriranja
15 | Wi-Fi mreže bez ograničenja prometa
16 | Sve Wi-Fi mreže
17 | Uvijek
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-hu/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Reklámblokkolás engedélyezése webhelyeken ezen alkalmazásban
6 | Szűrőlisták
7 | Nyelvspecifikus szűrőlisták hozzáadása vagy eltávolítása
8 | Elfogadható hirdetések
9 | Az elfogadható hirdetések olyan nem bosszantó hirdetések, amelyek szigorú hirdetési szabályoknak felelnek meg. Segítenek a tartalomkészítők bevételeinek generálásában, és nem zavarják a tartalmak megtekintését. Alapértelmezésként be van kapcsolva ezen funkció, de ez bármikor kikapcsolható.
10 | Engedélyezőlista
11 | Támogassa kedvenc weboldalait e listához történő hozzáadással. Előfordulhat, hogy hirdetéseket is láthat rajtuk.
12 | URL-cím megadása
13 | Engedélyezőlista
14 | Automatikus frissítések konfigurálása
15 | Nem forgalmi díjas Wi-Fi hálózatok
16 | Minden Wi-Fi hálózat
17 | Mindig
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-in/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Izinkan pemblokiran iklan pada situs web dalam aplikasi ini
6 | Daftar filter
7 | Tambah atau hapus daftar filter dalam bahasa tertentu
8 | Iklan yang Bisa Diterima
9 | Kami ingin mendorong agar semua situs web menggunakan metode periklanan yang bersifat sederhana dan nonintrusif. Itulah sebabnya mengapa kami menetapkan pedoman yang ketat dalam mengidentifikasi Iklan yang Bisa Diterima, yang ditunjukkan dalam pengaturan default kami. Jika Anda ingin menjelajah internet tanpa melihat iklan apa pun, Anda bisa menonaktifkan pengaturan ini kapan saja.
10 | Domain yang masuk dalam daftar putih
11 | Tambah situs web yang ingin Anda lihat iklan di dalamnya ke daftar ini
12 | Tambah domain
13 | Domain yang masuk dalam daftar putih
14 | Konfigurasi pembaruan otomatis
15 | Jaringan Wi-Fi tanpa kuota
16 | Semua jaringan Wi-Fi
17 | Selalu
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-it/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Abilita il blocco pubblicità sui siti Web
6 | Elenchi di filtri
7 | Aggiungi o rimuovi elenchi di filtri specifici per la lingua
8 | Pubblicità Accettabili
9 | Le pubblicità accettabili sono annunci non fastidiosi che rispettano un rigoroso standard pubblicitario. Aiutano a generare entrate per i creatori di contenuti e non interferiscono con i contenuti che si stanno visualizzando.
10 | Elenco consentiti
11 | Sostieni i tuoi siti web preferiti aggiungendoli a questo elenco. È possibile che su questi siti web appaiano delle pubblicità.
12 | Inserisci URL
13 | Elenco consentiti
14 | Configura gli aggiornamenti automatici
15 | Reti Wi-Fi non a consumo
16 | Tutte le reti Wi-Fi
17 | Sempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-iw/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | אפשר חסימת התראות באתרים באפליקציה זאת
6 | רשימות סינון
7 | הוסף או הסר רשימות סינון ספציפיות לשפה
8 | פרסומות מקובלות
9 | אנחנו רוצים לעודד אתרים בפרסום ישיר ושאינו מפריע. לכן ביססנו קווים מנחים נוקשים לזיהוי פרסומות מקובלות, שמוצגות בהגדרות ברירת מחדל. אם תרצו לגלוש ללא פרסומות כלל, תוכלו לבטל הגדרה זו בכל עת.
10 | דומיינים ברשימה הלבנה
11 | לרשימה הזו הוסף אתרים שבהם תרצה לראות פרסומות
12 | הוסף דומיין
13 | דומיינים ברשימה הלבנה
14 | הגדר עדכונים אוטומטיים
15 | רשתות Wi-Fi לא לפי שימוש
16 | כל רשתות Wi-Fi
17 | תמיד
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ja/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | このアプリで、ウェブサイトの広告ブロックを許可する
6 | フィルターリスト
7 | 特定言語フィルターリストを追加または削除
8 | 控えめな広告
9 | 控えめな広告とは、厳格な広告基準を遵守する邪魔にならない広告のことです。これらの広告はコンテンツ作成者の収入源となるとともに、ご覧になっているコンテンツに干渉しないようになっています。この機能はデフォルトで ON になっていますが、いつでも OFF にすることができます。
10 | 許可リスト
11 | このリストにお気に入りのウェブサイトを追加して支援しましょう。広告が表示される場合があります。
12 | URL を入力してください
13 | 許可リスト
14 | 自動アップデートの設定
15 | 定額制の Wi-Fi ネットワーク
16 | すべての Wi-Fi ネットワーク
17 | いつも
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-kk/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Осы қолданбадағы веб-сайттарға жарнамаларға тыйым салуға рұқсат ету
6 | Сүзгі тізімдері
7 | Тілге тән сүзгі тізімдерін қосу немесе жою
8 | Қабылданатын жарнамалар
9 | Веб-сайттарда тікелей емес, жалықтырмайтын жарнама пайдалануды қалаймыз. Сол себепті, әдепкі параметрлер астында көрсетілген қабылданатын жарнамаларды анықтау бойынша қатаң нұсқаулықтарды орнату керек. Егер тегін жарнаманы шолуды қаласаңыз, осы параметрді кез келген уақытта өшіре аласыз.
10 | Ақ тізімге енген домендер
11 | Осы тізімге жарнамалар көруді қалайтын веб-сайттарды қосу
12 | Домен қосу
13 | Ақ тізімге енген домендер
14 | Автоматты жаңартуларды теңшеу
15 | Өлшенбеген Wi-Fi желілері
16 | Барлық Wi-Fi желілері
17 | Үнемі
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-km/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | អនុញ្ញាតការទប់ស្កាត់ការផ្សាយពាណិជ្ជកម្មនៅលើគេហទំព័រក្នុងកម្មវិធីនេះ
6 | បញ្ជីតម្រង
7 | បន្ថែម ឬដកបញ្ជីតម្រង
8 | ការផ្សាយពាណិជ្ជកម្ម
9 | យើងចង់
10 | ដូមែន
11 | បន្ថែម
12 | បន្ថែមដូមែន
13 | ដូមែន
14 | កំណត់រចនាសម្ព័ន្ធ
15 | បណ្ដាញ Wi-Fi ដែលមិនគិតតាមចំនួនប្រើប្រាស់
16 | បណ្ដាញ Wi-Fi ទាំងអស់
17 | ជានិច្ច
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ko/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | 이 앱에서 웹사이트 광고 차단을 허용합니다
6 | 필터 목록
7 | 언어별 필터 목록 추가 또는 제거
8 | 허용되는 광고
9 | 허용되는 광고란 엄격한 광고 기준을 준수하는 성가시지 않은 광고입니다. 콘텐츠 크리에이터의 수익 창출에 도움이 되며 표시 중인 콘텐츠를 방해하지 않습니다. 이 기능은 기본 설정에서 켜짐 상태이지만 언제든지 끌 수 있습니다.
10 | 허용 목록
11 | 이 목록에 즐겨 찾는 웹 사이트를 추가하여 지원할 수 있습니다. 광고가 표시될 수 있습니다.
12 | URL 입력
13 | 허용 목록
14 | 자동 업데이트 구성
15 | 데이터 요금제를 사용하지 않는 Wi-Fi 네트워크
16 | 모든 Wi-Fi 네트워크
17 | 항상
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-lt/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Leisti šioje programėlėje blokuoti svetainių reklamas
6 | Filtrų sąrašas
7 | Pridėti arba pašalinti konkrečių kalbų filtrų sąrašus
8 | Priimtini skelbimai
9 | Norėtume svetaines paskatinti naudoti aiškias, neintervencines reklamas. Tam sudarėme griežtas Priimtinų skelbimų, kurie rodomi esant numatytiesiems nustatymams, identifikavimo gaires. Jei naršydami norite nematyti skelbimų, šį nustatymą galite bet kada išjungti.
10 | Į baltąjį sąrašą įtraukti domenai
11 | Į šį sąrašą pridėkite svetaines, kurių skelbimus norite matyti
12 | Pridėti domeną
13 | Į baltąjį sąrašą įtraukti domenai
14 | Konfigūruoti automatinį naujinimą
15 | Apskaičiuotų duomenų „Wi-Fi“ tinklai
16 | Visi „Wi-Fi“ tinklai
17 | Visada
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-lv/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Atļaut reklāmu bloķēšanu tīmekļa vietnēs šajā programmā
6 | Filtru saraksti
7 | Pievienojiet vai noņemiet valodai raksturīgos filtru sarakstus
8 | Pieņemamās reklāmas
9 | Mēs vēlamies mudināt tīmekļa vietnes izmantot vienkāršas, neuzmācīgas reklāmas. Tādēļ mēs esam izveidota stingras vadlīnijas, lai atpazītu pieņemamās reklāmas, kas tiek parādītas, kad ir aktīvi noklusējuma iestatījumi. Ja vēlaties pārlūkot bez reklāmām, varat atslēgt šo iestatījumu jebkurā laikā.
10 | Baltajā sarakstā iekļautie domēni
11 | Pievienojiet šim sarakstam tīmekļa vietnes, kurās vēlaties redzēt reklāmas
12 | Pievienot domēnu
13 | Baltajā sarakstā iekļautie domēni
14 | Konfigurēt automātiskos atjauninājumus
15 | Nemērāmi Wi-Fi tīkli
16 | Visi Wi-Fi tīkli
17 | Vienmēr
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-mk/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Дозволи блокирање реклами на веб-локации во оваа апликација
6 | Листи на филтри
7 | Додај или отстрани листи на филтри специфични за јазикот
8 | Прифатливи реклами
9 | Би сакале да ги охрабриме веб сајтовите да се служат со едноставно, ненаметливо рекламирање. Затоа воспоставивме строги упатства за идентификација на Прифатливите реклами, што се наоѓаат под стандардните поставки. Ако сакаш да прелистуваш без реклами, во секое време може да ја оневозможиш оваа поставка.
10 | Домени на бела листа
11 | На оваа листа додај веб сајтови на коишто сакаш да видиш реклами
12 | Додај домен
13 | Домени на бела листа
14 | Конфигурирај автоматски ажурирања
15 | Wi-Fi мрежи без мерење сообраќај
16 | Сите Wi-Fi мрежи
17 | Секогаш
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ms/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Benarkan penyekat iklan pada tapak web dalam apl ini
6 | Senarai penapis
7 | Tambah atau buang senarai penapis bahasa tertentu
8 | Iklan yang boleh diterima
9 | Kami ingin menggalakkan lama web untuk menggunakan pengiklanan yang jujur dan tidak mengganggu. Itulah sebabnya kami menubuhkan garis panduan ketat untuk mengenal pasti Iklan Boleh Diterima, yang dipaparkan di bawah tetapan lalai. Jika anda ingin melayari bebas iklan, anda boleh menyahdaya tetapan ini pada bila-bila masa.
10 | Domain disenarai putih
11 | Tambah laman web yang anda ingin lihat iklan pada senarai ini
12 | Tambaha domain
13 | Domain disenarai putih
14 | Konfigurasi kemas kini automatik
15 | Rangkaian Wi-Fi tidak bermeter
16 | Semua rangkaian Wi-FI
17 | Sentiasa
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-my/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | ဤအက္(ပ္)တြင္ ဝဘ္ဆိုုဒ္မ်ား ၾကည့္ရႈခ်ိန္၌ ေၾကာ္ျငာမ်ားထြက္ေပၚလာျခင္းကိုု ပိတ္ဆိုု႔ရန္အတြက္ ခြင့္ျပဳသည္
6 | စစ္ထုတ္ထားသည့္စာရင္းမ်ား
7 | ဘာသာရပ္ဆိုင္ရာစစ္ထုတ္စာရင္းမ်ားကိုထည့္ပါ သို႔မဟုတ္ ဖယ္ထုတ္ပါ
8 | လက္ခံႏုိင္ေသာေၾကာ္ျငာမ်ား
9 | ေျဖာင့္မွန္ေသာ၊ အစြန္းထြက္ျခင္းမရွိေသာ ေၾကာ္ျငာကိုအသံုးျပဳရန္ ကၽြႏု္ပ္တို႔ ဝဘ္ဆိုက္ကို တိုက္တြန္းလိုပါသည္။ ပံုေသဆက္တင္မ်ားေအာက္တြင္ ေဖာ္ျပထားသည့္ လက္ခံႏုိင္သည့္ ေၾကာ္ျငာမ်ားကို ေဖာ္ျပရန္ တင္းက်ပ္သည့္လမ္းညႊန္ခ်က္မ်ားကို ထို႔အတြက္ေၾကာင့္ ကၽြႏု္ပ္တုိ႔ ခ်မွတ္ထားသည္။ ေၾကာ္ျငာမပါျခင္းကိုရွာေဖြလိုသည့္အခါ သင္သည္ ထုိဆက္တင္ကို မည္သည့္အခ်ိန္တြင္မဆို ပိတ္ထားႏုိင္သည္။
10 | အတည္ျပဳထားသည့္ ဒိုမိန္းမ်ား
11 | ဤစာရင္းတြင္ ေၾကာ္ျငာမ်ားကိုျမင္ခ်င္သည့္ ဝဘ္ဆိုက္မ်ားကိုထည့္သြင္းပါ
12 | ডဒိုမိန္းကိုထည့္ပါ
13 | အတည္ျပဳထားသည့္ ဒိုမိန္းမ်ား
14 | အလိုအေလ်ာက္ျပင္ဆင္ခ်က္မ်ားကိုတပ္ဆင္ပါ
15 | မတိုင္းတာထားသည့္ Wi-Fi ကြန္ရက္မ်ား
16 | Wi-Fi ကြန္ရက္မ်ားအားလံုး
17 | အျမဲတမ္း
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-nb/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Tillat annonseblokkering på nettsider i denne appen
6 | Filter lister
7 | Legg til eller fjern språkspesifikke filterlister
8 | Akseptable annonser
9 | Vi anbefaler nettsider å benytte annonser som ikke er påtrengende og med et tydelig budskap. Derfor har vi etablert strenge retningslinjer for å identifisere akseptable annonser, som vises under standardinnstillingene. Du kan deaktivere denne innstillingen dersom du ha sidene uten annonser.
10 | Hvitelistede domener
11 | På denne listen legger du til nettsider som du vil se annonser på
12 | Legg til domene
13 | Hvitelistede domener
14 | Konfigurere automatiske oppdateringer
15 | Ikke målte WiFi-nettverk
16 | Alle WiFi-nettverk
17 | Alltid
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-nl/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | In deze app advertentieblokkering op websites toestaan
6 | Filterlijsten
7 | Taalspecifieke filterlijsten toevoegen of verwijderen
8 | Acceptabele advertenties
9 | Acceptabele advertenties zijn niet-irritante advertenties die voldoen aan een strenge advertentie standaard. Ze dragen bij tot het genereren van inkomsten voor contentmakers en komen niet in de weg van de inhoud die u bekijkt. Deze optie staat standaard aan, maar u kan het elk moment uitschakelen.
10 | Toelatingslijst
11 | Ondersteun uw favoriete websites door ze aan deze lijst toe te voegen. Er kunnen advertenties op worden weergegeven.
12 | Voer URL in
13 | Toelatingslijst
14 | Automatische updates configureren
15 | Niet-bemeterde wifi-netwerken
16 | Alle wifi-netwerken
17 | Altijd
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-pl/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Zezwalaj na blokowanie reklam na witrynach w tej aplikacji
6 | Listy filtrów
7 | Dodaj lub usuń listy filtrów dla określonego języka
8 | Akceptowalne reklamy
9 | Akceptowalne reklamy to reklamy nieirytujące, które podlegają rygorystycznym normom tworzenia reklam. Pomagają one generować dochód dla twórców, a Tobie nie przeszkadzają w oglądaniu treści stron.
10 | Lista dozwolonych
11 | Wspieraj swoje ulubione witryny, dodając je do tej listy. Reklamy będą na nich wyświetlane.
12 | Dodaj domenę
13 | Lista dozwolonych
14 | Skonfiguruj aktualizacje automatyczne
15 | Nietaryfowe sieci Wi-Fi
16 | Wszystkie sieci Wi-Fi
17 | Zawsze
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-pt-rBR/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permitir o bloqueio de anúncios em páginas web neste app
6 | Listas de filtros
7 | Adicionar ou remover listas de filtros específicas de idiomas
8 | Anúncios Aceitáveis
9 | Anúncios aceitáveis são anúncios não irritantes que atendem a um rígido padrão. Eles ajudam a gerar receita para criadores de conteúdo e não interferem no conteúdo que você exibe.
10 | Lista de permissões
11 | Para apoiar os seus sites favoritos, adicione-os a essa lista. Você poderá ver anúncios neles.
12 | Inserir URL
13 | Lista de permissões
14 | Configurar atualizações automáticas
15 | Redes Wi-Fi ilimitadas
16 | Todas as redes Wi-Fi
17 | Sempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-pt/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permitir o bloqueio de anúncios em páginas web neste app
6 | Listas de filtros
7 | Adicionar ou remover listas de filtros específicas de idiomas
8 | Anúncios Aceitáveis
9 | Gostaríamos de incentivar os sites Web a utilizar anúncios simples e não intrusivos. Foi por esse motivo que estabelecemos diretrizes rigorosas para identificar Anúncios Aceitáveis, que são mostrados nas definições padrão. Se pretender uma navegação sem anúncios, é possível desativar esta definição a qualquer momento.
10 | Domínios na lista branca
11 | Adicione os sites Web dos quais pretende ver anúncios a esta lista
12 | Adicionar domínio
13 | Domínios na lista branca
14 | Configurar atualizações automáticas
15 | Redes Wi-Fi com tráfego limitado
16 | Todas as redes Wi-Fi
17 | Sempre
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ro/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Permite blocarea reclamelor pe site-urile web în această aplicație
6 | Listă filtre
7 | Adăugați sau eliminați liste de filtre specifice limbilor
8 | Reclame acceptabile
9 | Am dori să încurajăm website-urile să folosească reclame directe, neintruzive. De aceea am definit reguli stricte pentru identificarea reclamelor acceptabile, care sunt prezentate la setările implicite standard. Dacă doriți să navigați pe Internet fără reclame, puteți dezactiva această setare în orice moment.
10 | Domenii din lista de aprobare
11 | Adăugați website-uri pe care doriți vedeți reclame la această listă
12 | Adăugare domeniu
13 | Domenii din lista de aprobare
14 | Configurare actualizări automate
15 | Rețele Wi-Fi necontorizate
16 | Toate rețelele Wi-Fi
17 | Întotdeauna
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ru/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Разрешить блокировку рекламы на сайтах в этом приложении
6 | Списки фильтров
7 | Добавить или удалить списки фильтрации для определенных языков
8 | Допустимая реклама
9 | Допустимая реклама – это реклама, которая не является назойливой и соответствует строгим требованиям, предъявляемым к рекламе. Такая реклама помогает создателям контента получать доход и не мешает просмотру контента. Эта функция включена по умолчанию, но вы можете её отключить в любой момент.
10 | Разрешенный список
11 | Поддержите ваши любимые сайты, добавив их в этот список. На этих сайтах вы можете увидеть рекламу.
12 | Ввести URL-адрес
13 | Разрешенный список
14 | Настроить автоматические обновления
15 | Сети Wi-Fi без ограничений по объему данных
16 | Все сети Wi-Fi
17 | Всегда
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-sk/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Povoliť blokovanie reklám na webových stránkach v tejto aplikácii
6 | Zoznamy filtrov
7 | Pridať alebo odstrániť zoznamy filtrov pre konkrétne jazyky
8 | Prijateľné reklamy
9 | Radi by sme podporili webové lokality, aby používali priamu a nerušivú reklamu. Preto sme vypracovali prísne pokyny na identifikáciu prijateľných reklám, ktoré sa zobrazujú v predvolených nastaveniach. Ak chcete prehliadať stránky bez reklám, môžete toto nastavenie kedykoľvek zakázať.
10 | Domény s povolenými adresami
11 | Pridajte webové lokality, ktoré chcete vidieť na tomto zozname
12 | Pridať doménu
13 | Domény s povolenými adresami
14 | Konfigurácia automatických aktualizácií
15 | Neúčtované siete wifi
16 | Všetky siete wifi
17 | Vždy
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-sl/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Dovoli blokiranje oglasov na spletnih straneh v tej aplikaciji
6 | Seznami filtrov
7 | Dodaj ali odstranit sezname filtrov za jezik
8 | Acceptable Ads
9 | Želimo spodbujati, da bi spletne strani uporabljale enostavno, nevsiljivo oglaševanje. Zato smo vzpostavili stroge smernice za prepoznavanje sprejemljivih oglasov (Acceptable Ads), ki so prikazane pod privzetimi nastavitvami. Če želite brskati brez oglasov, lahko to nastavitev kadar koli onemogočite.
10 | Dovoljene domene
11 | Dodajte spletne strani, na katerih želite videti oglase, na ta seznam
12 | Dodaj domeno
13 | Dovoljene domene
14 | Konfiguriraj samodejne posodobitve
15 | Brezplačna omrežja Wi-Fi
16 | Vsa omrežja Wi-Fi
17 | Vedno
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-sr/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Dozvolite blokiranje oglasa na veb lokacijama u ovoj aplikaciji
6 | Liste filtera
7 | Dodaj ili ukloni liste filtera za određeni jezik
8 | Prihvatljive reklame
9 | Želeli bismo da podstaknemo veb lokacije da koriste način neposrednog, nenametljivog reklamiranja. Zato smo utvrdili stroge smernice za identifikovanje prihvatljivih reklama, koje mogu da se vide pod podrazumevanim postavkama. Ako želite da pregledate bez reklama, ovu postavku možete da onemogućite bilo kad.
10 | Bela lista domena
11 | Na ovu listu dodajte veb lokacije sa kojih želite da vidite reklame
12 | Dodaj domen
13 | Bela lista domena
14 | Konfiguriši automatska ažuriranja
15 | Wi-Fi mreže bez ograničenja
16 | Sve Wi-Fi mreže
17 | Uvek
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-sv/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Tillåt annonsblockering på webbplatser i denna app
6 | Filterlistor
7 | Lägg till och ta bort språkspecifika filterlistor
8 | Accepterade annonser
9 | Vi vill uppmuntra webbplatser att använda enkel, icke påträngande annonsering. Därför har vi upprättat strikta riktlinjer för att identifiera Accepterade annonser, som visas under standardinställningarna. Om du vill surfa annonsfritt kan du när som helst inaktivera den här inställningen.
10 | Godkända domäner
11 | Lägg till webbplatser där du vill se annonser i den här listan
12 | Lägg till domän
13 | Godkända domäner
14 | Konfigurera automatiska uppdateringar
15 | Ej övervakade Wi-Fi-nätverk
16 | Alla Wi-Fi-nätverk
17 | Alltid
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-sw/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Tillåt annonsblockering på webbplatser i denna app
6 | Chuja Orodha
7 | Ongeza au ondoa uchujaji wa orodha kwa misingi ya lugha
8 | Ads Zinazokubalika
9 | Tungependa kuhimiza tovuti zitumie utangazaji wa moja kwa moja usio na uingiliaji. Hiyo ndio sababu tumeanzisha mwongozo mkali wa kutambua Ads Zinazokubalika, ambazo zinaonyeshwa kwenye mpangilio asili. Ikiwa ungependa kudurusu bila ads, unaweza kusimamisha mpangilio huu wakati wowote.
10 | Domeini za Orodha Nyeupe
11 | Ongeza tovuti ambazo kwazo ungependa kuona ads kwenye orodha hii
12 | Ongeza domeini
13 | Domeini za Orodha Nyeupe
14 | Pangilia usasisho wa kiotomati
15 | Mitandao ya Wi-Fi isiyowekewa kipimo cha data
16 | Mitandao yote ya Wi-Fi
17 | Kila wakati
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-th/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | อนุญาตให้บล็อคโฆษณาบนเว็บไซต์ในแอปนี้
6 | ตัวกรองรายการ
7 | เพิ่มหรือลบตัวกรองรายการภาษาที่ระบุ
8 | โฆษณาที่ยอมรับได้
9 | เราต้องการส่งเสริมให้เว็บไซต์ทำการโฆษณาโดยตรง โดยไม่สร้างความรำคาญแก่ผู้ชม นั่นจึงเป็นเหตุผลว่าทำไมเราถึงได้กำหนดแนวทางที่เข้มงวดเพื่อระบุโฆษณาที่ยอมรับได้ ซึ่งแสดงอยู่ด้านล่างในค่าเริ่มต้นของการตั้งค่า หากคุณต้องการเรียกใช้งานโฆษณาฟรี คุณสามารถปิดใช้งานการตั้งค่านี้ได้ตลอดเวลา
10 | โดเมนที่อนุญาต
11 | เพิ่มเว็บไซต์ที่คุณต้องการเห็นโฆษณาบนรายการนี้
12 | เพิ่มโดเมน
13 | โดเมนที่อนุญาต
14 | กำหนดค่าการอัปเดตอัตโนมัติ
15 | เครือข่าย Wi-Fi ที่ไม่คิดค่าบริการตามปริมาณข้อมูล
16 | ทุกเครือข่าย Wi-Fi
17 | ตลอดเวลา
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-tr/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Bu uygulamadaki web sitelerinde reklamların engellenmesine izin verin
6 | Filtre listeleri
7 | Dile özel filtre listelerini ekle veya kaldır
8 | Kabul edilebilir reklamlar
9 | Kabul edilebilir reklamlar, katı bir reklam standardına uygun olan, can sıkıcı olmayan reklamlardır. Bunlar, içerik yaratıcılarının gelir elde etmesini sağlar ve görüntülediğiniz içeriği sekteye uğratmaz. Bu özellik varsayılan olarak açıktır, ancak istediğiniz zaman kapatabilirsiniz.
10 | İzin listesi
11 | En sevdiğiniz web sitelerini bu listeye ekleyerek destekleyin. Bu sitelerde reklamlar görebilirsiniz.
12 | URL gir
13 | İzin listesi
14 | Otomatik güncellemeleri yapılandır
15 | Tarifesiz (Non-metered) Wi-Fi ağları
16 | Tüm Wi-Fi ağları
17 | Her zaman
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-uk/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Дозволити блокування реклами на веб-сайтах у цьому додатку
6 | Списки фільтрів
7 | Додавання або видалення списків фільтрів для різних мов
8 | Допустима реклама
9 | Ми хотіли б заохотити веб-сайти використовувати просту, ненав\'язливу рекламу. Тому ми створили суворі принципи для ідентифікації допустимої реклами, яка відображається за замовчуванням. Якщо ви хочете переглядати сайти без реклами, ви можете відключити її у будь-який момент.
10 | Дозволені домени
11 | Додайте веб-сайти у білий список, щоб дозволити відображення реклами
12 | Додати домен
13 | Дозволені домени
14 | Налаштування автоматичного оновлення
15 | Мережі Wi-Fi з безлімітним підключенням
16 | Усі мережі Wi-Fi
17 | Завжди
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-ur/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | اس ایپ میں ویب سائٹوں پر اشتہارات روکنے کی اجازت دیں۔
6 | فلٹر والی فہرستیں
7 | زبان کے ساتھ مخصوص فلٹر والی فہرستیں اضافہ کریں یا ہٹائیں
8 | قابل قبول اشتہارات
9 | ہم اس بات کی ترغیب دینا چاہیں گے کہ ویب سائٹیں راست، غیر مداخلتی اشتہارات استعمال کریں۔ یہی وجہ ہے کہ ہم نے قابل قبول اشتہارات کی شناخت کے لیے سخت ہدایات مرتب کی ہیں، جنہیں ڈیفالٹ ترتیبات میں دکھایا گیا ہے۔ اگر آپ اشتہارات سے پاک براؤزنگ کرنا چاہتے ہیں تو کسی بھی وقت اس ترتیب کو غیر فعال کر سکتے ہیں۔
10 | منظور شدہ فہرست میں داخل کردہ ڈومین
11 | اس فہرست میں ویب سائٹوں کا اضافہ کریں آپ جن کے اشتہارات دیکھنا چاہتے ہیں
12 | ڈومین کا اضافہ کریں
13 | منظور شدہ فہرست میں داخل کردہ ڈومین
14 | خود کار اپ ڈیٹس کو کنفیگر کریں
15 | غیر میٹر والے وائی-فائی نیٹ ورک
16 | تمام وائی-فائی نیٹ ورک
17 | ہمیشہ
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-vi/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | Cho phép chặn quảng cáo trên trang web trong ứng dụng này
6 | Danh sách lọc
7 | Thêm hoặc xóa danh sách bộ lọc ngôn ngữ
8 | Quảng cáo chấp nhận được
9 | Chúng tôi khuyến khích các trang web sử dụng quảng cáo đơn giản, không gây phiền toái. Đó là lý do tại sao chúng tôi tạo ra hướng dẫn chặt chẽ để xác định Quảng cáo chấp nhận được, những quảng cáo được hiển thị ở chế độ cài đặt mặc định. Nếu bạn muốn duyệt web không có quảng cáo, bạn có thể vô hiệu hóa cài đặt này bất kỳ lúc nào.
10 | Danh sách tên miền không gây hại
11 | Thêm các trang web mà bạn muốn xem quảng cáo vào danh sách này
12 | Thêm tên miền
13 | Danh sách tên miền không gây hại
14 | Cấu hình tự động cập nhật
15 | Các mạng Wi-Fi không đo
16 | Tất cả các mạng Wi-Fi
17 | Luôn luôn
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-zh-rCN/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | 允许于此应用程序中启用网站广告拦截功能
6 | 过滤列表
7 | 添加或移除特定语言筛选列表
8 | 可接受广告
9 | 可接受广告是符合严格广告标准的广告,不会给人造成困扰。这些广告助于内容创作者 带来收入,并且不会干扰您观看的内容。此功能默认为开启,但您可以随时关闭。
10 | 允许列表
11 | 支持您最喜爱的网站,将其添加到此列表。您可能在这些网站上看到广告。
12 | 输入 URL
13 | 允许列表
14 | 配置自动更新
15 | 非计量 Wi-Fi 网络
16 | 所有 Wi-Fi 网络
17 | 总是
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values-zh-rTW/adblock_settings_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Adblock Plus
4 | Adblock Plus
5 | 允許於此App中啟用網站廣告攔截功能
6 | 過濾列表
7 | 新增或移除特定於語言的篩選清單
8 | 可接受廣告
9 | 我們鼓勵網站使用直接的非侵入性廣告。這就是我們設立嚴格的指引來識別依預設顯示之可接受廣告的原因。若您希望無廣告瀏覽,則可以隨時停用此設定。
10 | 列出的白名單網域
11 | 將您想要在其上查看廣告的網站新增至此清單
12 | 新增網域
13 | 列出的白名單網域
14 | 設定自動更新
15 | 非計量 Wi-Fi 網路
16 | 所有 Wi-Fi 網路
17 | 總是
18 |
19 |
20 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values/adblock_settings_dimen_internal.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 16dp
5 | 8dp
6 |
7 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/values/adblock_settings_strings_internal.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | adblock_enabled
9 | adblock_filter_lists
10 | adblock_aa_enabled
11 | adblock_al_domains
12 | adblock_allowed_connection_type
13 |
14 |
--------------------------------------------------------------------------------
/adblock-android-settings/src/main/res/xml/preference_adblock_general.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
11 |
12 |
13 |
20 |
21 |
22 |
27 |
28 |
29 |
34 |
35 |
36 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/adblock-android-webview/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'kotlin-android'
3 |
4 | android {
5 | compileSdkVersion Config.compileSdkVersion
6 | buildToolsVersion Config.buildToolsVersion
7 |
8 | testBuildType project.getProperties().get("testBuildType", "debug")
9 |
10 | defaultConfig {
11 | minSdkVersion Config.webView_minSdkVersion
12 | targetSdkVersion Config.targetSdkVersion
13 | missingDimensionStrategy 'abi', 'abi_all', 'abi_arm', 'abi_arm64', 'abi_x86'
14 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
15 | }
16 |
17 | sourceSets {
18 | test.java.srcDirs += 'src/test/kotlin'
19 | androidTest.java.srcDirs += 'src/androidTest/kotlin'
20 | }
21 | }
22 |
23 | bintray {
24 | pkg {
25 | desc="An Android library that provides a WebView component with Adblock Plus integrated."
26 | }
27 | }
28 |
29 | dependencies {
30 | api project(':adblock-android')
31 | testImplementation Deps.junit4
32 | testImplementation Deps.kotlin_stdlib
33 | testImplementation Deps.mockito_core
34 | testImplementation Deps.mockito_kotlin
35 | androidTestImplementation Deps.androidx_test_core
36 | androidTestImplementation Deps.androidx_test_rules
37 | androidTestImplementation Deps.androidx_test_runner
38 | androidTestImplementation Deps.androidx_test_ext_junit
39 | androidTestImplementation Deps.androidx_test_espresso_core
40 | androidTestImplementation Deps.androidx_test_espresso_web
41 | androidTestImplementation Deps.kotlin_stdlib
42 | androidTestImplementation Deps.mockito_core
43 | androidTestImplementation Deps.mockito_android
44 | androidTestImplementation Deps.mockito_kotlin
45 | androidTestImplementation Deps.wiremock_standalone
46 | androidTestImplementation project(path: ':adblock-android-settings')
47 | }
48 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/assets/abp.bks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-webview/src/androidTest/assets/abp.bks
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/assets/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-webview/src/androidTest/assets/green.png
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/assets/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-webview/src/androidTest/assets/red.png
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/kotlin/org/adblockplus/libadblockplus/android/webview/WebViewActivity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 | package org.adblockplus.libadblockplus.android.webview
18 |
19 | import android.app.Activity
20 | import android.os.Bundle
21 | import android.view.View
22 | import android.webkit.WebView
23 | import android.widget.LinearLayout
24 |
25 |
26 | /**
27 | * An activity to host AdblockWebView
28 | */
29 | class WebViewActivity : Activity() {
30 |
31 | companion object {
32 | const val SYSTEM_WEBVIEW = "adblock"
33 | const val ADBLOCK_WEBVIEW = "system"
34 | }
35 |
36 | lateinit var webView: WebView
37 | lateinit var adblockWebView: AdblockWebView
38 |
39 | override fun onCreate(savedInstanceState: Bundle?) {
40 | super.onCreate(savedInstanceState)
41 | WebView.setWebContentsDebuggingEnabled(true) // allow devtools connection
42 | val layoutParams = LinearLayout.LayoutParams(
43 | LinearLayout.LayoutParams.WRAP_CONTENT,
44 | LinearLayout.LayoutParams.WRAP_CONTENT
45 | )
46 | val layout = LinearLayout(this)
47 | layout.orientation = LinearLayout.VERTICAL
48 | layout.layoutParams = layoutParams
49 | webView = WebView(this)
50 | webView.contentDescription = SYSTEM_WEBVIEW
51 | layout.addView(webView)
52 | adblockWebView = AdblockWebView(this)
53 | adblockWebView.contentDescription = ADBLOCK_WEBVIEW
54 | layout.addView(adblockWebView)
55 | setContentView(layout)
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/androidTest/kotlin/org/adblockplus/libadblockplus/security/SlowSignatureVerifierWrapper.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.security
19 |
20 | import android.os.SystemClock
21 | import timber.log.Timber
22 | import java.security.PublicKey
23 |
24 | class SlowSignatureVerifierWrapper(
25 | private val delayMillis: Long,
26 | private val signatureVerifier: SignatureVerifier
27 | ) : SignatureVerifier {
28 | override fun verify(publicKey: PublicKey?,
29 | data: ByteArray?,
30 | signatureBytes: ByteArray?): Boolean {
31 | Timber.w("Slowing down signature verification for $delayMillis ms...")
32 | SystemClock.sleep(delayMillis)
33 | Timber.w("Slowing down (unblocked)")
34 | return signatureVerifier.verify(publicKey, data, signatureBytes)
35 | }
36 | }
--------------------------------------------------------------------------------
/adblock-android-webview/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/main/assets/css.js:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | {
19 | {{DEBUG}} console.log('starting injecting eh css rules for ' + document.location.href);
20 | var styleSheet = {{BRIDGE}}.getElemhideStyleSheet(document.location.href);
21 | {{DEBUG}} console.log('stylesheet length: ' + styleSheet.length);
22 | if (styleSheet)
23 | {
24 | var head = document.getElementsByTagName("head")[0];
25 | var style = document.createElement("style");
26 | head.appendChild(style);
27 | style.textContent = styleSheet;
28 | {{DEBUG}} console.log('finished injecting css rules');
29 | }
30 | else
31 | {
32 | {{DEBUG}} console.log('stylesheet is empty, skipping injection');
33 | }
34 | }
--------------------------------------------------------------------------------
/adblock-android-webview/src/main/assets/empty.js:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/main/java/org/adblockplus/libadblockplus/android/webview/content_type/ContentTypeDetector.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webview.content_type;
19 |
20 | import android.webkit.WebResourceRequest;
21 |
22 | import org.adblockplus.ContentType;
23 |
24 | public interface ContentTypeDetector
25 | {
26 | /**
27 | * Detects ContentType for given URL and headers
28 | *
29 | * @param request WebResourceRequest that contains all required
30 | * info HTTP headers of incoming request including url and headers
31 | * @return ContentType or `null` if not detected
32 | */
33 | ContentType detect(final WebResourceRequest request);
34 | }
35 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/release/java/org/adblockplus/libadblockplus/android/webview/RequestInterceptor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webview;
19 |
20 | import android.net.Uri;
21 | import android.webkit.WebView;
22 |
23 | import org.adblockplus.libadblockplus.android.AdblockEngineProvider;
24 |
25 | import java.nio.charset.StandardCharsets;
26 |
27 | public class RequestInterceptor
28 | {
29 | public static final String DEBUG_URL_HOSTNAME = "abp_filters";
30 | public static final String COMMAND_STRING_ADD = "ADD";
31 | public static final String COMMAND_STRING_REMOVE = "REMOVE";
32 | public static final String COMMAND_STRING_CLEAR = "CLEAR";
33 | public static final String PAYLOAD_QUERY_PARAMETER_KEY = "base64";
34 | public static final String RESPONSE_MIME_TYPE = "text/plain";
35 | public static final String COMMAND_STRING_INVALID_COMMAND = "INVALID_COMMAND";
36 | public static final String COMMAND_STRING_INVALID_PAYLOAD = "INVALID_PAYLOAD";
37 | public static final String COMMAND_STRING_OK = "OK";
38 | public static final String URL_ENCODE_CHARSET = StandardCharsets.UTF_8.name();
39 |
40 | static Boolean isBlockedByHandlingDebugURLQuery(final WebView view, final AdblockEngineProvider provider,
41 | final Uri url)
42 | {
43 | return false;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/test/java/org/adblockplus/libadblockplus/android/webview/content_type/BaseContentTypeDetectorTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webview.content_type;
19 |
20 | import android.net.Uri;
21 | import android.webkit.WebResourceRequest;
22 |
23 | import org.mockito.Mockito;
24 |
25 | import java.net.URI;
26 | import java.net.URISyntaxException;
27 | import java.util.Map;
28 |
29 | @SuppressWarnings("WeakerAccess") // Base method
30 | abstract class BaseContentTypeDetectorTest
31 | {
32 | protected static WebResourceRequest mockRequest(
33 | final Uri uri,
34 | final Map headers)
35 | {
36 | final WebResourceRequest request = Mockito.mock(WebResourceRequest.class);
37 | Mockito.when(request.getRequestHeaders()).thenReturn(headers);
38 | Mockito.when(request.getUrl()).thenReturn(uri);
39 | return request;
40 | }
41 |
42 | /**
43 | * Mocks {@link Uri#toString()} method with returning the actual url
44 | *
45 | * @param url that will be returned when calling to {@link Uri#toString()}
46 | * @return mock {@link Uri} object
47 | */
48 | protected static Uri parseUri(final String url)
49 | {
50 | final Uri uri = Mockito.mock(Uri.class);
51 | String uriPath = null;
52 | try
53 | {
54 | uriPath = new URI(url).getPath();
55 | }
56 | catch (final URISyntaxException e){}
57 | Mockito.when(uri.toString()).thenReturn(url);
58 | Mockito.when(uri.getPath()).thenReturn(uriPath);
59 | return uri;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/adblock-android-webview/src/test/kotlin/org/adblockplus/libadblockplus/android/webview/test/OptionalBooleanTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webview.test
19 |
20 | import org.adblockplus.libadblockplus.android.webview.AdblockWebView.OptionalBoolean
21 | import org.adblockplus.libadblockplus.android.webview.AdblockWebView.OptionalBoolean.from
22 | import org.junit.Assert.assertEquals
23 | import org.junit.Test
24 | import java.util.concurrent.atomic.AtomicReference
25 |
26 | class OptionalBooleanTest {
27 | @Test
28 | fun testFrom() {
29 | assertEquals(OptionalBoolean.TRUE, from(true))
30 | assertEquals(OptionalBoolean.FALSE, from(false))
31 | }
32 |
33 | @Test
34 | fun testToString() {
35 | // just to show how it looks like in the debug output
36 | assertEquals("TRUE", OptionalBoolean.TRUE.toString())
37 | assertEquals("FALSE", OptionalBoolean.FALSE.toString())
38 | assertEquals("UNDEFINED", OptionalBoolean.UNDEFINED.toString())
39 |
40 | assertEquals("TRUE", AtomicReference(OptionalBoolean.TRUE).toString())
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
9 |
10 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/java/org/adblockplus/libadblockplus/android/webviewapp/TabFragmentAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webviewapp;
19 |
20 | import androidx.fragment.app.Fragment;
21 | import androidx.fragment.app.FragmentManager;
22 | import androidx.fragment.app.FragmentPagerAdapter;
23 |
24 | import java.util.List;
25 |
26 | public class TabFragmentAdapter extends FragmentPagerAdapter
27 | {
28 | private final List fragments;
29 |
30 | public TabFragmentAdapter(final FragmentManager fragmentManager, final List fragments)
31 | {
32 | super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
33 | this.fragments = fragments;
34 | }
35 |
36 | @Override
37 | public Fragment getItem(final int position)
38 | {
39 | return fragments.get(position);
40 | }
41 |
42 | @Override
43 | public int getCount()
44 | {
45 | return fragments.size();
46 | }
47 |
48 | @Override
49 | public CharSequence getPageTitle(final int position)
50 | {
51 | return fragments.get(position).getTitle();
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/java/org/adblockplus/libadblockplus/android/webviewapp/Utils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android.webviewapp;
19 |
20 | import android.view.View;
21 | import android.view.inputmethod.InputMethodManager;
22 |
23 | import static android.content.Context.INPUT_METHOD_SERVICE;
24 |
25 | public class Utils
26 | {
27 | public static void hideSoftwareKeyboard(final View view)
28 | {
29 | final InputMethodManager imm = (InputMethodManager)view.getContext()
30 | .getSystemService(INPUT_METHOD_SERVICE);
31 | imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/adblock-android-webviewapp/src/main/res/drawable/icon.png
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
14 |
15 |
20 |
21 |
26 |
27 |
31 |
32 |
33 |
34 |
38 |
39 |
45 |
46 |
50 |
51 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | AdblockWebView App
6 | Settings
7 |
8 | GO
9 | <
10 | >
11 | Settings
12 | Add tab
13 | Tab #
14 | Restore tabs
15 | Enable EH (emu) in iframes
16 |
17 | -
18 | @string/fragment_tab_counter_unset
19 | @string/fragment_tab_counter_unset
20 |
21 |
22 | Enabled subscription
23 | Already listed and enabled subscription
24 | Added injected subscription
25 |
26 |
--------------------------------------------------------------------------------
/adblock-android-webviewapp/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
13 |
--------------------------------------------------------------------------------
/adblock-android/.gitignore:
--------------------------------------------------------------------------------
1 | .cxx
--------------------------------------------------------------------------------
/adblock-android/proguard-rules-adblock.txt:
--------------------------------------------------------------------------------
1 | -keepclassmembers class org.adblockplus.libadblockplus.** { *; }
2 | -keep class org.adblockplus.libadblockplus.** { *; }
3 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/FileSystemUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | import java.io.File;
21 | import java.io.IOException;
22 |
23 | public class FileSystemUtils
24 | {
25 | /**
26 | * Delete file system entry (recursively if it's directory)
27 | * @param entry file or directory
28 | * @throws IOException
29 | */
30 | public static void delete(final File entry) throws IOException
31 | {
32 | if (entry.isDirectory())
33 | {
34 | File[] entries = entry.listFiles();
35 | if (entries != null)
36 | {
37 | for (File eachEntry : entries)
38 | {
39 | delete(eachEntry);
40 | }
41 | }
42 | }
43 | if (!entry.delete())
44 | {
45 | throw new IOException("Failed to delete file: " + entry);
46 | }
47 | }
48 |
49 | /**
50 | * Get file path relative to basePath
51 | * @param basePath base path
52 | * @param filename full absolute path
53 | * @return file path relative to basePath
54 | */
55 | public static String unresolve(final File basePath, final File filename)
56 | {
57 | return basePath.toURI().relativize(filename.toURI()).getPath();
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/MockHttpClient.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | import java.util.LinkedList;
21 | import java.util.List;
22 | import java.util.concurrent.atomic.AtomicBoolean;
23 |
24 | public class MockHttpClient extends HttpClient
25 | {
26 | public final AtomicBoolean exception = new AtomicBoolean(false);
27 | public final List requests = new LinkedList<>();
28 | public ServerResponse response;
29 | public final AtomicBoolean called = new AtomicBoolean(false);
30 |
31 | public synchronized HttpRequest getSpecificRequest(final String url, final String method)
32 | {
33 | for (final HttpRequest request : requests)
34 | {
35 | if (request.getUrl().equals(url) && request.getMethod().equalsIgnoreCase(method))
36 | {
37 | return request;
38 | }
39 | }
40 | return null;
41 | }
42 |
43 | @Override
44 | public void request(final HttpRequest request, final Callback callback)
45 | {
46 | this.called.set(true);
47 | synchronized (this)
48 | {
49 | this.requests.add(request);
50 | }
51 |
52 | if (exception.get())
53 | {
54 | throw new RuntimeException("Exception simulation while downloading " + request.getUrl());
55 | }
56 |
57 | callback.onFinished(response);
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/TestEventCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | import java.util.List;
21 |
22 | public class TestEventCallback extends EventCallback
23 | {
24 | private boolean called;
25 | private List params;
26 |
27 | public TestEventCallback()
28 | {
29 | reset();
30 | }
31 |
32 | public boolean isCalled()
33 | {
34 | return called;
35 | }
36 |
37 | public List getParams()
38 | {
39 | return params;
40 | }
41 |
42 | public void reset()
43 | {
44 | this.called = false;
45 | this.params = null;
46 | }
47 |
48 | @Override
49 | public void eventCallback(final List params)
50 | {
51 | this.called = true;
52 | this.params = params;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/test/AllPropertiesAppInfoJsObjectTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.test;
19 |
20 | import org.adblockplus.AppInfo;
21 | import org.junit.Test;
22 |
23 | import static org.junit.Assert.assertEquals;
24 |
25 | public class AllPropertiesAppInfoJsObjectTest extends BaseJsEngineTest
26 | {
27 | private final String VERSION = "1.0";
28 | private final String NAME = "libadblockplus-android";
29 | private final String APPLICATION = "4";
30 | private final String APPLICATION_VERSION = "5";
31 | private final String LOCALE = "2";
32 |
33 | @Override
34 | public void setUp()
35 | {
36 | final AppInfo appInfo = AppInfo.builder()
37 | .setApplication(APPLICATION)
38 | .setApplicationVersion(APPLICATION_VERSION)
39 | .setLocale(LOCALE)
40 | .build();
41 | setUpAppInfo(appInfo);
42 | super.setUp();
43 | }
44 |
45 | @Test
46 | public void testAllProperties()
47 | {
48 | assertEquals(VERSION, jsEngine.evaluate("_appInfo.version").asString());
49 | assertEquals(NAME, jsEngine.evaluate("_appInfo.name").asString());
50 | assertEquals(APPLICATION, jsEngine.evaluate("_appInfo.application").asString());
51 | assertEquals(APPLICATION_VERSION, jsEngine.evaluate("_appInfo.applicationVersion").asString());
52 | assertEquals(LOCALE, jsEngine.evaluate("_appInfo.locale").asString());
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/test/BaseJsEngineTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.test;
19 |
20 | import org.adblockplus.libadblockplus.JsEngine;
21 |
22 | public abstract class BaseJsEngineTest extends BasePlatformTest
23 | {
24 | protected JsEngine jsEngine;
25 |
26 | private void setUpJsEngine()
27 | {
28 | platform.setUpJsEngine(setUpInfo.appInfo);
29 | jsEngine = platform.getJsEngine(); // in C++ actually creates new JsEngine instance
30 | }
31 |
32 | @Override
33 | public void setUp()
34 | {
35 | super.setUp();
36 | setUpJsEngine();
37 | }
38 |
39 | private void tearDownJsEngine()
40 | {
41 | jsEngine = null;
42 | }
43 |
44 | @Override
45 | public void tearDown()
46 | {
47 | tearDownJsEngine();
48 | super.tearDown();
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/java/org/adblockplus/libadblockplus/test/DefaultPropertiesAppInfoJsObjectTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.test;
19 |
20 | import org.adblockplus.libadblockplus.JsValue;
21 | import org.junit.Test;
22 |
23 | import static org.junit.Assert.assertEquals;
24 |
25 | public class DefaultPropertiesAppInfoJsObjectTest extends BaseJsEngineTest
26 | {
27 | @Test
28 | public void testDefaultProperties()
29 | {
30 | final JsValue version = jsEngine.evaluate("_appInfo.version");
31 | assertEquals("1.0", version.asString());
32 | version.dispose();
33 | final JsValue name = jsEngine.evaluate("_appInfo.name");
34 | assertEquals("libadblockplus-android", name.asString());
35 | name.dispose();
36 | final JsValue application = jsEngine.evaluate("_appInfo.application");
37 | assertEquals("android", application.asString());
38 | application.dispose();
39 | final JsValue appVersion = jsEngine.evaluate("_appInfo.applicationVersion");
40 | assertEquals("0", appVersion.asString());
41 | application.dispose();
42 | final JsValue locale = jsEngine.evaluate("_appInfo.locale");
43 | assertEquals("en-US", locale.asString());
44 | locale.dispose();
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/kotlin/Extensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.test
19 |
20 | import org.adblockplus.libadblockplus.Disposable
21 |
22 | fun T.autoDispose(block: (t: T) -> Unit) {
23 | try {
24 | block(this)
25 | } finally {
26 | dispose()
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/adblock-android/src/androidTest/kotlin/org/adblockplus/libadblockplus/android/AndroidUtilsTest.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 | package org.adblockplus.libadblockplus.test.org.adblockplus.libadblockplus.android
18 |
19 | import org.adblockplus.libadblockplus.android.Utils
20 | import org.junit.Assert.assertEquals
21 | import org.junit.Test
22 |
23 | class AndroidUtilsTest {
24 | @Test
25 | fun testGetOrigin() {
26 | assertEquals("http://domain.com", Utils.getOrigin("http://domain.com"))
27 | assertEquals("http://sub.domain.com", Utils.getOrigin("http://sub.domain.com"))
28 | assertEquals("http://domain.com/", Utils.getOrigin("http://domain.com/path"))
29 | assertEquals("http://sub.domain.com/", Utils.getOrigin("http://sub.domain.com/path"))
30 | assertEquals("http://domain.com/", Utils.getOrigin("http://domain.com/path?query"))
31 | assertEquals("http://domain.com:80", Utils.getOrigin("http://domain.com:80"))
32 | assertEquals("http://domain.com:80/", Utils.getOrigin("http://domain.com:80/path"))
33 | assertEquals("http://domain.com:8080/", Utils.getOrigin("http://domain.com:8080/path"))
34 | assertEquals("http://domain.com:8080/", Utils.getOrigin("http://domain.com:8080?query=m"))
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/adblock-android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/ConnectionType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus;
19 |
20 | import org.jetbrains.annotations.NotNull;
21 | import org.jetbrains.annotations.Nullable;
22 |
23 | /**
24 | * Possible connection types.
25 | */
26 | public enum ConnectionType
27 | {
28 | /**
29 | * Any connection is allowed
30 | */
31 | ANY("any"),
32 |
33 | /**
34 | * No connection is allowed
35 | */
36 | NONE("none"),
37 |
38 | /**
39 | * All WiFi networks are allowed
40 | */
41 | WIFI("wifi"),
42 |
43 | /**
44 | * Non-metered WiFi networks are allowed
45 | */
46 | WIFI_NON_METERED("wifi_non_metered");
47 |
48 | @NotNull final private String value;
49 |
50 | /**
51 | * Obtains String value
52 | */
53 | @NotNull public String getValue()
54 | {
55 | return value;
56 | }
57 |
58 | ConnectionType(@NotNull final String value)
59 | {
60 | this.value = value;
61 | }
62 |
63 | /**
64 | * Finds enum value from String value.
65 | * @param value String value
66 | * @return Matching enum value or null if not found.
67 | */
68 | @Nullable public static ConnectionType findByValue(@NotNull final String value)
69 | {
70 | for (ConnectionType eachConnectionType : values())
71 | {
72 | if (eachConnectionType.getValue().equals(value))
73 | {
74 | return eachConnectionType;
75 | }
76 | }
77 |
78 | // not found
79 | return null;
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/ContentType.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus;
19 |
20 | import org.jetbrains.annotations.NotNull;
21 |
22 | import java.util.HashSet;
23 | import java.util.Set;
24 |
25 | /**
26 | * Possible resource content types.
27 | */
28 | public enum ContentType
29 | {
30 | DOCUMENT,
31 | ELEMHIDE,
32 | FONT,
33 | GENERICBLOCK,
34 | GENERICHIDE,
35 | IMAGE,
36 | MEDIA,
37 | OBJECT,
38 | OBJECT_SUBREQUEST,
39 | OTHER,
40 | PING,
41 | SCRIPT,
42 | STYLESHEET,
43 | SUBDOCUMENT,
44 | WEBRTC,
45 | WEBSOCKET,
46 | XMLHTTPREQUEST;
47 |
48 | /**
49 | * Creates a set of {@link ContentType}s
50 | *
51 | * @param contentTypes
52 | * @return a Set of {@link ContentType}s
53 | */
54 | @NotNull public static Set maskOf(@NotNull final ContentType... contentTypes)
55 | {
56 | final Set set = new HashSet<>(contentTypes.length);
57 | for (final ContentType contentType : contentTypes)
58 | {
59 | set.add(contentType);
60 | }
61 | return set;
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/EmulationSelector.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus;
19 |
20 | import org.jetbrains.annotations.NotNull;
21 |
22 | /**
23 | * Data class representing an element hiding emulation selector
24 | *
25 | * @see
26 | * Extended CSS selectors (Adblock Plus-specific)
27 | */
28 | public class EmulationSelector
29 | {
30 | public final String selector;
31 | public final String text;
32 |
33 | public EmulationSelector(@NotNull final String selector, @NotNull final String text)
34 | {
35 | this.selector = selector;
36 | this.text = text;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/Filter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus;
19 |
20 | import org.jetbrains.annotations.NotNull;
21 |
22 | /**
23 | * Data class representing filter
24 | */
25 | public final class Filter
26 | {
27 | /**
28 | * The raw filter text
29 | */
30 | @NotNull
31 | public final String text;
32 |
33 | /**
34 | * The filter type
35 | */
36 | @NotNull
37 | public final Type type;
38 |
39 | @Override
40 | public boolean equals(final Object other)
41 | {
42 | if (!(other instanceof Filter))
43 | {
44 | return false;
45 | }
46 | // Actually text alone determines filter type
47 | return this.text.equals(((Filter) other).text);
48 | }
49 |
50 | /**
51 | * Possible resource filter types
52 | */
53 | public enum Type
54 | {
55 | BLOCKING,
56 | EXCEPTION,
57 | ELEMHIDE,
58 | ELEMHIDE_EXCEPTION,
59 | ELEMHIDE_EMULATION,
60 | COMMENT,
61 | INVALID
62 | }
63 |
64 | /**
65 | * Filter objects are created by a native code, hence private constructor
66 | *
67 | * @param text the non-null raw filter text
68 | * @param type the non-null filter type
69 | */
70 | private Filter(@NotNull final String text, @NotNull final Type type)
71 | {
72 | this.text = text;
73 | this.type = type;
74 | }
75 | }
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/MatchesResult.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus;
19 |
20 | /**
21 | * The result of `matches()` call
22 | */
23 | public enum MatchesResult
24 | {
25 | /**
26 | * Allowlisting filter is found
27 | */
28 | ALLOWLISTED,
29 |
30 | /**
31 | * Blocking filter is found
32 | */
33 | BLOCKED,
34 |
35 | /**
36 | * No filter is found
37 | */
38 | NOT_FOUND,
39 |
40 | /**
41 | * Ad filtering is disabled
42 | */
43 | NOT_ENABLED
44 | }
45 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/AdblockPlusException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | public class AdblockPlusException extends RuntimeException
21 | {
22 | private static final long serialVersionUID = -8127654134450836743L;
23 |
24 | public AdblockPlusException(final String message)
25 | {
26 | super(message);
27 | }
28 |
29 | public AdblockPlusException(final String message, final Throwable throwable)
30 | {
31 | super(message, throwable);
32 | }
33 |
34 | public AdblockPlusException(final Throwable throwable)
35 | {
36 | super(throwable);
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/Disposable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | public interface Disposable
21 | {
22 | void dispose();
23 | }
24 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/EventCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | import java.util.List;
21 |
22 | public abstract class EventCallback implements Disposable
23 | {
24 | private final Disposer disposer;
25 | protected final long ptr;
26 |
27 | static
28 | {
29 | System.loadLibrary(BuildConfig.nativeLibraryName);
30 | registerNatives();
31 | }
32 |
33 | public EventCallback()
34 | {
35 | this.ptr = ctor(this);
36 | this.disposer = new Disposer(this, new DisposeWrapper(this.ptr));
37 | }
38 |
39 | public abstract void eventCallback(List params);
40 |
41 | @Override
42 | public void dispose()
43 | {
44 | this.disposer.dispose();
45 | }
46 |
47 | private static final class DisposeWrapper implements Disposable
48 | {
49 | private final long ptr;
50 |
51 | public DisposeWrapper(final long ptr)
52 | {
53 | this.ptr = ptr;
54 | }
55 |
56 | @Override
57 | public void dispose()
58 | {
59 | dtor(this.ptr);
60 | }
61 | }
62 |
63 | private static native void registerNatives();
64 |
65 | private static native long ctor(Object obj);
66 |
67 | private static native void dtor(long ptr);
68 | }
69 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/HeaderEntry.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | public class HeaderEntry
21 | {
22 | private final String key;
23 | private final String value;
24 |
25 | public HeaderEntry(final String key, final String value)
26 | {
27 | this.key = key;
28 | this.value = value;
29 | }
30 |
31 | public static HeaderEntry of(final String key, final String value)
32 | {
33 | return new HeaderEntry(key, value);
34 | }
35 |
36 | public String getKey()
37 | {
38 | return this.key;
39 | }
40 |
41 | public String getValue()
42 | {
43 | return this.value;
44 | }
45 |
46 | @Override
47 | public int hashCode()
48 | {
49 | return this.key.hashCode() * 31 + this.value.hashCode();
50 | }
51 |
52 | @Override
53 | public boolean equals(final Object o)
54 | {
55 | if (!(o instanceof HeaderEntry))
56 | {
57 | return false;
58 | }
59 | final HeaderEntry other = (HeaderEntry) o;
60 | return this.key.equals(other.key) && this.value.equals(other.value);
61 | }
62 |
63 | @Override
64 | public String toString()
65 | {
66 | return this.key + ": " + this.value;
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/IsAllowedConnectionCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | public interface IsAllowedConnectionCallback
21 | {
22 | boolean isConnectionAllowed(String connection);
23 | }
24 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/LogSystem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus;
19 |
20 | public interface LogSystem
21 | {
22 | enum LogLevel
23 | {
24 | TRACE, LOG, INFO, WARN, ERROR;
25 | }
26 |
27 | void logCallback(LogLevel level, String message, String source);
28 | }
29 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/android/AndroidLogSystem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android;
19 |
20 | import android.util.Log;
21 |
22 | import org.adblockplus.libadblockplus.LogSystem;
23 |
24 | public class AndroidLogSystem implements LogSystem
25 | {
26 | private static int abpLogLevelToAndroid(final LogLevel level)
27 | {
28 | switch (level)
29 | {
30 | default:
31 | case TRACE:
32 | case LOG:
33 | return Log.VERBOSE;
34 | case INFO:
35 | return Log.INFO;
36 | case WARN:
37 | return Log.WARN;
38 | case ERROR:
39 | return Log.ERROR;
40 | }
41 | }
42 |
43 | @Override
44 | public void logCallback(final LogLevel level, final String message, final String source)
45 | {
46 | Log.println(abpLogLevelToAndroid(level), source, message);
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/android/TimberLogSystem.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.android;
19 |
20 | import org.adblockplus.libadblockplus.LogSystem;
21 |
22 | import timber.log.Timber;
23 |
24 | public class TimberLogSystem implements LogSystem
25 | {
26 | @Override
27 | public void logCallback(final LogLevel level, final String message, final String source)
28 | {
29 | switch (level)
30 | {
31 | default:
32 | case TRACE:
33 | case LOG:
34 | Timber.d( "%s: %s", source, message);
35 | break;
36 | case INFO:
37 | Timber.i("%s: %s", source, message);
38 | break;
39 | case WARN:
40 | Timber.w("%s: %s", source, message);
41 | break;
42 | case ERROR:
43 | Timber.e("%s: %s", source, message);
44 | break;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/security/SignatureVerificationException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.security;
19 |
20 | public class SignatureVerificationException extends Exception
21 | {
22 | public SignatureVerificationException(final String message)
23 | {
24 | super(message);
25 | }
26 |
27 | public SignatureVerificationException(final Throwable cause)
28 | {
29 | super(cause);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/security/SignatureVerifier.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.security;
19 |
20 | import java.security.PublicKey;
21 |
22 | public interface SignatureVerifier
23 | {
24 | /**
25 | * Verify value
26 | * @param publicKey public key
27 | * @param data raw data
28 | * @param signatureBytes raw signature data
29 | * @return value is verified
30 | * @throws SignatureVerificationException
31 | */
32 | boolean verify(final PublicKey publicKey, final byte[] data, final byte[] signatureBytes)
33 | throws SignatureVerificationException;
34 | }
35 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/sitekey/PublicKeyHolder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.sitekey;
19 |
20 | import java.util.List;
21 |
22 | public interface PublicKeyHolder
23 | {
24 | /**
25 | * Contains public key for URL
26 | * @param url URL
27 | * @return holder contains public key for URL
28 | */
29 | boolean contains(final String url);
30 |
31 | /**
32 | * Get public key for URL
33 | * @param url URL
34 | * @return public key Base64 encoded string or `null`
35 | */
36 | String get(final String url);
37 |
38 | /**
39 | * Get first public key for any of URLs in the list
40 | * @param urls URLs list
41 | * @param defaultValue default return value
42 | * @return first public key for any of URLs in the list
43 | */
44 | String getAny(final List urls, final String defaultValue);
45 |
46 | /**
47 | * Put Base64 encoded public key string for URL
48 | * @param url URL
49 | * @param publicKey Base64 encoded public key string
50 | */
51 | void put(final String url, final String publicKey);
52 |
53 | /**
54 | * Clear map
55 | */
56 | void clear();
57 | }
58 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/sitekey/SiteKeyException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.sitekey;
19 |
20 | public class SiteKeyException extends Exception
21 | {
22 | public SiteKeyException(final Throwable cause)
23 | {
24 | super(cause);
25 | }
26 |
27 | public SiteKeyException(final String message)
28 | {
29 | super(message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/util/Base64Exception.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.util;
19 |
20 | public class Base64Exception extends Exception
21 | {
22 | public Base64Exception(final String message)
23 | {
24 | super(message);
25 | }
26 |
27 | public Base64Exception(final Throwable cause)
28 | {
29 | super(cause);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/adblock-android/src/main/java/org/adblockplus/libadblockplus/util/Base64Processor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.util;
19 |
20 | public interface Base64Processor
21 | {
22 | /**
23 | * Decode Base64 encoded bytes array
24 | * @param encodedBytes Base64 encoded bytes array
25 | * @return raw bytes array
26 | * @throws Base64Exception
27 | */
28 | byte[] decode(final byte[] encodedBytes) throws Base64Exception;
29 |
30 | /**
31 | * Encode raw bytes array to Base64
32 | * @param rawBytes raw bytes array
33 | * @return Base64 encoded bytes array
34 | * @throws Base64Exception
35 | */
36 | byte[] encode(final byte[] rawBytes) throws Base64Exception;
37 |
38 | /**
39 | * Encode raw bytes array to Base64 string
40 | * @param rawBytes raw bytes array
41 | * @return Base64 encoded string
42 | * @throws Base64Exception
43 | */
44 | String encodeToString(final byte[] rawBytes) throws Base64Exception;
45 | }
46 |
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/Application.mk:
--------------------------------------------------------------------------------
1 | APP_STL := c++_static
2 | APP_CPPFLAGS := -fexceptions -std=c++14
3 | APP_ABI := armeabi-v7a x86
4 | APP_PLATFORM := android-16
5 | NDK_TOOLCHAIN_VERSION := 4.9
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniCallbacks.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #include "JniCallbacks.h"
19 |
20 | // precached in JNI_OnLoad and released in JNI_OnUnload
21 | JniGlobalReference* exceptionHandlerClass;
22 |
23 | void JniCallbacks_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved)
24 | {
25 | exceptionHandlerClass = new JniGlobalReference(env, env->FindClass(PKG("JniExceptionHandler")));
26 | }
27 |
28 | void JniCallbacks_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved)
29 | {
30 | if (exceptionHandlerClass)
31 | {
32 | delete exceptionHandlerClass;
33 | exceptionHandlerClass = NULL;
34 | }
35 | }
36 |
37 | JniCallbackBase::JniCallbackBase(JNIEnv* env, jobject callbackObject)
38 | : callbackObject(new JniGlobalReference(env, callbackObject))
39 | {
40 | env->GetJavaVM(&javaVM);
41 | }
42 |
43 | JniCallbackBase::~JniCallbackBase()
44 | {
45 |
46 | }
47 |
48 | void JniCallbackBase::LogException(JNIEnv* env, jthrowable throwable) const
49 | {
50 | jmethodID logMethod = env->GetStaticMethodID(
51 | exceptionHandlerClass->Get(), "logException", "(Ljava/lang/Throwable;)V");
52 | if (logMethod)
53 | {
54 | env->CallStaticVoidMethod(exceptionHandlerClass->Get(), logMethod, throwable);
55 | }
56 | }
57 |
58 | bool JniCallbackBase::CheckAndLogJavaException(JNIEnv* env) const
59 | {
60 | if (env->ExceptionCheck())
61 | {
62 | JniLocalReference throwable(env, env->ExceptionOccurred());
63 | env->ExceptionClear();
64 | LogException(env, *throwable);
65 | return true;
66 | }
67 | return false;
68 | }
69 |
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniEventCallback.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #include "JniCallbacks.h"
19 |
20 | static jlong JNICALL JniCtor(JNIEnv* env, jclass clazz, jobject callbackObject)
21 | {
22 | try
23 | {
24 | return JniPtrToLong(new JniEventCallback(env, callbackObject));
25 | }
26 | CATCH_THROW_AND_RETURN(env, 0)
27 | }
28 |
29 | static void JNICALL JniDtor(JNIEnv* env, jclass clazz, jlong ptr)
30 | {
31 | delete JniLongToTypePtr(ptr);
32 | }
33 |
34 | JniEventCallback::JniEventCallback(JNIEnv* env, jobject callbackObject)
35 | : JniCallbackBase(env, callbackObject)
36 | {
37 | }
38 |
39 | void JniEventCallback::Callback(AdblockPlus::JsValueList&& params)
40 | {
41 | JNIEnvAcquire env(GetJavaVM());
42 |
43 | jmethodID method = env->GetMethodID(
44 | *JniLocalReference(*env,
45 | env->GetObjectClass(GetCallbackObject())),
46 | "eventCallback", "(Ljava/util/List;)V");
47 |
48 | if (method)
49 | {
50 | jobject jsList = JniJsValueListToArrayList(*env, std::move(params));
51 | env->CallVoidMethod(GetCallbackObject(), method, jsList);
52 | }
53 | }
54 |
55 | static JNINativeMethod methods[] =
56 | {
57 | { (char*)"ctor", (char*)"(Ljava/lang/Object;)J", (void*)JniCtor },
58 | { (char*)"dtor", (char*)"(J)V", (void*)JniDtor }
59 | };
60 |
61 | extern "C" JNIEXPORT void JNICALL Java_org_adblockplus_libadblockplus_EventCallback_registerNatives(JNIEnv *env, jclass clazz)
62 | {
63 | env->RegisterNatives(clazz, methods, sizeof(methods) / sizeof(methods[0]));
64 | }
65 |
66 |
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniFileSystem.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNIFILESYSTEM_H
19 | #define JNIFILESYSTEM_H
20 |
21 | #include
22 |
23 | #ifdef _WIN32
24 | #define PATH_SEPARATOR '\\'
25 | #else
26 | #define PATH_SEPARATOR '/'
27 | #endif
28 |
29 | void JniFileSystem_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved);
30 |
31 | void JniFileSystem_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved);
32 |
33 | #endif /* JNIFILESYSTEM_H */
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniFilter.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNIFILTER_H
19 | #define JNIFILTER_H
20 |
21 | #include
22 |
23 | #include
24 |
25 | void JniFilter_OnLoad(JavaVM *vm, JNIEnv *env, void *reserved);
26 |
27 | void JniFilter_OnUnload(JavaVM *vm, JNIEnv *env, void *reserved);
28 |
29 | jobject GetJniTypeFromNativeType(JNIEnv *pEnv, AdblockPlus::Filter::Type type);
30 |
31 | #endif /* JNIFILTER_H */
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniIsAllowedConnectionTypeCallback.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #include "JniCallbacks.h"
19 |
20 | JniIsAllowedConnectionTypeCallback::JniIsAllowedConnectionTypeCallback(JNIEnv* env,
21 | jobject callbackObject)
22 | : JniCallbackBase(env, callbackObject)
23 | {
24 | }
25 |
26 | bool JniIsAllowedConnectionTypeCallback::Callback(const std::string* allowedConnectionType)
27 | {
28 | JNIEnvAcquire env(GetJavaVM());
29 |
30 | jmethodID method = env->GetMethodID(
31 | *JniLocalReference(*env, env->GetObjectClass(GetCallbackObject())),
32 | "isConnectionAllowed",
33 | "(Ljava/lang/String;)Z");
34 |
35 | jstring jAllowedConnectionType =
36 | (allowedConnectionType != NULL
37 | ? JniStdStringToJava(*env, *allowedConnectionType)
38 | : NULL);
39 | bool result = env->CallBooleanMethod(GetCallbackObject(), method, jAllowedConnectionType);
40 |
41 | CheckAndLogJavaException(*env);
42 | return result;
43 | }
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniJsValue.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNIJSVALUE_H
19 | #define JNIJSVALUE_H
20 |
21 | #include
22 | #include
23 |
24 | void JniJsValue_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved);
25 |
26 | void JniJsValue_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved);
27 |
28 | jclass GetJsValueClass();
29 |
30 | jobject NewJniJsValue(JNIEnv* env, AdblockPlus::JsValue&& jsValue, jclass jsValueClass = 0);
31 |
32 | jobject JniJsValueListToArrayList(JNIEnv* env, AdblockPlus::JsValueList&& list);
33 |
34 | AdblockPlus::JsValue* JniGetJsValuePtr(jlong ptr);
35 |
36 | AdblockPlus::JsValue& JniGetJsValue(jlong ptr);
37 |
38 | #endif /* JNIJSVALUE_H */
39 |
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniLibrary.cpp:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #include "JniJsValue.h"
19 | #include "JniFilter.h"
20 | #include "JniLogSystem.h"
21 | #include "JniCallbacks.h"
22 | #include "JniWebRequest.h"
23 | #include "JniFileSystem.h"
24 |
25 | jint JNI_OnLoad(JavaVM* vm, void* reserved)
26 | {
27 | JNIEnv* env;
28 | if (vm->GetEnv(reinterpret_cast(&env), ABP_JNI_VERSION) != JNI_OK)
29 | {
30 | return JNI_ERR;
31 | }
32 |
33 | JniJsValue_OnLoad(vm, env, reserved);
34 | JniFilter_OnLoad(vm, env, reserved);
35 | JniLogSystem_OnLoad(vm, env, reserved);
36 | JniCallbacks_OnLoad(vm, env, reserved);
37 | JniWebRequest_OnLoad(vm, env, reserved);
38 | JniUtils_OnLoad(vm, env, reserved);
39 | JniFileSystem_OnLoad(vm, env, reserved);
40 |
41 | return ABP_JNI_VERSION;
42 | }
43 |
44 | void JNI_OnUnload(JavaVM* vm, void* reserved)
45 | {
46 | JNIEnv* env;
47 | if (vm->GetEnv(reinterpret_cast(&env), ABP_JNI_VERSION) != JNI_OK)
48 | {
49 | return;
50 | }
51 |
52 | JniJsValue_OnUnload(vm, env, reserved);
53 | JniFilter_OnUnload(vm, env, reserved);
54 | JniLogSystem_OnUnload(vm, env, reserved);
55 | JniCallbacks_OnUnload(vm, env, reserved);
56 | JniWebRequest_OnUnload(vm, env, reserved);
57 | JniUtils_OnUnload(vm, env, reserved);
58 | JniFileSystem_OnUnload(vm, env, reserved);
59 | }
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniLogSystem.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNILOGSYSTEM_H
19 | #define JNILOGSYSTEM_H
20 |
21 | #include
22 |
23 | void JniLogSystem_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved);
24 |
25 | void JniLogSystem_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved);
26 |
27 | #endif /* JNILOGSYSTEM_H */
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniPlatform.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNI_PLATFORM_H
19 | #define JNI_PLATFORM_H
20 |
21 | #include
22 |
23 | struct JniPlatform
24 | {
25 | AdblockPlus::Scheduler scheduler;
26 | std::unique_ptr platform;
27 | };
28 |
29 | #endif /* JNI_PLATFORM_H */
--------------------------------------------------------------------------------
/adblock-android/src/main/jni/JniWebRequest.h:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | #ifndef JNIWEBREQUEST_H
19 | #define JNIWEBREQUEST_H
20 |
21 | #include
22 |
23 | void JniWebRequest_OnLoad(JavaVM* vm, JNIEnv* env, void* reserved);
24 |
25 | void JniWebRequest_OnUnload(JavaVM* vm, JNIEnv* env, void* reserved);
26 |
27 | #endif /* JNIWEBREQUEST_H */
--------------------------------------------------------------------------------
/adblock-android/src/test/java/org/adblockplus/libadblockplus/util/JavaBase64Processor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
18 | package org.adblockplus.libadblockplus.util;
19 |
20 | import java.util.Base64;
21 |
22 | /**
23 | * Java 8 implementation of Base64Processor
24 | */
25 | public class JavaBase64Processor implements Base64Processor
26 | {
27 | @Override
28 | public byte[] decode(final byte[] encodedBytes) throws Base64Exception
29 | {
30 | try
31 | {
32 | return Base64.getDecoder().decode(encodedBytes);
33 | }
34 | catch (Throwable cause)
35 | {
36 | throw new Base64Exception(cause);
37 | }
38 | }
39 |
40 | @Override
41 | public byte[] encode(final byte[] rawBytes) throws Base64Exception
42 | {
43 | try
44 | {
45 | return Base64.getEncoder().encode(rawBytes);
46 | }
47 | catch (Throwable cause)
48 | {
49 | throw new Base64Exception(cause);
50 | }
51 | }
52 |
53 | @Override
54 | public String encodeToString(final byte[] rawBytes) throws Base64Exception
55 | {
56 | try
57 | {
58 | return Base64.getEncoder().encodeToString(rawBytes);
59 | }
60 | catch (Throwable cause)
61 | {
62 | throw new Base64Exception(cause);
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/buildSrc/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | `kotlin-dsl`
3 | }
4 |
5 | repositories {
6 | mavenCentral()
7 | jcenter()
8 | }
9 |
--------------------------------------------------------------------------------
/buildSrc/src/main/kotlin/Config.kt:
--------------------------------------------------------------------------------
1 | object Config {
2 | const val moduleVersion = "5.0.0"
3 |
4 | const val buildToolsVersion = "30.0.2"
5 | const val compileSdkVersion = 29
6 | const val minSdkVersion = 16
7 | const val webView_minSdkVersion = 21
8 | const val targetSdkVersion = compileSdkVersion
9 |
10 | const val jvmTarget = "1.8"
11 | }
12 |
13 | object Bintray {
14 | const val userOrg = "adblockplus"
15 | const val groupId = "org.adblockplus"
16 | val licences = arrayOf("GPL-3.0")
17 | const val website = "https://github.com/adblockplus/libadblockplus-android"
18 | const val issueTracker = "http://issues.adblockplus.org/"
19 | const val repository = "https://github.com/adblockplus/libadblockplus-android.git"
20 | }
21 |
--------------------------------------------------------------------------------
/config/checkstyle/checkstyle.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/config/header.java:
--------------------------------------------------------------------------------
1 | /*
2 | * This file is part of Adblock Plus ,
3 | * Copyright (C) 2006-present eyeo GmbH
4 | *
5 | * Adblock Plus is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License version 3 as
7 | * published by the Free Software Foundation.
8 | *
9 | * Adblock Plus is distributed in the hope that it will be useful,
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 | * GNU General Public License for more details.
13 | *
14 | * You should have received a copy of the GNU General Public License
15 | * along with Adblock Plus. If not, see .
16 | */
17 |
--------------------------------------------------------------------------------
/docker/README.md:
--------------------------------------------------------------------------------
1 | The docker images used to build this project are part of the eyeo/docker project:
2 |
3 | https://gitlab.com/eyeo/docker/-/tree/master/libadblockplus-android_gitlab-runner
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx2g
2 | android.enableJetifier=true
3 | android.useAndroidX=true
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Nov 16 22:20:32 EET 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-all.zip
7 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':adblock-android'
2 | include ':adblock-android-benchmark'
3 | include ':adblock-android-webview'
4 | include ':adblock-android-settings'
5 | include ':adblock-android-webviewapp'
6 |
--------------------------------------------------------------------------------
/tools/web_page_replay_test/indexer:
--------------------------------------------------------------------------------
1 | # this is the indexer for the web page replay test
2 | # it maps a classpath, the runner of test and a single file to store
3 | # to store all resources used by that test
4 | # all resource files should be under static_pages
5 | # for example:
6 | # org.adblockplus.libadblockplus.benchmark.WebViewLoadPerformanceUrlUsingJsTest org.adblockplus.libadblockplus.android.webview.test/androidx.test.runner.AndroidJUnitRunner jira_test_pages_2020_01_04
7 | org.adblockplus.libadblockplus.android.webview.test.WebViewInterceptRequestTest org.adblockplus.libadblockplus.android.webview.test/androidx.test.runner.AndroidJUnitRunner static_pages/WebViewInterceptRequestTest_2020_09_30
8 |
--------------------------------------------------------------------------------
/tools/web_page_replay_test/static_pages/WebViewInterceptRequestTest_2020_09_30:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adblockplus/libadblockplus-android/9038f35795b16ac6da348729e57ecbd1746e63b3/tools/web_page_replay_test/static_pages/WebViewInterceptRequestTest_2020_09_30
--------------------------------------------------------------------------------