3756a1fd20
* Add AppStore, add fav, reblog events * Add events, add handling to Timeline * Add event handling to Notifications * Mostly finish events * Fix unsubscribing * Cleanup timeline * Fix newStatusEvent in thread, fix deleteEvent * Insert new toots only in specific timelines * Add missing else * Rename AppStore to EventHub * Fix tests * Use DiffUtils for timeline * Fix empty timeline bug. Improve loading placeholder * Fix AsyncListDiff, loading indicator, "load more" * Timeline fixes & improvements. Fix infinite loading. Remove spinner correctly. Don't refresh timeline without need.
22 lines
511 B
Kotlin
22 lines
511 B
Kotlin
package com.keylesspalace.tusky.appstore
|
|
|
|
import io.reactivex.Observable
|
|
import io.reactivex.subjects.PublishSubject
|
|
|
|
interface Event
|
|
interface Dispatchable : Event
|
|
|
|
interface EventHub {
|
|
val events: Observable<Event>
|
|
fun dispatch(event: Dispatchable)
|
|
}
|
|
|
|
object EventHubImpl : EventHub {
|
|
|
|
private val eventsSubject = PublishSubject.create<Event>()
|
|
override val events: Observable<Event> = eventsSubject
|
|
|
|
override fun dispatch(event: Dispatchable) {
|
|
eventsSubject.onNext(event)
|
|
}
|
|
} |