mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-24 03:42:15 +00:00
Add: Source to MainNavFragment's VM
This commit is contained in:
parent
d183ebd5fc
commit
32330744f3
@ -36,7 +36,7 @@ class ExploreFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
|
||||
|
@ -44,7 +44,7 @@ class InstalledFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
|
||||
|
@ -44,7 +44,7 @@ class LatestFragment : MainNavFragmentX() {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
||||
binding.lifecycleOwner = this
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||
.get(MainNavFragmentViewModelX::class.java)
|
||||
|
||||
|
@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.stateIn
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
class MainNavFragmentViewModelX(val db: DatabaseX) : ViewModel() {
|
||||
class MainNavFragmentViewModelX(val db: DatabaseX, source: Source) : ViewModel() {
|
||||
|
||||
private val _order = MutableStateFlow(ProductItem.Order.LAST_UPDATE)
|
||||
private val _sections = MutableStateFlow<ProductItem.Section>(ProductItem.Section.All)
|
||||
@ -117,11 +117,11 @@ class MainNavFragmentViewModelX(val db: DatabaseX) : ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
class Factory(val db: DatabaseX) : ViewModelProvider.Factory {
|
||||
class Factory(val db: DatabaseX, val source: Source) : ViewModelProvider.Factory {
|
||||
@Suppress("unchecked_cast")
|
||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||
if (modelClass.isAssignableFrom(MainNavFragmentViewModelX::class.java)) {
|
||||
return MainNavFragmentViewModelX(db) as T
|
||||
return MainNavFragmentViewModelX(db, source) as T
|
||||
}
|
||||
throw IllegalArgumentException("Unknown ViewModel class")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user