From 641754c82c81620b3167f43aad74a2aa99e01158 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Fri, 3 Mar 2023 17:10:38 +0100 Subject: [PATCH] Fix crash on some videos when the instance is down --- .../java/com/github/libretube/ui/dialogs/LoginDialog.kt | 6 +++--- .../com/github/libretube/ui/fragments/PlayerFragment.kt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt index 1f6bca605..c48626922 100644 --- a/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt +++ b/app/src/main/java/com/github/libretube/ui/dialogs/LoginDialog.kt @@ -72,9 +72,9 @@ class LoginDialog( RetrofitInstance.authApi.login(login) } } catch (e: HttpException) { - val errorMessage = e.response()?.errorBody()?.string()?.let { - JsonHelper.json.decodeFromString(it).error - } ?: context?.getString(R.string.server_error) ?: "" + val errorMessage = e.response()?.errorBody()?.string()?.runCatching { + JsonHelper.json.decodeFromString(this).error + }?.getOrNull() ?: context?.getString(R.string.server_error) ?: "" Toast.makeText(context, errorMessage, Toast.LENGTH_SHORT).show() return@launchWhenCreated } catch (e: Exception) { diff --git a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt index 06ebeabb3..9c2a56176 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/PlayerFragment.kt @@ -649,9 +649,9 @@ class PlayerFragment : Fragment(R.layout.fragment_player), OnlinePlayerOptions { Toast.makeText(context, R.string.unknown_error, Toast.LENGTH_LONG).show() return@launchWhenCreated } catch (e: HttpException) { - val errorMessage = e.response()?.errorBody()?.string()?.let { - JsonHelper.json.decodeFromString(it).message - } ?: context?.getString(R.string.server_error) ?: "" + val errorMessage = e.response()?.errorBody()?.string()?.runCatching { + JsonHelper.json.decodeFromString(this).message + }?.getOrNull() ?: context?.getString(R.string.server_error) ?: "" Toast.makeText(context, errorMessage, Toast.LENGTH_LONG).show() return@launchWhenCreated }