mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-20 05:58:27 +00:00
Fix NewMessage errors
This commit is contained in:
parent
8b79fd6850
commit
f2959073ec
@ -12,11 +12,12 @@ import kotlinx.coroutines.flow.MutableStateFlow
|
|||||||
import kotlinx.coroutines.flow.asSharedFlow
|
import kotlinx.coroutines.flow.asSharedFlow
|
||||||
import kotlinx.coroutines.flow.asStateFlow
|
import kotlinx.coroutines.flow.asStateFlow
|
||||||
import kotlinx.coroutines.flow.update
|
import kotlinx.coroutines.flow.update
|
||||||
|
import kotlinx.coroutines.isActive
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withTimeout
|
|
||||||
import network.loki.messenger.R
|
import network.loki.messenger.R
|
||||||
import org.session.libsession.snode.SnodeAPI
|
import org.session.libsession.snode.SnodeAPI
|
||||||
import org.session.libsignal.utilities.PublicKeyValidation
|
import org.session.libsignal.utilities.PublicKeyValidation
|
||||||
|
import org.session.libsignal.utilities.timeout
|
||||||
import org.thoughtcrime.securesms.ui.GetString
|
import org.thoughtcrime.securesms.ui.GetString
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.coroutines.cancellation.CancellationException
|
import kotlin.coroutines.cancellation.CancellationException
|
||||||
@ -71,15 +72,10 @@ internal class NewMessageViewModel @Inject constructor(
|
|||||||
|
|
||||||
loadOnsJob = viewModelScope.launch(Dispatchers.IO) {
|
loadOnsJob = viewModelScope.launch(Dispatchers.IO) {
|
||||||
try {
|
try {
|
||||||
val publicKey = withTimeout(30.seconds) { SnodeAPI.getSessionID(ons).get() }
|
val publicKey = SnodeAPI.getSessionID(ons).timeout(30_000).get()
|
||||||
onPublicKey(publicKey)
|
if (isActive) onPublicKey(publicKey)
|
||||||
} catch (e: TimeoutCancellationException) {
|
|
||||||
onError(e)
|
|
||||||
} catch (e: CancellationException) {
|
|
||||||
// Attempting to just ignore internal JobCancellationException, which is called
|
|
||||||
// when we cancel the job, state update is handled there.
|
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
onError(e)
|
if (isActive) onError(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user