diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 51d74e7..34f04d5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -15,6 +16,11 @@ android:screenOrientation="portrait" > + + diff --git a/app/src/main/java/danggai/app/parcelwhere/App.kt b/app/src/main/java/danggai/app/parcelwhere/App.kt index 22153b2..960af57 100644 --- a/app/src/main/java/danggai/app/parcelwhere/App.kt +++ b/app/src/main/java/danggai/app/parcelwhere/App.kt @@ -1,27 +1,33 @@ package danggai.app.parcelwhere import android.app.Application -import danggai.app.parcelwhere.di.NetworkModule -import danggai.app.parcelwhere.di.RoomModule -import danggai.app.parcelwhere.di.ViewModelModule -import danggai.app.parcelwhere.di.repositoryModule +import androidx.work.DelegatingWorkerFactory +import androidx.work.WorkerFactory +import danggai.app.parcelwhere.di.* import danggai.app.parcelwhere.util.log +import danggai.app.parcelwhere.worker.MyWorkerFactory import io.reactivex.exceptions.UndeliverableException import io.reactivex.plugins.RxJavaPlugins import org.koin.android.ext.koin.androidContext import org.koin.android.ext.koin.androidLogger +import org.koin.androidx.workmanager.koin.workManagerFactory +import org.koin.core.KoinExperimentalAPI import org.koin.core.context.startKoin import java.io.IOException import java.net.SocketException + class App: Application() { + @KoinExperimentalAPI override fun onCreate() { super.onCreate() + startKoin { androidLogger() androidContext(this@App) - modules(listOf(ViewModelModule, NetworkModule, repositoryModule, RoomModule)) + workManagerFactory() + modules(listOf(ViewModelModule, NetworkModule, repositoryModule, RoomModule, WorkerFactoryModule)) } RxJavaPlugins.setErrorHandler { e -> @@ -38,5 +44,4 @@ class App: Application() { } } } - } \ No newline at end of file diff --git a/app/src/main/java/danggai/app/parcelwhere/di/WorkerFactoryModule.kt b/app/src/main/java/danggai/app/parcelwhere/di/WorkerFactoryModule.kt new file mode 100644 index 0000000..9e0eba8 --- /dev/null +++ b/app/src/main/java/danggai/app/parcelwhere/di/WorkerFactoryModule.kt @@ -0,0 +1,14 @@ +package danggai.app.parcelwhere.di + +import androidx.work.WorkerFactory +import danggai.app.parcelwhere.data.api.ApiInterface +import danggai.app.parcelwhere.data.api.ApiRepository +import danggai.app.parcelwhere.worker.MyWorkerFactory +import danggai.app.parcelwhere.worker.RefreshWorker +import org.koin.androidx.workmanager.dsl.worker +import org.koin.dsl.module +import retrofit2.Retrofit + +val WorkerFactoryModule = module { + worker { params -> RefreshWorker(get(), get(), workerParams = params.get()) } +} \ No newline at end of file