aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-02-21 19:45:12 +0100
committerChristian Schneppe <christian@pix-art.de>2019-02-21 19:45:12 +0100
commita5019812fbdaf57096b8483778b610fd3b0d1887 (patch)
treea435332fd2188c7a37163e5f3516d9e012480f82 /src/main/java/de/pixart/messenger/ui
parent485609f30cf8771b5594c951029847ee6c0b634e (diff)
show file too large instead of generic delivery failed
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java12
-rw-r--r--src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java17
2 files changed, 25 insertions, 4 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index 4c97fb129..5f61fbf47 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -1837,9 +1837,17 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
private void showErrorMessage(final Message message) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.error_message);
- builder.setMessage(message.getErrorMessage());
+ final String errorMessage = message.getErrorMessage();
+ final String[] errorMessageParts = errorMessage == null ? new String[0] : errorMessage.split("\\u001f");
+ final String displayError;
+ if (errorMessageParts.length == 2) {
+ displayError = errorMessageParts[1];
+ } else {
+ displayError = errorMessage;
+ }
+ builder.setMessage(displayError);
builder.setNegativeButton(R.string.copy_to_clipboard, (dialog, which) -> {
- activity.copyTextToClipboard(message.getErrorMessage(), R.string.error_message);
+ activity.copyTextToClipboard(displayError, R.string.error_message);
Toast.makeText(activity, R.string.error_message_copied_to_clipboard, Toast.LENGTH_SHORT).show();
});
builder.setPositiveButton(R.string.ok, null);
diff --git a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
index 8b93793c3..10eb977a7 100644
--- a/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/pixart/messenger/ui/adapter/MessageAdapter.java
@@ -260,10 +260,23 @@ public class MessageAdapter extends ArrayAdapter<Message> implements CopyTextVie
if (isResendable && file.exists()) {
info = getContext().getString(R.string.send_failed_resend);
} else {
- if (Message.ERROR_MESSAGE_CANCELLED.equals(message.getErrorMessage())) {
+ final String errorMessage = message.getErrorMessage();
+ if (Message.ERROR_MESSAGE_CANCELLED.equals(errorMessage)) {
info = getContext().getString(R.string.cancelled);
} else {
- info = getContext().getString(R.string.send_failed);
+ final String[] errorParts = errorMessage.split("\\u001f", 2);
+ if (errorParts.length == 2) {
+ switch (errorParts[0]) {
+ case "file-too-large":
+ info = getContext().getString(R.string.file_too_large);
+ break;
+ default:
+ info = getContext().getString(R.string.send_failed);
+ break;
+ }
+ } else {
+ info = getContext().getString(R.string.send_failed);
+ }
}
}
error = true;