Обнаружение отмены от CoroutineScope
Я пытаюсь обнаружить отмену из CoroutineScope, но свойство isCancelled не изменяется, когда я пытаюсь вызвать метод отмены внутри CoroutineScope
Метод, который я ожидал отменить сопрограмму из ViewModel
fun login() = viewModelScope.launch{
try{
repository.login(emailLogin.get()!!, passwordLogin.get()!!)
}catch (e: AuthenticationHttpErrorException){
cancel(CancellationException(e.message))
Toast.makeText(getApplication(),e.message, Toast.LENGTH_SHORT).show()
Log.e("ERROR LOGIN", e.message)
}
}
Как я вызвал метод входа из Activity
fun submitLogin(view: View){
val loginResult = authenticationViewModel.login()
if(loginResult.isCancelled){
Log.e("LOGIN FAILED", "Login cancelled")
}else{
Log.v("LOGIN SUCCESS", "Login success")
}
}
Я ожидаю, что isCancelled свойство изменится на true, когда я вызову метод cancel из CoroutineScope и вызову некоторый код внутри оператора if