Skip to content

Commit 7083ee8

Browse files
committed
[BOOK-434] fix: ApplicationContext 주입 방식 변경
circuit star sample 참고
1 parent 69a57b1 commit 7083ee8

File tree

3 files changed

+14
-14
lines changed

3 files changed

+14
-14
lines changed
Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package com.ninecraft.booket.di
22

33
import android.app.Activity
4-
import android.app.Application
54
import android.app.Service
65
import android.content.Context
6+
import com.ninecraft.booket.core.di.ApplicationContext
77
import com.ninecraft.booket.core.di.DataScope
88
import dev.zacsweers.metro.AppScope
9-
import dev.zacsweers.metro.Binds
109
import dev.zacsweers.metro.DependencyGraph
1110
import dev.zacsweers.metro.Multibinds
1211
import dev.zacsweers.metro.Provider
@@ -19,12 +18,6 @@ import kotlin.reflect.KClass
1918
)
2019
interface AppGraph {
2120

22-
// @Provides
23-
// fun provideApplicationContext(application: Application): Context = application
24-
25-
@Binds
26-
fun bindContext(application: Application): Context
27-
2821
@Multibinds(allowEmpty = true)
2922
val activityProviders: Map<KClass<out Activity>, Provider<Activity>>
3023

@@ -33,6 +26,6 @@ interface AppGraph {
3326

3427
@DependencyGraph.Factory
3528
fun interface Factory {
36-
fun create(@Provides application: Application): AppGraph
29+
fun create(@ApplicationContext @Provides context: Context): AppGraph
3730
}
3831
}

core/datastore/impl/src/main/kotlin/com/ninecraft/booket/core/datastore/impl/di/DataStoreGraph.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.ninecraft.booket.core.datastore.impl.datasource.DefaultLibraryRecentS
1414
import com.ninecraft.booket.core.datastore.impl.datasource.DefaultNotificationDataSource
1515
import com.ninecraft.booket.core.datastore.impl.datasource.DefaultOnboardingDataSource
1616
import com.ninecraft.booket.core.datastore.impl.datasource.DefaultTokenDataSource
17+
import com.ninecraft.booket.core.di.ApplicationContext
1718
import com.ninecraft.booket.core.di.DataScope
1819
import dev.zacsweers.metro.Binds
1920
import dev.zacsweers.metro.ContributesTo
@@ -37,31 +38,31 @@ interface DataStoreGraph {
3738
@TokenDataStore
3839
@Provides
3940
fun provideTokenDataStore(
40-
context: Context,
41+
@ApplicationContext context: Context,
4142
): DataStore<Preferences> = context.tokenDataStore
4243

4344
@BookRecentSearchDataStore
4445
@Provides
4546
fun provideBookRecentSearchDataStore(
46-
context: Context,
47+
@ApplicationContext context: Context,
4748
): DataStore<Preferences> = context.bookRecentSearchDataStore
4849

4950
@LibraryRecentSearchDataStore
5051
@Provides
5152
fun provideLibraryRecentSearchDataStore(
52-
context: Context,
53+
@ApplicationContext context: Context,
5354
): DataStore<Preferences> = context.libraryRecentSearchDataStore
5455

5556
@OnboardingDataStore
5657
@Provides
5758
fun provideOnboardingDataStore(
58-
context: Context,
59+
@ApplicationContext context: Context,
5960
): DataStore<Preferences> = context.onboardingDataStore
6061

6162
@NotificationDataStore
6263
@Provides
6364
fun provideNotificationDataStore(
64-
context: Context,
65+
@ApplicationContext context: Context,
6566
): DataStore<Preferences> = context.notificationDataStore
6667

6768
@Binds
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.ninecraft.booket.core.di
2+
3+
import dev.zacsweers.metro.Qualifier
4+
5+
@Qualifier
6+
annotation class ApplicationContext

0 commit comments

Comments
 (0)