File tree Expand file tree Collapse file tree 3 files changed +16
-70
lines changed
demo/java/com/google/samples/apps/nowinandroid/core/network/di
main/java/com/google/samples/apps/nowinandroid/core/network/di
prod/java/com/google/samples/apps/nowinandroid/core/network/di Expand file tree Collapse file tree 3 files changed +16
-70
lines changed Original file line number Diff line number Diff line change 1616
1717package com.google.samples.apps.nowinandroid.core.network.di
1818
19- import android.content.Context
2019import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
21- import com.google.samples.apps.nowinandroid.core.network.fake.FakeAssetManager
2220import com.google.samples.apps.nowinandroid.core.network.fake.FakeNiaNetworkDataSource
2321import dagger.Binds
2422import dagger.Module
25- import dagger.Provides
2623import dagger.hilt.InstallIn
27- import dagger.hilt.android.qualifiers.ApplicationContext
2824import dagger.hilt.components.SingletonComponent
29- import javax.inject.Singleton
30- import kotlinx.serialization.json.Json
3125
3226@Module
3327@InstallIn(SingletonComponent ::class )
34- interface NetworkModule {
28+ interface FlavoredNetworkModule {
3529
3630 @Binds
37- fun bindsNiaNetwork (
38- niANetwork : FakeNiaNetworkDataSource
39- ): NiaNetworkDataSource
40-
41- companion object {
42- @Provides
43- @Singleton
44- fun providesNetworkJson (): Json = Json {
45- ignoreUnknownKeys = true
46- }
47-
48- @Provides
49- @Singleton
50- fun providesFakeAssetManager (
51- @ApplicationContext context : Context ,
52- ): FakeAssetManager = FakeAssetManager (context.assets::open)
53- }
31+ fun FakeNiaNetworkDataSource.binds (): NiaNetworkDataSource
5432}
Original file line number Diff line number Diff line change 1717package com.google.samples.apps.nowinandroid.core.network.di
1818
1919import android.content.Context
20- import com.google.samples.apps.nowinandroid.core.network.NiANetwork
2120import com.google.samples.apps.nowinandroid.core.network.fake.FakeAssetManager
22- import com.google.samples.apps.nowinandroid.core.network.fake.FakeNiANetwork
23- import dagger.Binds
2421import dagger.Module
2522import dagger.Provides
26- import dagger.hilt.android.qualifiers.ApplicationContext
2723import dagger.hilt.InstallIn
24+ import dagger.hilt.android.qualifiers.ApplicationContext
2825import dagger.hilt.components.SingletonComponent
2926import javax.inject.Singleton
3027import kotlinx.serialization.json.Json
3128
3229@Module
3330@InstallIn(SingletonComponent ::class )
34- interface NetworkModule {
35-
36- @Binds
37- fun bindsNiANetwork (
38- niANetwork : FakeNiANetwork
39- ): NiANetwork
31+ object NetworkModule {
4032
41- companion object {
42- @Provides
43- @Singleton
44- fun providesNetworkJson (): Json = Json {
45- ignoreUnknownKeys = true
46- }
47-
48- @Provides
49- @Singleton
50- fun providesFakeAssetManager (
51- @ApplicationContext context : Context
52- ): FakeAssetManager = FakeAssetManager (context.assets::open)
33+ @Provides
34+ @Singleton
35+ fun providesNetworkJson (): Json = Json {
36+ ignoreUnknownKeys = true
5337 }
38+
39+ @Provides
40+ @Singleton
41+ fun providesFakeAssetManager (
42+ @ApplicationContext context : Context ,
43+ ): FakeAssetManager = FakeAssetManager (context.assets::open)
5444}
Original file line number Diff line number Diff line change 1616
1717package com.google.samples.apps.nowinandroid.core.network.di
1818
19- import android.content.Context
20- import com.google.samples.apps.nowinandroid.core.network.fake.FakeAssetManager
2119import com.google.samples.apps.nowinandroid.core.network.NiaNetworkDataSource
2220import com.google.samples.apps.nowinandroid.core.network.retrofit.RetrofitNiaNetwork
2321import dagger.Binds
2422import dagger.Module
25- import dagger.Provides
26- import dagger.hilt.android.qualifiers.ApplicationContext
2723import dagger.hilt.InstallIn
2824import dagger.hilt.components.SingletonComponent
29- import javax.inject.Singleton
30- import kotlinx.serialization.json.Json
3125
3226@Module
3327@InstallIn(SingletonComponent ::class )
34- interface NetworkModule {
28+ interface FlavoredNetworkModule {
3529
3630 @Binds
37- fun bindsNiaNetwork (
38- niANetwork : RetrofitNiaNetwork
39- ): NiaNetworkDataSource
40-
41- companion object {
42- @Provides
43- @Singleton
44- fun providesNetworkJson (): Json = Json {
45- ignoreUnknownKeys = true
46- }
47-
48- @Provides
49- @Singleton
50- fun providesFakeAssetManager (
51- @ApplicationContext context : Context ,
52- ): FakeAssetManager = FakeAssetManager (context.assets::open)
53- }
31+ fun RetrofitNiaNetwork.binds (): NiaNetworkDataSource
5432}
You can’t perform that action at this time.
0 commit comments