Add Hilt(Dagger) example of android/shared tests
This commit is contained in:
parent
e8d0c746b9
commit
e4f42baaed
34 changed files with 840 additions and 91 deletions
|
|
@ -0,0 +1,17 @@
|
|||
package org.fnives.test.showcase.network.di.hilt
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import okhttp3.OkHttpClient
|
||||
import org.fnives.test.showcase.hilt.SessionLessQualifier
|
||||
|
||||
@InstallIn(SingletonComponent::class)
|
||||
@Module
|
||||
abstract class BindsBaseOkHttpClient {
|
||||
|
||||
@Binds
|
||||
@SessionLessQualifier
|
||||
abstract fun bindsSessionLess(okHttpClient: OkHttpClient) : OkHttpClient
|
||||
}
|
||||
|
|
@ -5,6 +5,8 @@ import dagger.Provides
|
|||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import okhttp3.OkHttpClient
|
||||
import org.fnives.test.showcase.hilt.SessionLessQualifier
|
||||
import org.fnives.test.showcase.hilt.SessionQualifier
|
||||
import org.fnives.test.showcase.network.auth.LoginRemoteSource
|
||||
import org.fnives.test.showcase.network.auth.LoginRemoteSourceImpl
|
||||
import org.fnives.test.showcase.network.auth.LoginService
|
||||
|
|
@ -31,7 +33,6 @@ object HiltNetworkModule {
|
|||
|
||||
@Provides
|
||||
@Singleton
|
||||
@SessionLessQualifier
|
||||
fun provideSessionLessOkHttpClient(enableLogging: Boolean) =
|
||||
OkHttpClient.Builder()
|
||||
.addInterceptor(PlatformInterceptor())
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
package org.fnives.test.showcase.network.di.hilt
|
||||
|
||||
import javax.inject.Qualifier
|
||||
|
||||
@Qualifier
|
||||
annotation class SessionLessQualifier
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
package org.fnives.test.showcase.network.di.hilt
|
||||
|
||||
import javax.inject.Qualifier
|
||||
|
||||
@Qualifier
|
||||
annotation class SessionQualifier
|
||||
|
|
@ -6,13 +6,14 @@ import org.fnives.test.showcase.network.auth.hilt.LoginRemoteSourceRefreshAction
|
|||
import org.fnives.test.showcase.network.auth.hilt.LoginRemoteSourceTest
|
||||
import org.fnives.test.showcase.network.content.hilt.ContentRemoteSourceImplTest
|
||||
import org.fnives.test.showcase.network.content.hilt.SessionExpirationTest
|
||||
import org.fnives.test.showcase.network.di.hilt.BindsBaseOkHttpClient
|
||||
import org.fnives.test.showcase.network.di.hilt.HiltNetworkModule
|
||||
import org.fnives.test.showcase.network.session.NetworkSessionExpirationListener
|
||||
import org.fnives.test.showcase.network.session.NetworkSessionLocalStorage
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
@Component(modules = [HiltNetworkModule::class])
|
||||
@Component(modules = [HiltNetworkModule::class, BindsBaseOkHttpClient::class])
|
||||
interface TestNetworkComponent {
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue