Persistance of competitions in favorites achieve ✅
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
4e195b5115
commit
e0d5e666f3
@ -0,0 +1,10 @@
|
|||||||
|
package uca.iut.clermont.application
|
||||||
|
|
||||||
|
import android.app.Application
|
||||||
|
import uca.iut.clermont.data.BDD
|
||||||
|
|
||||||
|
class ScorItApplication: Application() {
|
||||||
|
|
||||||
|
val db: BDD by lazy { BDD.getInstance(this) }
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package uca.iut.clermont.converters
|
||||||
|
|
||||||
|
import androidx.room.TypeConverter
|
||||||
|
import com.google.gson.Gson
|
||||||
|
import uca.iut.clermont.model.Area
|
||||||
|
import uca.iut.clermont.model.Season
|
||||||
|
|
||||||
|
class Converters {
|
||||||
|
|
||||||
|
@TypeConverter
|
||||||
|
fun fromJson(json: String): Season {
|
||||||
|
return Gson().fromJson(json, Season::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
@TypeConverter
|
||||||
|
fun toJson(season: Season): String {
|
||||||
|
return Gson().toJson(season)
|
||||||
|
}
|
||||||
|
|
||||||
|
@TypeConverter
|
||||||
|
fun fromJsonArea(json: String): Area {
|
||||||
|
return Gson().fromJson(json, Area::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
@TypeConverter
|
||||||
|
fun toJson(area: Area): String {
|
||||||
|
return Gson().toJson(area)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,25 +1,11 @@
|
|||||||
package uca.iut.clermont.view.viewModel
|
package uca.iut.clermont.view.viewModel
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.asLiveData
|
||||||
import kotlinx.coroutines.launch
|
import uca.iut.clermont.data.dao.CompetitionDao
|
||||||
import uca.iut.clermont.api.ApiManager
|
|
||||||
import uca.iut.clermont.model.Competition
|
|
||||||
|
|
||||||
class FavoriteViewModel(
|
class FavoriteViewModel(
|
||||||
//val dao: CompetitionDao
|
val dao: CompetitionDao
|
||||||
) : ViewModel() {
|
) : ViewModel() {
|
||||||
|
fun getAllCompetitions() = dao.getAllCompetitions().asLiveData()
|
||||||
val manager = ApiManager()
|
|
||||||
val competitions = MutableLiveData<List<Competition>>()
|
|
||||||
|
|
||||||
//fun getAllCompetitions() = dao.getAllCompetitions()
|
|
||||||
//.isLiveDate()
|
|
||||||
|
|
||||||
fun loadCompetitions() = viewModelScope.launch {
|
|
||||||
val result = manager.competitionsMgr.getItems()
|
|
||||||
competitions.value = result
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package uca.iut.clermont.view.viewModel
|
||||||
|
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.ViewModelProvider
|
||||||
|
import uca.iut.clermont.data.dao.CompetitionDao
|
||||||
|
|
||||||
|
class ViewModelFactory(private val dao: CompetitionDao): ViewModelProvider.Factory {
|
||||||
|
|
||||||
|
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||||
|
if (modelClass.isAssignableFrom(FavoriteViewModel::class.java)){
|
||||||
|
return FavoriteViewModel(dao) as T
|
||||||
|
}
|
||||||
|
if (modelClass.isAssignableFrom(DetailViewModel::class.java)){
|
||||||
|
return DetailViewModel(dao) as T
|
||||||
|
}
|
||||||
|
throw IllegalArgumentException("Unknown viewModel class")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in new issue