Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Query("SELECT date FROM events BY date ORDER BY date DESC")
- suspend fun getDates(): List<String>
- @Query("SELECT * FROM events where date = :date")
- suspend fun getEventsByDate(date: String): List<Events>
- @InternalCoroutinesApi
- fun observeEvents() = liveData(Dispatchers.Main)
- {
- emit(Resource.Loading(data = null))
- val result: MutableList<Section> = ArrayList()
- eventsDao.getDates().forEach { date ->
- eventsDao.getEventsByDate(date).let {
- result.add(
- Section(
- id = date.replace("/", "").toInt(),
- date = date,
- it
- )
- )
- }
- }
- try {
- emit(Resource.Success(data = result))
- } catch (exception: Exception) {
- emit(Resource.Error(data = null, message = exception.message ?: "Error!"))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement