Skip to content

Commit c6d6bf8

Browse files
committed
Merge branch 'release/5.214.0' into main
2 parents f26a0ab + 3a8916b commit c6d6bf8

File tree

429 files changed

+38348
-8718
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

429 files changed

+38348
-8718
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,7 @@ report
9494
/node_modules/@duckduckgo/content-scope-scripts/build/*
9595
!/node_modules/@duckduckgo/content-scope-scripts/build/android/
9696
/node_modules/@duckduckgo/content-scope-scripts/build/android/*
97+
!/node_modules/@duckduckgo/content-scope-scripts/build/android/pages/
98+
/node_modules/@duckduckgo/content-scope-scripts/build/android/pages/*
99+
!/node_modules/@duckduckgo/content-scope-scripts/build/android/pages/duckplayer/
97100
!/node_modules/@duckduckgo/content-scope-scripts/build/android/contentScope.js

.maestro/privacy_tests/7_-_Browser_restart_mid-session.yaml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,17 +120,22 @@ tags:
120120
text: ".*Ad Company"
121121
- assertVisible:
122122
text: "ad-company.site"
123-
- assertVisible:
124-
text: "convert.ad-company.site"
125123
- action: back
126124
- assertVisible:
127125
text: "View Non-Tracker Companies"
128126
- tapOn:
129127
text: "View Non-Tracker Companies"
130128
- assertVisible:
131-
text: "We did not identify any requests from third-party domains."
129+
text: "The following third-party domains’ requests were loaded. If a company's requests are loaded, it can allow them to profile you, though our other web tracking protections still apply."
132130
- assertVisible:
133131
text: "About our Web Tracking Protections"
134-
132+
- assertVisible:
133+
text: "The following domain’s requests were loaded because a publisher-company.site ad on DuckDuckGo was recently clicked. These requests help evaluate ad effectiveness. All ads on DuckDuckGo are non-profiling."
134+
- assertVisible:
135+
text: "How our search ads impact our protections"
136+
- assertVisible:
137+
text: ".*Ad Company"
138+
- assertVisible:
139+
text: "convert.ad-company.site"
135140

136141

ad-click/ad-click-impl/build.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ android {
2727
anvil {
2828
generateDaggerFactories = true // default is false
2929
}
30+
lintOptions {
31+
baseline file("lint-baseline.xml")
32+
}
3033
namespace 'com.duckduckgo.adclick.impl'
3134
compileOptions {
3235
coreLibraryDesugaringEnabled = true
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<issues format="6" by="lint 8.5.1" type="baseline" client="gradle" dependencies="false" name="AGP (8.5.1)" variant="all" version="8.5.1">
3+
4+
<issue
5+
id="DenyListedApi"
6+
message="Use com.duckduckgo.data.store.api.SharedPreferencesProvider instead"
7+
errorLine1=" private val preferences: SharedPreferences by lazy { context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE) }"
8+
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
9+
<location
10+
file="src/main/java/com/duckduckgo/adclick/impl/pixels/AdClickPixels.kt"
11+
line="44"
12+
column="58"/>
13+
</issue>
14+
15+
<issue
16+
id="DenyListedApi"
17+
message="Use com.duckduckgo.data.store.api.SharedPreferencesProvider instead"
18+
errorLine1=" whenever(mockContext.getSharedPreferences(&quot;com.duckduckgo.adclick.impl.pixels&quot;, 0)).thenReturn(prefs)"
19+
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
20+
<location
21+
file="src/test/java/com/duckduckgo/adclick/impl/pixels/RealAdClickPixelsTest.kt"
22+
line="54"
23+
column="18"/>
24+
</issue>
25+
26+
</issues>
Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<issues format="6" by="lint 8.1.2" type="baseline" client="gradle" dependencies="false" name="AGP (8.1.2)" variant="all" version="8.1.2">
2+
<issues format="6" by="lint 8.5.1" type="baseline" client="gradle" dependencies="false" name="AGP (8.5.1)" variant="all" version="8.5.1">
3+
4+
<issue
5+
id="NotifyDataSetChanged"
6+
message="It will always be more efficient to use more specific change events if you can. Rely on `notifyDataSetChanged` as a last resort."
7+
errorLine1=" notifyDataSetChanged()"
8+
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
9+
<location
10+
file="src/main/java/com/duckduckgo/app/anr/internal/setting/VitalsAdapterList.kt"
11+
line="82"
12+
column="9"/>
13+
</issue>
314

415
</issues>

anvil/anvil-compiler/src/main/java/com/duckduckgo/anvil/compiler/ContributesActivePluginPointCodeGenerator.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ class ContributesActivePluginPointCodeGenerator : CodeGenerator {
135135
element = vmClass.clazz.identifyingElement,
136136
)
137137
}
138+
if (scope.fqName != appScopeFqName) {
139+
throw AnvilCompilationException(
140+
"${vmClass.fqName}: Active plugins can only be used in 'AppScope'.",
141+
element = vmClass.clazz.identifyingElement,
142+
)
143+
}
138144

139145
val content = FileSpec.buildFile(generatedPackage, pluginPointClassFileName) {
140146
// This is the normal plugin point
@@ -332,6 +338,12 @@ class ContributesActivePluginPointCodeGenerator : CodeGenerator {
332338
element = vmClass.clazz.identifyingElement,
333339
)
334340
}
341+
if (scope.fqName != appScopeFqName) {
342+
throw AnvilCompilationException(
343+
"${vmClass.fqName}: Active plugins can only be used in 'AppScope'.",
344+
element = vmClass.clazz.identifyingElement,
345+
)
346+
}
335347

336348
val content = FileSpec.buildFile(generatedPackage, pluginClassName) {
337349
// First create the class that will contribute the active plugin.
@@ -626,5 +638,6 @@ class ContributesActivePluginPointCodeGenerator : CodeGenerator {
626638
private val appCoroutineScopeFqName = FqName("com.duckduckgo.app.di.AppCoroutineScope")
627639
private val sharedPreferencesFqName = FqName("android.content.SharedPreferences")
628640
private val jsonAdapterFqName = FqName("com.squareup.moshi.JsonAdapter")
641+
private val appScopeFqName = FqName("com.duckduckgo.di.scopes.AppScope")
629642
}
630643
}

app-tracking-protection/vpn-impl/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ dependencies {
6565
implementation project(':network-protection-api')
6666
implementation project(':data-store-api')
6767
implementation project(':new-tab-page-api')
68+
implementation project(':subscriptions-api')
6869

6970
implementation AndroidX.core.ktx
7071

0 commit comments

Comments
 (0)