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.java30
1 files changed, 19 insertions, 11 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 e49575f6..9a501b89 100644
--- a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java
@@ -496,14 +496,31 @@ public class MessageAdapter extends ArrayAdapter<Message> {
private void displayFileMessage(final Message message, ViewHolder viewHolder) {
Transferable transferable = message.getTransferable();
- if (null != transferable) {
+ 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.DELETED == message.getFileParams().getFileStatus()
+ || FileStatus.DELETING == message.getFileParams().getFileStatus()
+ || FileStatus.DELETE_FAILED == message.getFileParams().getFileStatus()
+ || FileStatus.UPLOADED == message.getFileParams().getFileStatus()) {
+ 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:
case Transferable.STATUS_OFFER_CHECK_FILESIZE:
displayDownloadableMessage(viewHolder, message);
break;
case Transferable.STATUS_UPLOADING:
- displayFileMessage(message, viewHolder);
+ // Should not happen, since this is now covered by the other if-statements
+ // TODO Maybe in Jingle File Transfer?? Needs to be checked!
break;
case Transferable.STATUS_DELETED:
case Transferable.STATUS_CHECKING:
@@ -513,15 +530,6 @@ public class MessageAdapter extends ArrayAdapter<Message> {
displayInfoMessage(viewHolder, UIHelper.getMessagePreview(activity, message).first);
break;
}
- } else 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()) {
- 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 {
displayDownloadableMessage(viewHolder, message);
}