Skip to content

Commit 77b81be

Browse files
bngshyonghanJu
andcommitted
✨ HiltWorker로 WorkerInitializer 커스텀
Co-authored-by: yonghanJu <[email protected]>
1 parent 3e37bc3 commit 77b81be

File tree

3 files changed

+48
-1
lines changed

3 files changed

+48
-1
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@
1313
android:theme="@style/Theme.MoGakRun"
1414
android:name=".MogakrunApplication"
1515
tools:targetApi="31">
16+
<provider
17+
android:name="androidx.startup.InitializationProvider"
18+
android:authorities="${applicationId}.androidx-startup"
19+
tools:node="remove">
20+
</provider>
1621
<activity
1722
android:name="com.whyranoid.signin.SignInActivity"
1823
android:theme="@style/Theme.MoGakRun.Splash"
Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,30 @@
11
package com.whyranoid.mogakrun
22

33
import android.app.Application
4+
import androidx.hilt.work.HiltWorkerFactory
5+
import androidx.work.Configuration
46
import com.whyranoid.mogakrun.util.TimberDebugTree
57
import dagger.hilt.android.HiltAndroidApp
68
import timber.log.Timber
9+
import javax.inject.Inject
710

811
@HiltAndroidApp
9-
class MogakrunApplication : Application() {
12+
class MogakrunApplication : Application(), Configuration.Provider {
13+
14+
@Inject
15+
lateinit var workerFactory: HiltWorkerFactory
16+
1017
override fun onCreate() {
1118
super.onCreate()
1219

1320
if (BuildConfig.DEBUG) {
1421
Timber.plant(TimberDebugTree())
1522
}
1623
}
24+
25+
override fun getWorkManagerConfiguration() =
26+
Configuration.Builder()
27+
.setWorkerFactory(workerFactory)
28+
.setMinimumLoggingLevel(android.util.Log.DEBUG)
29+
.build()
1730
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.whyranoid.presentation.running
2+
3+
import android.content.Context
4+
import androidx.startup.Initializer
5+
import androidx.work.Configuration
6+
import androidx.work.WorkManager
7+
import dagger.Module
8+
import dagger.Provides
9+
import dagger.hilt.InstallIn
10+
import dagger.hilt.android.qualifiers.ApplicationContext
11+
import dagger.hilt.components.SingletonComponent
12+
import javax.inject.Singleton
13+
14+
@Module
15+
@InstallIn(SingletonComponent::class)
16+
class WorkManagerInitializer : Initializer<WorkManager> {
17+
18+
@Provides
19+
@Singleton
20+
override fun create(@ApplicationContext context: Context): WorkManager {
21+
val configuration = Configuration.Builder().build()
22+
WorkManager.initialize(context, configuration)
23+
return WorkManager.getInstance(context)
24+
}
25+
26+
override fun dependencies(): MutableList<Class<out Initializer<*>>> {
27+
return mutableListOf()
28+
}
29+
}

0 commit comments

Comments
 (0)