pers
02/29/2024, 4:57 PMsealed class Event : UiEvent(), EventTracked {
data class Initial(override val analyticsEvent: AnalyticsEvent = SimpleEvent("")) : Event()
data class BookNowClicked(override val analyticsEvent: AnalyticsEvent = BookingEvent("BookingEvent")) : Event()
data class SelectedGuestCountChanged(val guestCount: Int, override val analyticsEvent: AnalyticsEvent = SimpleEvent("")) : Event()
}
viewModelScope.launch {
events.onEach {
if (it is EventTracked)
analyticsEvents.emit(it.analyticsEvent)
}.collect {
handleEvent(it)
}
}
private fun collectAnalyticsEvents() {
viewModelScope.launch {
analyticsEvents
.collect {
analyticsTrackerPort.trackEvent(it)
}
}
}