althaf
10/28/2023, 4:32 AM@Composable
fun KioskLoginScreen(
viewModel: KioskLoginViewModel,
navigateToKioskActivate: () -> Unit,
navigateToKioskFailure: () -> Unit
) { .... }
@HiltViewModel
class KioskLoginViewModel @Inject constructor(
context: Application,
private val printerDevice: PrinterDevice,
) {
init {
Timber.i("vm $this")
viewModelScope.launch {
printerDevice.onDeviceStateChange.distinctUntilChanged().collectLatest {
Timber.i("vm printer state $it")
when (it) {
PrintingAllowed -> {
isPrintingAllowed = true
printerDevice.requestDeviceData(PrinterDeviceDataReq("${Date()}\n"))
}
}
}
}
}
I can see that Printing Allowed is getting collected twice from two different instancescah
10/28/2023, 11:59 AMalthaf
10/28/2023, 2:03 PMcomposable(kioskLoginRoute) {
Timber.i("kioslogin route")
KioskLoginScreen(
hiltViewModel(),
navigateToKioskActivate = {
navigateToKioskActivate.invoke()
},
navigateToKioskFailure = {
navigateToLoginFailure.invoke()
}
)
}