ReviewOS

also looking at this

craft-native/craft

fix(android): recover remote loads after connectivity returns

#265
Merged glennmichael123 wants to merge codex/android-load-failure-fallback into main
4 files +130 -11
packages/android/compile-fixtures/CraftLoadFailureTest.ktadded+22-0
Changes to packages/android/compile-fixtures/CraftLoadFailureTest.kt
@@ -0,0 +1,22 @@
1package {{PACKAGE_NAME}}
2
3import android.webkit.WebViewClient
4import org.junit.Assert.assertFalse
5import org.junit.Assert.assertTrue
6import org.junit.Test
7
8class CraftLoadFailureTest {
9 @Test
10 fun onlyConnectivityFailuresUseTheBundledCopy() {
11 assertTrue(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_HOST_LOOKUP))
12 assertTrue(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_CONNECT))
13 assertTrue(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_TIMEOUT))
14 assertTrue(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_IO))
15
16 assertFalse(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_FAILED_SSL_HANDSHAKE))
17 assertFalse(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_AUTHENTICATION))
18 assertFalse(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_UNSUPPORTED_AUTH_SCHEME))
19 assertFalse(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_BAD_URL))
20 assertFalse(CraftLoadFailure.isUnreachable(WebViewClient.ERROR_UNSAFE_RESOURCE))
21 }
22}