mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-28 05:42:14 +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)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
binding = FragmentExploreXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
.get(MainNavFragmentViewModelX::class.java)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ class InstalledFragment : MainNavFragmentX() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
binding = FragmentInstalledXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
.get(MainNavFragmentViewModelX::class.java)
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
binding = FragmentLatestXBinding.inflate(inflater, container, false)
|
||||||
binding.lifecycleOwner = this
|
binding.lifecycleOwner = this
|
||||||
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db)
|
val viewModelFactory = MainNavFragmentViewModelX.Factory(mainActivityX.db, source)
|
||||||
viewModel = ViewModelProvider(this, viewModelFactory)
|
viewModel = ViewModelProvider(this, viewModelFactory)
|
||||||
.get(MainNavFragmentViewModelX::class.java)
|
.get(MainNavFragmentViewModelX::class.java)
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import kotlinx.coroutines.flow.stateIn
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
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 _order = MutableStateFlow(ProductItem.Order.LAST_UPDATE)
|
||||||
private val _sections = MutableStateFlow<ProductItem.Section>(ProductItem.Section.All)
|
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")
|
@Suppress("unchecked_cast")
|
||||||
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
|
||||||
if (modelClass.isAssignableFrom(MainNavFragmentViewModelX::class.java)) {
|
if (modelClass.isAssignableFrom(MainNavFragmentViewModelX::class.java)) {
|
||||||
return MainNavFragmentViewModelX(db) as T
|
return MainNavFragmentViewModelX(db, source) as T
|
||||||
}
|
}
|
||||||
throw IllegalArgumentException("Unknown ViewModel class")
|
throw IllegalArgumentException("Unknown ViewModel class")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user