Skip to content

[WIP] Update to Kotlin 2.1.21 #6377

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,7 @@ ij_kotlin_while_on_new_line = false
ij_kotlin_wrap_elvis_expressions = 1
ij_kotlin_wrap_expression_body_functions = 1
ij_kotlin_wrap_first_method_in_call_chain = false
ktlint_standard_no-wildcard-imports = disabled
ktlint_standard_filename = disabled
ktlint_standard_package-name = disabled
ktlint_standard_annotation = disabled
1 change: 0 additions & 1 deletion .githooks/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,5 @@
#!/bin/bash
echo "Running spotless check"
./gradlew spotlessApply
./gradlew formatKotlin
git add `git diff --name-only --cached`
exit 0
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
label "android-large-runner" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]

runs-on: android-large-runner

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2086:info:1:6: Double quote to prevent globbing and word splitting [shellcheck]

run: echo $FLANK > flank.json

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2002:style:1:5: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead [shellcheck]

run: cat build/fladle/fladleResults/HtmlErrorReport.html | cut -d\` -f2 >> results.json

Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # required due to setting Spotless ratchetFrom
submodules: recursive

- name: Set up JDK version
Expand All @@ -39,7 +40,7 @@ jobs:
uses: gradle/actions/setup-gradle@v3

- name: Run Code Formatting Checks
run: ./gradlew code_format_checks
run: ./gradlew spotlessCheck

unit_tests:
name: Unit tests
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/nightly.yml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2086:info:1:6: Double quote to prevent globbing and word splitting [shellcheck]

run: echo $FLANK > flank.json

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2002:style:1:5: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead [shellcheck]

run: cat build/fladle/fladleResults/HtmlErrorReport.html | cut -d\` -f2 >> results.json

Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # required due to setting Spotless ratchetFrom
submodules: recursive

- name: Set up JDK version
Expand All @@ -30,7 +31,7 @@ jobs:
uses: gradle/actions/setup-gradle@v3

- name: Run Code Formatting Checks
run: ./gradlew code_format_checks
run: ./gradlew spotlessCheck

unit_tests:
name: Unit tests
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,10 @@ captures/

# Intellij
*.iml
.idea/
.idea/workspace.xml
.idea/*
!.idea/icon.svg
!.idea/copyright/
.idea/workspace.xml

# Keystore files
*.jks
Expand Down
3 changes: 1 addition & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,5 @@ If your PR is failing because of that, please make sure that you follow our [sty
You can also trigger an automatic code formatting of the code by executing:

```
./gradleW code_format_checks
./gradleW formatKotlin
./gradleW app:spotlessApply
```
4 changes: 2 additions & 2 deletions STYLEGUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

### Code formatting

You can check the code formatting correctness by running `./gradleW code_format_checks`.
To adhere to codestyle, please run `./gradleW formatKotlin` and `./gradleW spotlessApply` to autoformat in order to fix any CI issues.
You can check the code formatting correctness by running `./gradleW spotlessCheck`.
To adhere to codestyle, please run `./gradleW spotlessApply` to autoformat and fix any CI issues.

If you want to do this automatically upon commit we recommend the existing [pre-commit hook](.githooks/pre-commit):
- Pull develop branch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class ContributeToActivityStarterCodeGenerator : CodeGenerator {

override fun isApplicable(context: AnvilContext): Boolean = true

override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFile> {
override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(ContributeToActivityStarter::class.fqName) }
Expand All @@ -52,7 +52,7 @@ class ContributeToActivityStarterCodeGenerator : CodeGenerator {
.toList()
}

private fun generateParameterToActivityMapper(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateParameterToActivityMapper(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val moduleClassName = "${vmClass.shortName}_ActivityMapper"

Expand All @@ -73,7 +73,7 @@ class ContributeToActivityStarterCodeGenerator : CodeGenerator {
}
}

return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content, vmClass.containingFileAsJavaFile)
}

private fun createMapperClass(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class ContributesPluginPointCodeGenerator : CodeGenerator {

override fun isApplicable(context: AnvilContext): Boolean = true

override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFile> {
override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(ContributesPluginPoint::class.fqName) }
Expand All @@ -58,7 +58,7 @@ class ContributesPluginPointCodeGenerator : CodeGenerator {
.toList()
}

private fun generatePluginPoint(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generatePluginPoint(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val pluginPointClassName = "${vmClass.shortName}_PluginPoint"
val scope = vmClass.annotations.first { it.fqName == ContributesPluginPoint::class.fqName }.scopeOrNull(0)!!
Expand Down Expand Up @@ -132,10 +132,10 @@ class ContributesPluginPointCodeGenerator : CodeGenerator {
)
}

return createGeneratedFile(codeGenDir, generatedPackage, pluginPointClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, pluginPointClassName, content, vmClass.containingFileAsJavaFile)
}

private fun generateBindingModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateBindingModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val moduleClassName = "${vmClass.shortName}_PluginPoint_Module"
val scope = vmClass.annotations.first { it.fqName == ContributesPluginPoint::class.fqName }.scopeOrNull(0)!!
Expand Down Expand Up @@ -180,7 +180,7 @@ class ContributesPluginPointCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content, vmClass.containingFileAsJavaFile)
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class ContributesRemoteFeatureCodeGenerator : CodeGenerator {
codeGenDir: File,
module: ModuleDescriptor,
projectFiles: Collection<KtFile>,
): Collection<GeneratedFile> {
): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(ContributesRemoteFeature::class.fqName) }
Expand All @@ -72,7 +72,7 @@ class ContributesRemoteFeatureCodeGenerator : CodeGenerator {
codeGenDir: File,
module: ModuleDescriptor,
customStorePresence: CustomStorePresence,
): GeneratedFile {
): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val generatedClassName = "${vmClass.shortName}_ProxyModule"
val annotation = vmClass.annotations.first { it.fqName == ContributesRemoteFeature::class.fqName }
Expand Down Expand Up @@ -187,15 +187,15 @@ class ContributesRemoteFeatureCodeGenerator : CodeGenerator {
)
}

return createGeneratedFile(codeGenDir, generatedPackage, generatedClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, generatedClassName, content, vmClass.containingFileAsJavaFile)
}

private fun generateRemoteFeature(
vmClass: ClassReference.Psi,
codeGenDir: File,
module: ModuleDescriptor,
customStorePresence: CustomStorePresence,
): GeneratedFile {
): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val generatedClassName = "${vmClass.shortName}_RemoteFeature"
val annotation = vmClass.annotations.first { it.fqName == ContributesRemoteFeature::class.fqName }
Expand Down Expand Up @@ -319,7 +319,7 @@ class ContributesRemoteFeatureCodeGenerator : CodeGenerator {
)
}

return createGeneratedFile(codeGenDir, generatedPackage, generatedClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, generatedClassName, content, vmClass.containingFileAsJavaFile)
}

private fun generateOptionalBindings(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class ContributesServiceApiCodeGenerator : CodeGenerator {

override fun isApplicable(context: AnvilContext): Boolean = true

override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFile> {
override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { reference -> reference.isAnnotatedWith(serviceApiAnnotations.map { it.fqName }) }
Expand All @@ -58,7 +58,7 @@ class ContributesServiceApiCodeGenerator : CodeGenerator {
.toList()
}

private fun generateServiceApiModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateServiceApiModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val moduleClassName = "${vmClass.shortName}_Module"

Expand Down Expand Up @@ -125,7 +125,7 @@ class ContributesServiceApiCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content, vmClass.containingFileAsJavaFile)
}

private fun ClassReference.Psi.serviceApiClassName(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {

override fun isApplicable(context: AnvilContext): Boolean = true

override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFile> {
override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(InjectWith::class.fqName) }
Expand All @@ -69,7 +69,7 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {
.toList()
}

private fun generateActivityInjector(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateActivityInjector(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val activityInjectorInterfaceName = "${vmClass.shortName}_Injector"
val scope = vmClass.annotations.first { it.fqName == InjectWith::class.fqName }.scopeOrNull(0)!!
Expand Down Expand Up @@ -105,9 +105,9 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, activityInjectorInterfaceName, content)
return createGeneratedFile(codeGenDir, generatedPackage, activityInjectorInterfaceName, content, vmClass.containingFileAsJavaFile)
}
private fun generateSubcomponentFactory(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateSubcomponentFactory(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val subcomponentFactoryClassName = vmClass.subComponentName()
val scope = vmClass.annotations.first { it.fqName == InjectWith::class.fqName }.scopeOrNull(0)!!
Expand Down Expand Up @@ -159,7 +159,7 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, subcomponentFactoryClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, subcomponentFactoryClassName, content, vmClass.containingFileAsJavaFile)
}

private fun generateParentComponentInterface(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): TypeSpec {
Expand All @@ -184,7 +184,7 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {
.build()
}

private fun generateSubcomponentFactoryBindingModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateSubcomponentFactoryBindingModule(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val moduleClassName = "${vmClass.subComponentName()}_Module"
val scope = vmClass.annotations.first { it.fqName == InjectWith::class.fqName }.scopeOrNull(0)!!
Expand Down Expand Up @@ -219,7 +219,7 @@ class ContributesSubComponentCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content, vmClass.containingFileAsJavaFile)
}

private fun FqName.subComponentAnnotation(module: ModuleDescriptor, delayGeneration: Boolean): AnnotationSpec {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class ContributesViewModelCodeGenerator : CodeGenerator {

override fun isApplicable(context: AnvilContext): Boolean = true

override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFile> {
override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection<KtFile>): Collection<GeneratedFileWithSources> {
return projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(ContributesViewModel::class.fqName) }
Expand All @@ -52,7 +52,7 @@ class ContributesViewModelCodeGenerator : CodeGenerator {
.toList()
}

private fun generateFactoryPlugin(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile {
private fun generateFactoryPlugin(vmClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val factoryClassName = "${vmClass.shortName}_ViewModelFactory"
val scope = vmClass.annotations.first { it.fqName == ContributesViewModel::class.fqName }.scopeOrNull(0)
Expand Down Expand Up @@ -122,7 +122,7 @@ class ContributesViewModelCodeGenerator : CodeGenerator {
).build()
}

return createGeneratedFile(codeGenDir, generatedPackage, factoryClassName, content)
return createGeneratedFile(codeGenDir, generatedPackage, factoryClassName, content, vmClass.containingFileAsJavaFile)
}

companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import com.squareup.anvil.annotations.ExperimentalAnvilApi
import com.squareup.anvil.compiler.api.AnvilContext
import com.squareup.anvil.compiler.api.CodeGenerator
import com.squareup.anvil.compiler.api.GeneratedFile
import com.squareup.anvil.compiler.api.GeneratedFileWithSources
import com.squareup.anvil.compiler.api.createGeneratedFile
import com.squareup.anvil.compiler.internal.asClassName
import com.squareup.anvil.compiler.internal.buildFile
Expand Down Expand Up @@ -59,7 +60,7 @@ class ContributesWorkerCodeGenerator : CodeGenerator {
codeGenDir: File,
module: ModuleDescriptor,
projectFiles: Collection<KtFile>,
): Collection<GeneratedFile> = projectFiles.classAndInnerClassReferences(module)
): Collection<GeneratedFileWithSources> = projectFiles.classAndInnerClassReferences(module)
.toList()
.filter { it.isAnnotatedWith(ContributesWorker::class.fqName) }
.flatMap {
Expand All @@ -71,7 +72,7 @@ class ContributesWorkerCodeGenerator : CodeGenerator {
vmClass: ClassReference.Psi,
codeGenDir: File,
module: ModuleDescriptor,
): GeneratedFile {
): GeneratedFileWithSources {
val generatedPackage = vmClass.packageFqName.toString()
val workerPluginName = "${vmClass.shortName}_WorkerInjectorPlugin"
val scope = vmClass.annotations.first { it.fqName == ContributesWorker::class.fqName }.scopeOrNull(0)
Expand Down Expand Up @@ -125,7 +126,7 @@ class ContributesWorkerCodeGenerator : CodeGenerator {
)
}

return createGeneratedFile(codeGenDir, generatedPackage, workerPluginName, content)
return createGeneratedFile(codeGenDir, generatedPackage, workerPluginName, content, vmClass.containingFileAsJavaFile)
}

private fun generateCode(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
android:screenOrientation="portrait" />

<activity
android:name="com.duckduckgo.mobile.android.vpn.ui.report.DeviceShieldAppTrackersInfo"
android:name="com.duckduckgo.mobile.android.vpn.ui.privacyreport.DeviceShieldAppTrackersInfo"
android:exported="false"
android:label="@string/atp_ProfilingActivityTitle"
android:parentActivityName="com.duckduckgo.mobile.android.vpn.ui.tracker_activity.DeviceShieldTrackerActivity"
Expand Down
Loading
Loading