27 lines
743 B
Kotlin
27 lines
743 B
Kotlin
package com.yuanxuan.rokid
|
|
|
|
import androidx.activity.result.launch
|
|
import androidx.lifecycle.ViewModel
|
|
import androidx.lifecycle.viewModelScope
|
|
import kotlinx.coroutines.flow.MutableSharedFlow
|
|
import kotlinx.coroutines.flow.asSharedFlow
|
|
import kotlinx.coroutines.launch
|
|
|
|
class MainViewModel : ViewModel() {
|
|
|
|
private val _keyEventFlow = MutableSharedFlow<KeyEvent>()
|
|
val keyEventFlow = _keyEventFlow.asSharedFlow()
|
|
|
|
fun onKeyEventDispatched(event: KeyEvent) {
|
|
viewModelScope.launch {
|
|
_keyEventFlow.emit(event)
|
|
}
|
|
}
|
|
|
|
sealed interface KeyEvent {
|
|
data object DpadRight : KeyEvent //前滑
|
|
data object DpadLeft : KeyEvent //后滑
|
|
data object Enter : KeyEvent //前滑
|
|
}
|
|
|
|
} |