Use MvRx in room detail

This commit is contained in:
ganfra
2018-12-29 17:54:03 +01:00
committed by ganfra
parent 5a75e3db81
commit 7f11c141c7
12 changed files with 191 additions and 64 deletions

View File

@ -39,6 +39,9 @@ dependencies {
implementation 'io.reactivex.rxjava2:rxkotlin:2.3.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
// Paging
api "android.arch.paging:runtime:1.0.1"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'

View File

@ -0,0 +1,24 @@
package im.vector.matrix.rx
import android.arch.paging.PagedList
import im.vector.matrix.android.api.session.events.model.EnrichedEvent
import im.vector.matrix.android.api.session.group.model.GroupSummary
import im.vector.matrix.android.api.session.room.Room
import im.vector.matrix.android.api.session.room.model.RoomSummary
import io.reactivex.Observable
class RxRoom(private val room: Room) {
fun liveRoomSummary(): Observable<RoomSummary> {
return room.roomSummary.asObservable()
}
fun timeline(eventId: String? = null): Observable<PagedList<EnrichedEvent>> {
return room.timeline(eventId).asObservable()
}
}
fun Room.rx(): RxRoom {
return RxRoom(this)
}