aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
index 0b544581..96b5954e 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
@@ -49,6 +49,7 @@ import de.thedevstack.conversationsplus.persistance.FileBackend;
import de.thedevstack.conversationsplus.providers.ConversationsPlusFileProvider;
import de.thedevstack.conversationsplus.services.avatar.AvatarCache;
import de.thedevstack.conversationsplus.services.avatar.AvatarService;
+import de.thedevstack.conversationsplus.services.filetransfer.FileTransferStatusEnum;
import de.thedevstack.conversationsplus.services.filetransfer.http.download.AutomaticFileDownload;
import de.thedevstack.conversationsplus.ui.ConversationActivity;
import de.thedevstack.conversationsplus.utils.CryptoHelper;
@@ -182,6 +183,10 @@ public class MessageAdapter extends ArrayAdapter<Message> {
info = getContext().getString(R.string.send_failed);
error = true;
break;
+ case Message.STATUS_SEND_CANCELED:
+ info = getContext().getString(R.string.send_canceled);
+ error = true;
+ break;
default:
if (multiReceived) {
info = UIHelper.getMessageDisplayName(message);
@@ -251,7 +256,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
if (message.hasFileAttached() && null != message.getFileParams() && null != viewHolder.remoteFileStatus) {
FileStatus fileStatus = message.getFileParams().getFileStatus();
if (fileStatus == FileStatus.DELETE_FAILED || fileStatus == FileStatus.DELETED || fileStatus == FileStatus.DELETING || fileStatus == FileStatus.NOT_FOUND) {
- viewHolder.remoteFileStatus.setVisibility(View.VISIBLE);
+ TextViewUtil.visible(viewHolder.remoteFileStatus);
switch (fileStatus) {
case DELETE_FAILED:
TextViewUtil.setColor(viewHolder.remoteFileStatus, R.color.error);
@@ -268,6 +273,8 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.remoteFileStatus.setText(R.string.remote_filestatus_not_found);
break;
}
+ } else {
+ TextViewUtil.gone(viewHolder.remoteFileStatus);
}
}
}
@@ -527,19 +534,22 @@ public class MessageAdapter extends ArrayAdapter<Message> {
if (FileStatus.CHECKING_FILE_SIZE == message.getFileParams().getFileStatus()) {
displayInfoMessage(viewHolder, activity.getString(R.string.checking_remote_filesize));
} else if (MessageUtil.isAttachedFileAnImage(message)
- && (FileStatus.DOWNLOADED == message.getFileParams().getFileStatus())
+ && (FileStatus.DOWNLOADED == message.getFileParams().getFileStatus()
|| FileStatus.DELETED == message.getFileParams().getFileStatus()
|| FileStatus.DELETING == message.getFileParams().getFileStatus()
|| FileStatus.DELETE_FAILED == message.getFileParams().getFileStatus()
- || FileStatus.UPLOADED == message.getFileParams().getFileStatus()) {
+ || FileStatus.NEEDS_UPLOAD == message.getFileParams().getFileStatus()
+ || FileStatus.UPLOADED == message.getFileParams().getFileStatus()
+ || FileStatus.UPLOAD_FAILED == message.getFileParams().getFileStatus()
+ || (null != transferable
+ && (transferable.isCanceled()
+ || Transferable.STATUS_UPLOADING == transferable.getStatus())))) {
displayImageMessage(viewHolder, message);
} else if ((MessageUtil.isTypeFileAndDecrypted(message) || FileStatus.DOWNLOADED == message.getFileParams().getFileStatus())
&& !MessageUtil.needsDownload(message)) {
displayOpenableMessage(viewHolder, message);
} else if (Message.Decision.NEVER == message.treatAsDownloadable() || !MessageUtil.mayFileRemoteAvailable(message)) {
displayTextMessage(viewHolder, message);
- } else if (FileStatus.UPLOAD_FAILED == message.getFileParams().getFileStatus()) {
- displayImageMessage(viewHolder, message); // TODO Show failed status
} else if (null != transferable) {
switch (transferable.getStatus()) {
case Transferable.STATUS_OFFER:
@@ -648,7 +658,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
viewHolder.contact_picture = ViewUtil.visible(view, R.id.message_photo);
viewHolder.status_message = TextViewUtil.visible(view, R.id.status_message);
}
- if (SENT == type) {
+ if (SENT == type) { // This field is only useful for sent messages -> because of deletion of own files -> maybe a use case for recvd possible
viewHolder.remoteFileStatus = TextViewUtil.gone(view, R.id.remote_file_status);
}
view.setTag(viewHolder);