File tree Expand file tree Collapse file tree
workinspector/src/main/java/org/koitharu/workinspector Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -23,4 +23,5 @@ local.properties
2323/.idea /codeStyles
2424/.idea /kotlinc.xml
2525/.idea /runConfigurations.xml
26- /.idea /gradle.xml
26+ /.idea /gradle.xml
27+ /.idea /AndroidProjectSystem.xml
Original file line number Diff line number Diff line change 1+ package org.koitharu.workinspector
2+
3+ import org.koin.core.Koin
4+ import org.koin.core.component.KoinComponent
5+
6+ internal interface IsolatedKoinComponent : KoinComponent {
7+
8+ override fun getKoin (): Koin = WorkInspectorInitProvider .koin
9+ }
Original file line number Diff line number Diff line change @@ -8,13 +8,15 @@ import androidx.work.impl.WorkDatabase
88import androidx.work.impl.WorkManagerImpl
99import org.koin.android.ext.koin.androidContext
1010import org.koin.android.ext.koin.androidLogger
11- import org.koin.core.context.startKoin
11+ import org.koin.core.KoinApplication
12+ import org.koin.dsl.koinApplication
1213import org.koin.dsl.module
13- import org.koin.ksp.generated.*
14+ import org.koin.ksp.generated.module
1415
1516public class WorkInspectorInitProvider : ContentProvider () {
17+
1618 override fun onCreate (): Boolean {
17- startKoin {
19+ koinApp = koinApplication {
1820 androidLogger()
1921 androidContext(checkNotNull(context))
2022 modules(coreModule(), LibModule ().module)
@@ -55,4 +57,12 @@ public class WorkInspectorInitProvider : ContentProvider() {
5557 factory<WorkManagerImpl > { WorkManagerImpl .getInstance(androidContext()) }
5658 factory<WorkDatabase > { get<WorkManagerImpl >().workDatabase }
5759 }
60+
61+ internal companion object {
62+
63+ lateinit var koinApp: KoinApplication
64+ private set
65+
66+ val koin get() = koinApp.koin
67+ }
5868}
Original file line number Diff line number Diff line change @@ -5,12 +5,15 @@ import android.view.View
55import androidx.core.view.isVisible
66import androidx.fragment.app.Fragment
77import org.koin.androidx.viewmodel.ext.android.viewModel
8+ import org.koitharu.workinspector.IsolatedKoinComponent
89import org.koitharu.workinspector.R
910import org.koitharu.workinspector.databinding.WiFragmentWorkListBinding
1011import org.koitharu.workinspector.ui.util.collectInLifecycle
1112import org.koitharu.workinspector.ui.util.showErrorDialog
1213
13- internal class WorkDetailsFragment : Fragment (R .layout.wi_fragment_work_list) {
14+ internal class WorkDetailsFragment : Fragment (R .layout.wi_fragment_work_list),
15+ IsolatedKoinComponent {
16+
1417 private val viewModel by viewModel<WorkDetailsViewModel >()
1518 private var binding: WiFragmentWorkListBinding ? = null
1619
Original file line number Diff line number Diff line change @@ -7,13 +7,17 @@ import androidx.fragment.app.Fragment
77import androidx.fragment.app.FragmentTransaction
88import androidx.fragment.app.commit
99import org.koin.androidx.viewmodel.ext.android.viewModel
10+ import org.koitharu.workinspector.IsolatedKoinComponent
1011import org.koitharu.workinspector.R
1112import org.koitharu.workinspector.databinding.WiFragmentWorkListBinding
1213import org.koitharu.workinspector.ui.details.WorkDetailsFragment
1314import org.koitharu.workinspector.ui.util.collectInLifecycle
1415import org.koitharu.workinspector.ui.util.showErrorDialog
1516
16- internal class WorkersListFragment : Fragment (R .layout.wi_fragment_work_list), OnWorkerClickListener {
17+ internal class WorkersListFragment : Fragment (R .layout.wi_fragment_work_list),
18+ IsolatedKoinComponent ,
19+ OnWorkerClickListener {
20+
1721 private val viewModel by viewModel<WorkersListViewModel >()
1822 private var binding: WiFragmentWorkListBinding ? = null
1923
You can’t perform that action at this time.
0 commit comments