diff --git a/app/src/main/java/com/sub6resources/utilities/BaseActivity.kt b/app/src/main/java/com/sub6resources/utilities/BaseActivity.kt index 92e6100..74cd57e 100644 --- a/app/src/main/java/com/sub6resources/utilities/BaseActivity.kt +++ b/app/src/main/java/com/sub6resources/utilities/BaseActivity.kt @@ -18,6 +18,8 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import com.google.android.material.navigation.NavigationView +import org.koin.androidx.viewmodel.ext.android.getViewModelByClass +import org.koin.core.parameter.emptyParameterDefinition abstract class BaseActivity(private val activityLayout: Int) : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { @@ -301,6 +303,8 @@ abstract class BaseActivity(private val activityLayout: Int) : AppCompatActivity app.savedCallbacks[requestCode](resultCode, data) } - inline fun getViewModel(): Lazy = lazy { ViewModelProvider(this, ViewModelProvider.NewInstanceFactory()).get(T::class.java) } - inline fun getGlobalViewModel(): Lazy = lazy { ViewModelProvider(app, ViewModelProvider.NewInstanceFactory()).get(T::class.java) } +// inline fun getViewModel(): Lazy = lazy { ViewModelProvider(this, ViewModelFactory).get(T::class.java) } + inline fun getViewModel(): Lazy = lazy { getViewModelByClass(T::class, null, null, {this}, emptyParameterDefinition()) } +// inline fun getGlobalViewModel(): Lazy = lazy { ViewModelProvider(app, ViewModelFactory).get(T::class.java) } + inline fun getGlobalViewModel(): Lazy = lazy { getViewModelByClass(T::class, null, null, {app}, emptyParameterDefinition()) } } \ No newline at end of file diff --git a/app/src/main/java/com/sub6resources/utilities/BaseFragment.kt b/app/src/main/java/com/sub6resources/utilities/BaseFragment.kt index aeef672..b2dd2ae 100644 --- a/app/src/main/java/com/sub6resources/utilities/BaseFragment.kt +++ b/app/src/main/java/com/sub6resources/utilities/BaseFragment.kt @@ -6,6 +6,8 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import org.koin.androidx.viewmodel.ext.android.getViewModel +import org.koin.androidx.viewmodel.ext.android.getViewModelByClass +import org.koin.core.parameter.emptyParameterDefinition abstract class BaseFragment : Fragment() { @@ -79,7 +81,11 @@ abstract class BaseFragment : Fragment() { inline fun getViewModel(): Lazy = lazy { (this as Fragment).getViewModel() } - inline fun Fragment.getSharedViewModel(): Lazy = lazy { ViewModelProvider(baseActivity, ViewModelProvider.NewInstanceFactory()).get(T::class.java) } +// inline fun Fragment.getSharedViewModel(): Lazy = lazy { ViewModelProvider(baseActivity, ViewModelFactory).get(T::class.java) } - inline fun getGlobalViewModel(): Lazy = lazy { ViewModelProvider(baseActivity.app, ViewModelProvider.NewInstanceFactory()).get(T::class.java) } + inline fun Fragment.getSharedViewModel(): Lazy = lazy { getViewModelByClass(T::class, null, null, {baseActivity}, emptyParameterDefinition()) } + +// inline fun getGlobalViewModel(): Lazy = lazy { ViewModelProvider(baseActivity.app, ViewModelFactory).get(T::class.java) } + + inline fun getGlobalViewModel(): Lazy = lazy { getViewModelByClass(T::class, null, null, {baseActivity.app}, emptyParameterDefinition()) } } \ No newline at end of file