Fix display of moderated images

Stephen Paul Weber created

Was messed up by removing the delete file display path

Change summary

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java | 2 
src/main/java/eu/siacs/conversations/utils/UIHelper.java            | 7 
2 files changed, 5 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java 🔗

@@ -1072,7 +1072,7 @@ public class MessageAdapter extends ArrayAdapter<Message> {
         final Transferable transferable = message.getTransferable();
         final boolean unInitiatedButKnownSize = MessageUtils.unInitiatedButKnownSize(message);
         if (unInitiatedButKnownSize || message.isDeleted() || (transferable != null && transferable.getStatus() != Transferable.STATUS_UPLOADING)) {
-            if (unInitiatedButKnownSize || message.isDeleted() || transferable != null && transferable.getStatus() == Transferable.STATUS_OFFER) {
+            if (unInitiatedButKnownSize || (message.isDeleted() && message.getModerated() == null) || transferable != null && transferable.getStatus() == Transferable.STATUS_OFFER) {
                 displayDownloadableMessage(viewHolder, message, activity.getString(R.string.download_x_file, UIHelper.getFileDescriptionString(activity, message)), darkBackground, type);
             } else if (transferable != null && transferable.getStatus() == Transferable.STATUS_OFFER_CHECK_FILESIZE) {
                 displayDownloadableMessage(viewHolder, message, activity.getString(R.string.check_x_filesize, UIHelper.getFileDescriptionString(activity, message)), darkBackground, type);

src/main/java/eu/siacs/conversations/utils/UIHelper.java 🔗

@@ -274,7 +274,8 @@ public class UIHelper {
 
     public static Pair<CharSequence, Boolean> getMessagePreview(final Context context, final Message message, @ColorInt int textColor) {
         final Transferable d = message.getTransferable();
-        if (d != null) {
+        final boolean moderated = message.getModerated() != null;
+        if (d != null && !moderated) {
             switch (d.getStatus()) {
                 case Transferable.STATUS_CHECKING:
                     return new Pair<>(context.getString(R.string.checking_x,
@@ -310,7 +311,7 @@ public class UIHelper {
             return new Pair<>(context.getString(R.string.not_encrypted_for_this_device), true);
         } else if (message.getEncryption() == Message.ENCRYPTION_AXOLOTL_FAILED) {
             return new Pair<>(context.getString(R.string.omemo_decryption_failed), true);
-        } else if (message.isFileOrImage()) {
+        } else if (message.isFileOrImage() && !moderated) {
             return new Pair<>(getFileDescriptionString(context, message), true);
         } else if (message.getType() == Message.TYPE_RTP_SESSION) {
             RtpSessionStatus rtpSessionStatus = RtpSessionStatus.of(message.getBody());
@@ -327,7 +328,7 @@ public class UIHelper {
                         UIHelper.getMessageDisplayName(message) + " "), false);
             } else if (message.isGeoUri()) {
                 return new Pair<>(context.getString(R.string.location), true);
-            } else if (message.treatAsDownloadable() || MessageUtils.unInitiatedButKnownSize(message)) {
+            } else if (!moderated && (message.treatAsDownloadable() || MessageUtils.unInitiatedButKnownSize(message))) {
                 return new Pair<>(context.getString(R.string.x_file_offered_for_download,
                         getFileDescriptionString(context, message)), true);
             } else {