From 3f86b0f3eba41d19dd16eaf88ed1569a58e17dd2 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Wed, 26 Nov 2025 17:49:13 -0500 Subject: [PATCH] fix: show user-friendly message for network errors --- .../main/java/app/grapheneos/apps/core/Errors.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/app/grapheneos/apps/core/Errors.kt b/app/src/main/java/app/grapheneos/apps/core/Errors.kt index f7ab9f883..47c0dc78e 100644 --- a/app/src/main/java/app/grapheneos/apps/core/Errors.kt +++ b/app/src/main/java/app/grapheneos/apps/core/Errors.kt @@ -103,6 +103,13 @@ private fun networkErrorResStringOrZero(e: Throwable) = when (e) { else -> 0 } +private fun isKnownNetworkError(e: Throwable) = when (e) { + is ConnectException, + is SocketTimeoutException, + is UnknownHostException -> true + else -> false +} + @Parcelize class RepoUpdateError(val throwable: Throwable, val wasUpdateManuallyRequested: Boolean) : ErrorTemplate() { override fun titleResource() = if (wasUpdateManuallyRequested) @@ -122,8 +129,10 @@ class RepoUpdateError(val throwable: Throwable, val wasUpdateManuallyRequested: appendRes(ctx, resource) append('.') } - appendDetailsPrefix(ctx, this) - append(throwable.toString()) + if (!isKnownNetworkError(throwable)) { + appendDetailsPrefix(ctx, this) + append(throwable.toString()) + } toString() } } @@ -159,7 +168,8 @@ class DownloadError(val pkgLabels: List, val throwable: Throwable) : Err } append('.') - if (throwable !is UserRestrictionException && throwable !is PackagesBusyException) { + if (throwable !is UserRestrictionException && throwable !is PackagesBusyException + && !isKnownNetworkError(throwable)) { appendDetailsPrefix(ctx, this) append(throwable.toString()) }