Skip to content

Commit 64fafe4

Browse files
authored
Merge pull request #2399 from Adyen/fix/status-unknown-host
v5 - Ignore UnknownHostException in StatusPollingRepository
2 parents e9c0bdf + d398b11 commit 64fafe4

File tree

1 file changed

+7
-0
lines changed
  • components-core/src/main/java/com/adyen/checkout/components/core/internal/data/api

1 file changed

+7
-0
lines changed

components-core/src/main/java/com/adyen/checkout/components/core/internal/data/api/StatusRepository.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import kotlinx.coroutines.currentCoroutineContext
2525
import kotlinx.coroutines.delay
2626
import kotlinx.coroutines.flow.Flow
2727
import kotlinx.coroutines.flow.debounce
28+
import kotlinx.coroutines.flow.filterNot
2829
import kotlinx.coroutines.flow.flow
2930
import kotlinx.coroutines.flow.map
3031
import kotlinx.coroutines.flow.merge
@@ -33,6 +34,7 @@ import kotlinx.coroutines.flow.receiveAsFlow
3334
import kotlinx.coroutines.flow.transform
3435
import kotlinx.coroutines.isActive
3536
import kotlinx.coroutines.withContext
37+
import java.net.UnknownHostException
3638
import kotlin.time.Duration.Companion.milliseconds
3739
import kotlin.time.Duration.Companion.seconds
3840
import kotlin.time.TimeMark
@@ -79,6 +81,11 @@ class DefaultStatusRepository(
7981
.map {
8082
fetchStatus(it)
8183
}
84+
.filterNot {
85+
// For API >= 35, apps lose connectivity if in background. That results in an UnknownHostException here.
86+
// We do not emit this since connection can be recovered and thus, it's not a payment critical failure.
87+
it.exceptionOrNull() is UnknownHostException
88+
}
8289
.transform { result ->
8390
emit(result)
8491

0 commit comments

Comments
 (0)