diff --git a/app/src/main/java/org/pixeldroid/app/posts/feeds/CommonFeedFragmentUtils.kt b/app/src/main/java/org/pixeldroid/app/posts/feeds/CommonFeedFragmentUtils.kt index 08b12511..b7b0d436 100644 --- a/app/src/main/java/org/pixeldroid/app/posts/feeds/CommonFeedFragmentUtils.kt +++ b/app/src/main/java/org/pixeldroid/app/posts/feeds/CommonFeedFragmentUtils.kt @@ -1,7 +1,6 @@ package org.pixeldroid.app.posts.feeds import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup import android.widget.ProgressBar import androidx.constraintlayout.motion.widget.MotionLayout @@ -83,7 +82,14 @@ internal fun initAdapter( ?: loadState.refresh as? LoadState.Error errorState?.let { val error: String = (it.error as? HttpException)?.response()?.errorBody()?.string()?.ifEmpty { null }?.let { s -> - Gson().fromJson(s, org.pixeldroid.app.utils.api.objects.Error::class.java)?.error?.ifBlank { null } + try { + Gson().fromJson(s, org.pixeldroid.app.utils.api.objects.Error::class.java)?.error?.ifBlank { null } + } catch (exception: Exception) { + errorLayout.root.context.getString( + R.string.unknown_error_in_error, + it.error.localizedMessage.orEmpty() + ) + } } ?: it.error.localizedMessage.orEmpty() showError(motionLayout = motionLayout, errorLayout = errorLayout, errorText = error) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 964b263f..ba9f8bbd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -123,6 +123,7 @@ For more info about Pixelfed, you can check here: https://pixelfed.org" Something went wrong while loading Could not get feed + Unknown error, check if server is down: %1$s Share picture… Save to Gallery…