/tripkit/TripKitAndroidUI/com.skedgo.tripkit.ui.timetables/TimetableViewModel

TimetableViewModel

\ class TimetableViewModel@Injectconstructor(realTimeChoreographer: RealTimeChoreographer, fetchAndLoadTimetable: FetchAndLoadTimetable, serviceViewModelProvider: Provider<ServiceViewModel>, regionService: RegionService, createShareContent: CreateShareContent, getNow: GetNow, resources: Resources, getRoutingConfig: GetRoutingConfig, getTripFromWaypoints: GetTripFromWaypoints, tripGroupRepository: TripGroupRepository) : RxViewModel

Constructors

TimetableViewModel @Inject
constructor(realTimeChoreographer: RealTimeChoreographer, fetchAndLoadTimetable: FetchAndLoadTimetable, serviceViewModelProvider: Provider<ServiceViewModel>, regionService: RegionService, createShareContent: CreateShareContent, getNow: GetNow, resources: Resources, getRoutingConfig: GetRoutingConfig, getTripFromWaypoints: GetTripFromWaypoints, tripGroupRepository: TripGroupRepository)

Types

Name Summary
ServicesDiffCallback object ServicesDiffCallback : DiffUtil.ItemCallback<ServiceViewModel>

Properties

Name Summary
action var action: String
actionChosen val actionChosen: PublishRelay<String>
buttonText val buttonText: MutableLiveData<String>
downloadTimetable val downloadTimetable: PublishRelay<Long>
enableButton val enableButton: MutableLiveData<Boolean>
filter val filter: BehaviorRelay<String>
itemBinding val itemBinding: ItemBinding<ServiceViewModel>
minStartTime val minStartTime: Observable<Long>
onAlertClicks val onAlertClicks: Observable<List<RealtimeAlert>>
onDateChanged val onDateChanged: PublishRelay<Long>
onError val onError: PublishRelay<String>
scrollToNow val scrollToNow: PublishRelay<Int>
serviceItemBinding val serviceItemBinding: ItemBinding<TimetableHeaderLineItem>
serviceNumbers val serviceNumbers: MutableLiveData<List<TimetableHeaderLineItem>>
services val services: DiffObservableList<ServiceViewModel>
serviceTripId var serviceTripId: BehaviorRelay<String>
showButton val showButton: MutableLiveData<Boolean>
showCloseButton val showCloseButton: MutableLiveData<Boolean>
showLoading val showLoading: MutableLiveData<Boolean>
showSearch val showSearch: MutableLiveData<Boolean>
showTimeTableEntry val showTimeTableEntry: LiveData<ShowTimetableEntry>
showUpdateLoader val showUpdateLoader: LiveData<Boolean>
startTimeRelay val startTimeRelay: BehaviorRelay<Long>
stateChange val stateChange: PublishRelay<MultiStateView.ViewState>
stationName val stationName: MutableLiveData<String>
stationType val stationType: MutableLiveData<String>
stop var stop: BehaviorRelay<ScheduledStop>
stopRelay val stopRelay: BehaviorRelay<ScheduledStop>
timetableEntryChosen val timetableEntryChosen: PublishRelay<TimetableEntry>

Functions

Name Summary
autoClear fun <T> Observable<T>.autoClear(): Observable<T>
fun Disposable.autoClear()
downloadMoreTimetableAsync fun downloadMoreTimetableAsync()
getFirstNowPosition fun getFirstNowPosition(): Int
getShareUrl fun getShareUrl(shareUrl: String, stop: ScheduledStop): Observable<String>
onCleared open override fun onCleared()
This method will be called when this ViewModel is no longer used and will be destroyed.
onTimetableEntryClicked fun onTimetableEntryClicked(entry: TimetableEntry, tripSegment: TripSegment?)
Handles TimetableEntry item click
setText fun setText(context: Context)
stopRealtime fun stopRealtime()
withBookingActions fun withBookingActions(bookingActions: ArrayList<String>?, segment: TripSegment?)