parent
24de572943
commit
601ea902c3
@ -1,29 +0,0 @@ |
|||||||
package com.android.base.app.fragment.injectable |
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment |
|
||||||
import androidx.fragment.app.viewModels |
|
||||||
import androidx.lifecycle.ViewModel |
|
||||||
import androidx.lifecycle.ViewModelProvider |
|
||||||
import com.android.base.data.ErrorHandler |
|
||||||
|
|
||||||
|
|
||||||
interface InjectableEx { |
|
||||||
|
|
||||||
val viewModelFactory: ViewModelProvider.Factory |
|
||||||
|
|
||||||
val errorHandler: ErrorHandler |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
inline fun <reified VM : ViewModel> InjectableEx.injectViewModel(fragment: Fragment): Lazy<VM> { |
|
||||||
return fragment.viewModels { viewModelFactory } |
|
||||||
} |
|
||||||
|
|
||||||
inline fun <reified VM : ViewModel> InjectableEx.injectActivityViewModel(fragment: Fragment): Lazy<VM> { |
|
||||||
return fragment.viewModels( |
|
||||||
ownerProducer = { |
|
||||||
fragment.requireActivity() |
|
||||||
} |
|
||||||
) { viewModelFactory } |
|
||||||
} |
|
||||||
|
|
@ -0,0 +1,13 @@ |
|||||||
|
package com.android.base.app.fragment.injectable |
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModelProvider |
||||||
|
import com.android.base.data.ErrorHandler |
||||||
|
|
||||||
|
|
||||||
|
interface InjectableExtension { |
||||||
|
|
||||||
|
val viewModelFactory: ViewModelProvider.Factory |
||||||
|
|
||||||
|
val errorHandler: ErrorHandler |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue