Advertisement
Guest User

Untitled

a guest
Apr 19th, 2021
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. @Query("SELECT date FROM events BY date ORDER BY date DESC")
  2. suspend fun getDates(): List<String>
  3.  
  4. @Query("SELECT * FROM events where date = :date")
  5. suspend fun getEventsByDate(date: String): List<Events>
  6.  
  7. @InternalCoroutinesApi
  8. fun observeEvents() = liveData(Dispatchers.Main)
  9. {
  10. emit(Resource.Loading(data = null))
  11. val result: MutableList<Section> = ArrayList()
  12. eventsDao.getDates().forEach { date ->
  13. eventsDao.getEventsByDate(date).let {
  14. result.add(
  15. Section(
  16. id = date.replace("/", "").toInt(),
  17. date = date,
  18. it
  19. )
  20. )
  21. }
  22. }
  23. try {
  24. emit(Resource.Success(data = result))
  25. } catch (exception: Exception) {
  26. emit(Resource.Error(data = null, message = exception.message ?: "Error!"))
  27. }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement