added mastodon error codes, translation update

This commit is contained in:
nuclearfog 2022-11-27 20:48:55 +01:00
parent a9f01583d4
commit 0bcf4c1494
No known key found for this signature in database
GPG Key ID: 03488A185C476379
6 changed files with 60 additions and 11 deletions

View File

@ -12,12 +12,7 @@ public abstract class ConnectionException extends Exception {
/** /**
* defines an error which is not listed here * defines an error which is not listed here
*/ */
public static final int ERROR_NOT_DEFINED = -1; public static final int ERROR_NOT_DEFINED = 0;
/**
* indicates that an API rate limit is exceeded
*/
public static final int RATE_LIMIT_EX = 0;
/** /**
* indicates that an user was not found by his ID or @name * indicates that an user was not found by his ID or @name
@ -104,6 +99,16 @@ public abstract class ConnectionException extends Exception {
*/ */
public static final int INVALID_MEDIA = 17; public static final int INVALID_MEDIA = 17;
/**
* indicates that an API rate limit is exceeded
*/
public static final int RATE_LIMIT_EX = 18;
/**
* service not available
*/
public static final int SERVICE_UNAVAILABLE = 19;
/** /**
* *
*/ */

View File

@ -13,17 +13,46 @@ public class MastodonException extends ConnectionException {
private static final long serialVersionUID = 3077198050626279691L; private static final long serialVersionUID = 3077198050626279691L;
private int errorCode = 0;
/**
*
*/
public MastodonException(Exception e) { public MastodonException(Exception e) {
super(e); super(e);
} }
/**
* @param response response containing error information
*/
public MastodonException(Response response) { public MastodonException(Response response) {
super(response.message()); super(response.message());
switch (response.code()) {
case 401:
errorCode = NOT_AUTHORIZED;
break;
case 403:
errorCode = HTTP_FORBIDDEN;
break;
case 404:
errorCode = RESOURCE_NOT_FOUND;
break;
case 429:
errorCode = RATE_LIMIT_EX;
break;
case 503:
errorCode = SERVICE_UNAVAILABLE;
break;
}
} }
/**
* @param message error message
*/
public MastodonException(String message) { public MastodonException(String message) {
super(message); super(message);
} }
@ -31,7 +60,7 @@ public class MastodonException extends ConnectionException {
@Override @Override
public int getErrorCode() { public int getErrorCode() {
return 0; return errorCode;
} }

View File

@ -52,6 +52,9 @@ public final class ErrorHandler {
} }
return context.getString(R.string.error_rate_limit); return context.getString(R.string.error_rate_limit);
case ConnectionException.SERVICE_UNAVAILABLE:
return context.getString(R.string.error_service_unavailable);
case ConnectionException.USER_NOT_FOUND: case ConnectionException.USER_NOT_FOUND:
return context.getString(R.string.error_user_not_found); return context.getString(R.string.error_user_not_found);

View File

@ -542,6 +542,8 @@ public class GlobalSettings {
* @return suffix string * @return suffix string
*/ */
public String getImageSuffix() { public String getImageSuffix() {
if (account.getApiType() == Account.API_MASTODON)
return "";
if (hqImages) if (hqImages)
return PROFILE_IMG_HIGH_RES; return PROFILE_IMG_HIGH_RES;
return PROFILE_IMG_LOW_RES; return PROFILE_IMG_LOW_RES;
@ -553,6 +555,8 @@ public class GlobalSettings {
* @return suffix string * @return suffix string
*/ */
public String getBannerSuffix() { public String getBannerSuffix() {
if (account.getApiType() == Account.API_MASTODON)
return "";
if (hqImages) if (hqImages)
return BANNER_IMG_MID_RES; return BANNER_IMG_MID_RES;
return BANNER_IMG_LOW_RES; return BANNER_IMG_LOW_RES;

View File

@ -242,4 +242,11 @@
<string name="menu_tweet_metrics">Metriken</string> <string name="menu_tweet_metrics">Metriken</string>
<string name="settings_enable_indicators">zeige zusätzliche Tweet Informationen an</string> <string name="settings_enable_indicators">zeige zusätzliche Tweet Informationen an</string>
<string name="login_key_enable">Token einfügen</string> <string name="login_key_enable">Token einfügen</string>
<string name="info_open_mastodon_login">öffne Mastodon Loginseite</string>
<string name="info_login_to_mastodon">in Mastodon einloggen</string>
<string name="error_service_unavailable">Service zur Zeit nicht verfügbar!</string>
<string name="popup_tweet_hint">Status</string>
<string name="error_invalid_url">Url ungültig!</string>
<string name="error_empty_token">Bitte Schlüssel hinzufügen</string>
<string name="info_account_selected">%1$s ausgewählt</string>
</resources> </resources>

View File

@ -79,6 +79,7 @@
<string name="error_file_format">File format not supported!</string> <string name="error_file_format">File format not supported!</string>
<string name="error_empty_name">Empty user name!</string> <string name="error_empty_name">Empty user name!</string>
<string name="error_user_not_found">User not found!</string> <string name="error_user_not_found">User not found!</string>
<string name="error_service_unavailable">Service not available!</string>
<string name="error_accesstoken">Invalid access! Please re-login!</string> <string name="error_accesstoken">Invalid access! Please re-login!</string>
<string name="error_status_length">Status is too long!</string> <string name="error_status_length">Status is too long!</string>
<string name="error_duplicate_status">Duplicate Status!</string> <string name="error_duplicate_status">Duplicate Status!</string>
@ -98,7 +99,7 @@
<string name="error_forbidden_api_access">API does not support this operation!</string> <string name="error_forbidden_api_access">API does not support this operation!</string>
<string name="error_adding_media">Error occurred while adding media!</string> <string name="error_adding_media">Error occurred while adding media!</string>
<string name="error_media_init">Error while preparing media files for upload!</string> <string name="error_media_init">Error while preparing media files for upload!</string>
<string name="error_empty_token">token key missing!</string> <string name="error_empty_token">please add token key</string>
<string name="error_invalid_url">invalid URL!</string> <string name="error_invalid_url">invalid URL!</string>
<!-- menu icon strings --> <!-- menu icon strings -->
@ -216,7 +217,7 @@
<string name="proxy_password">Password</string> <string name="proxy_password">Password</string>
<string name="settings_key1_hint">Consumer key</string> <string name="settings_key1_hint">Consumer key</string>
<string name="settings_key2_hint">Consumer secret</string> <string name="settings_key2_hint">Consumer secret</string>
<string name="settings_mastodon_hint">mastodon.social</string> <string name="settings_mastodon_hint" translatable="false">mastodon.social</string>
<string name="confirm_mute">mute user?</string> <string name="confirm_mute">mute user?</string>
<string name="item_list_pb_desc">Profile of the list owner</string> <string name="item_list_pb_desc">Profile of the list owner</string>
<string name="list_appbar">Lists</string> <string name="list_appbar">Lists</string>