Skip to content

Commit c13aceb

Browse files
authored
Add Anvil (#1112)
* Added Anvil and remove dagger-android processor * Removed the TestApplication and TestComponent
1 parent f5e4d01 commit c13aceb

File tree

57 files changed

+2183
-366
lines changed

Some content is hidden

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

57 files changed

+2183
-366
lines changed

app/build.gradle

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ apply plugin: 'com.android.application'
33
apply plugin: 'kotlin-android'
44
apply plugin: 'kotlin-android-extensions'
55
apply plugin: 'kotlin-kapt'
6+
apply plugin: 'com.squareup.anvil'
67
apply from: '../versioning.gradle'
78
apply from: "$rootDir/spotless.gradle"
89

@@ -19,7 +20,7 @@ android {
1920
targetSdkVersion target_sdk
2021
versionCode buildVersionCode()
2122
versionName buildVersionName()
22-
testInstrumentationRunner "com.duckduckgo.app.TestRunner"
23+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2324
archivesBaseName = "duckduckgo-$versionName"
2425
vectorDrawables.useSupportLibrary = true
2526

@@ -114,6 +115,7 @@ android {
114115
dependencies {
115116
implementation project(path: ':statistics')
116117
implementation project(path: ':common')
118+
implementation project(path: ':di')
117119

118120
implementation AndroidX.legacy.supportV4
119121
debugImplementation Square.leakCanary.android
@@ -180,10 +182,7 @@ dependencies {
180182
implementation AndroidX.work.rxJava2
181183

182184
// Dagger
183-
kapt Google.dagger.android.processor
184185
kapt Google.dagger.compiler
185-
kaptAndroidTest "com.google.dagger:dagger-android-processor:_"
186-
kaptAndroidTest "com.google.dagger:dagger-compiler:_"
187186

188187
// Glide
189188
implementation "com.github.bumptech.glide:glide:_"

app/src/androidTest/java/com/duckduckgo/app/TestApplication.kt

Lines changed: 0 additions & 44 deletions
This file was deleted.

app/src/androidTest/java/com/duckduckgo/app/TestExtensions.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import androidx.annotation.UiThread
2020
import androidx.lifecycle.LiveData
2121
import androidx.lifecycle.Observer
2222
import androidx.test.platform.app.InstrumentationRegistry
23-
import com.duckduckgo.app.di.TestAppComponent
23+
import com.duckduckgo.app.di.AppComponent
24+
import com.duckduckgo.app.global.DuckDuckGoApplication
2425
import java.util.concurrent.CountDownLatch
2526
import java.util.concurrent.TimeUnit
2627

@@ -38,10 +39,10 @@ fun <T> LiveData<T>.blockingObserve(): T? {
3839
return value
3940
}
4041

41-
fun getApp(): TestApplication {
42-
return InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as TestApplication
42+
fun getApp(): DuckDuckGoApplication {
43+
return InstrumentationRegistry.getInstrumentation().targetContext.applicationContext as DuckDuckGoApplication
4344
}
4445

45-
fun getDaggerComponent(): TestAppComponent {
46-
return getApp().daggerAppComponent as TestAppComponent
46+
fun getDaggerComponent(): AppComponent {
47+
return getApp().daggerAppComponent as AppComponent
4748
}

app/src/androidTest/java/com/duckduckgo/app/di/StubAppConfigurationDownloadModule.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,17 @@
1717
package com.duckduckgo.app.di
1818

1919
import com.duckduckgo.app.job.ConfigurationDownloader
20+
import com.duckduckgo.di.scopes.AppObjectGraph
21+
import com.squareup.anvil.annotations.ContributesTo
2022
import dagger.Module
2123
import dagger.Provides
2224
import io.reactivex.Completable
2325

2426
@Module
27+
@ContributesTo(
28+
scope = AppObjectGraph::class,
29+
replaces = [AppConfigurationDownloaderModule::class]
30+
)
2531
class StubAppConfigurationDownloadModule {
2632

2733
@Provides

app/src/androidTest/java/com/duckduckgo/app/di/StubDatabaseModule.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,17 @@ import androidx.room.Room
2222
import com.duckduckgo.app.browser.httpauth.RealWebViewHttpAuthStore
2323
import com.duckduckgo.app.browser.httpauth.WebViewHttpAuthStore
2424
import com.duckduckgo.app.global.db.AppDatabase
25+
import com.duckduckgo.di.scopes.AppObjectGraph
26+
import com.squareup.anvil.annotations.ContributesTo
2527
import dagger.Module
2628
import dagger.Provides
2729
import javax.inject.Singleton
2830

2931
@Module(includes = [DaoModule::class])
32+
@ContributesTo(
33+
scope = AppObjectGraph::class,
34+
replaces = [DatabaseModule::class]
35+
)
3036
class StubDatabaseModule {
3137

3238
@Provides

app/src/androidTest/java/com/duckduckgo/app/di/StubJobSchedulerModule.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,17 @@ import com.duckduckgo.app.job.AndroidWorkScheduler
2525
import com.duckduckgo.app.job.JobCleaner
2626
import com.duckduckgo.app.job.WorkScheduler
2727
import com.duckduckgo.app.notification.AndroidNotificationScheduler
28+
import com.duckduckgo.di.scopes.AppObjectGraph
29+
import com.squareup.anvil.annotations.ContributesTo
2830
import dagger.Module
2931
import dagger.Provides
3032
import javax.inject.Singleton
3133

3234
@Module
35+
@ContributesTo(
36+
scope = AppObjectGraph::class,
37+
replaces = [JobsModule::class]
38+
)
3339
class StubJobSchedulerModule {
3440

3541
@Singleton

app/src/androidTest/java/com/duckduckgo/app/di/StubStatisticsModule.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,19 @@ import com.duckduckgo.app.statistics.api.StatisticsService
2626
import com.duckduckgo.app.statistics.api.StatisticsUpdater
2727
import com.duckduckgo.app.statistics.pixels.Pixel
2828
import com.duckduckgo.app.statistics.store.StatisticsDataStore
29+
import com.duckduckgo.di.scopes.AppObjectGraph
30+
import com.squareup.anvil.annotations.ContributesTo
2931
import dagger.Module
3032
import dagger.Provides
3133
import io.reactivex.Completable
3234
import retrofit2.Retrofit
3335
import javax.inject.Singleton
3436

3537
@Module
38+
@ContributesTo(
39+
scope = AppObjectGraph::class,
40+
replaces = [StatisticsModule::class]
41+
)
3642
class StubStatisticsModule {
3743

3844
@Provides

app/src/androidTest/java/com/duckduckgo/app/di/TestAppComponent.kt

Lines changed: 0 additions & 98 deletions
This file was deleted.

0 commit comments

Comments
 (0)