the great warrior
06/05/2023, 1:41 AM@HiltAndroidApp
class ClockApplication : Application(), Configuration.Provider {
@Inject lateinit var clockWorkerFactory: ClockWorkerFactory
override fun getWorkManagerConfiguration(): Configuration =
Configuration.Builder()
.setMinimumLoggingLevel(android.util.Log.DEBUG)
.setWorkerFactory(clockWorkerFactory)
.build()
}
@Singleton
class ClockWorkerFactory @Inject constructor(
alarmRepository: AlarmRepository,
scheduleAlarmManager: ScheduleAlarmManager,
alarmNotificationHelper: AlarmNotificationHelper,
mediaPlayerHelper: MediaPlayerHelper,
) : DelegatingWorkerFactory() {
init {
addFactory(RescheduleAlarmWorkerFactory(alarmRepository, scheduleAlarmManager))
addFactory(AlarmWorkerFactory(alarmRepository, alarmNotificationHelper, mediaPlayerHelper))
}
}