diff --git a/src/main/java/org/quantumbadger/redreader/common/General.kt b/src/main/java/org/quantumbadger/redreader/common/General.kt index 8bb7fc34e..495c63342 100644 --- a/src/main/java/org/quantumbadger/redreader/common/General.kt +++ b/src/main/java/org/quantumbadger/redreader/common/General.kt @@ -274,7 +274,7 @@ object General { CacheRequest.REQUEST_FAILURE_REQUEST -> if (status != null) { when (status) { - 400, 401, 403 -> { + 400, 401, 403, 404 -> { val uri = uriFromString(url) var isImgurApiRequest = false var isRedditRequest = false @@ -294,29 +294,42 @@ object General { val responseJson = response.flatMap { it.toJson() } - if (responseJson.asNullable()?.asObject()?.getString("reason") == "private") { - title = R.string.error_403_private_sr_title - message = R.string.error_403_private_sr_message - - } else { - title = R.string.error_403_title - message = R.string.error_403_message + when(responseJson.asNullable()?.asObject()?.getString("reason")) { + "private" -> { + title = R.string.error_403_private_sr_title + message = R.string.error_403_private_sr_message + } "quarantined" -> { + title = R.string.error_403_quarantined_sr_title + message = R.string.error_403_quarantined_sr_message + } "gold_only" -> { + title = R.string.error_403_premiumonly_sr_title + message = R.string.error_403_premiumonly_sr_message + } "banned" -> { + title = R.string.error_404_banned_sr_title + message = R.string.error_404_banned_sr_message + } else -> { + if(status == 404) { + title = R.string.error_404_title + message = R.string.error_404_message + } else { + title = R.string.error_403_title + message = R.string.error_403_message + } + } } } else if (status == 400 && isImgurApiRequest) { title = R.string.error_imgur_400_title message = R.string.error_imgur_400_message - } else { + } else if (status == 404) { + title = R.string.error_404_title + message = R.string.error_404_message + } else { title = R.string.error_403_title_nonreddit message = R.string.error_403_message_nonreddit } } - 404 -> { - title = R.string.error_404_title - message = R.string.error_404_message - } - 429 -> { title = R.string.error_http_429_title message = R.string.error_http_429_message diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index f71988056..80baec0cb 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -1758,4 +1758,12 @@ Has self text. + + Quarantined subreddit + This subreddit has been quarantined. To access it, you must opt-in on reddit.com. + Premium-only subreddit + This subreddit only allows Reddit Premium members to visit. + Banned subreddit + This subreddit has been banned. +