don't simply ignore null in message body but try to avoid it

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java | 6 
src/main/java/eu/siacs/conversations/entities/Message.java            | 5 
src/main/java/eu/siacs/conversations/utils/UIHelper.java              | 4 
3 files changed, 10 insertions(+), 5 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/crypto/PgpDecryptionService.java 🔗

@@ -115,7 +115,11 @@ public class PgpDecryptionService {
                     case OpenPgpApi.RESULT_CODE_SUCCESS:
                         try {
                             os.flush();
-                            message.setBody(os.toString());
+                            final String body = os.toString();
+                            if (body == null) {
+                                throw new IOException("body was null");
+                            }
+                            message.setBody(body);
                             message.setEncryption(Message.ENCRYPTION_DECRYPTED);
                             final HttpConnectionManager manager = mXmppConnectionService.getHttpConnectionManager();
                             if (message.trusted()

src/main/java/eu/siacs/conversations/entities/Message.java 🔗

@@ -124,7 +124,7 @@ public class Message extends AbstractEntity {
 		this.conversationUuid = conversationUUid;
 		this.counterpart = counterpart;
 		this.trueCounterpart = trueCounterpart;
-		this.body = body;
+		this.body = body == null ? "" : body;
 		this.timeSent = timeSent;
 		this.encryption = encryption;
 		this.status = status;
@@ -266,6 +266,9 @@ public class Message extends AbstractEntity {
 	}
 
 	public void setBody(String body) {
+		if (body == null) {
+			throw new Error("You should not set the message body to null");
+		}
 		this.body = body;
 	}
 

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

@@ -181,9 +181,7 @@ public class UIHelper {
 			}
 		} else {
 			String body = message.getBody();
-			if (body == null) {
-				body = "";
-			} else if (body.length() > 256) {
+			if (body.length() > 256) {
 				body = body.substring(0,256);
 			}
 			if (body.startsWith(Message.ME_COMMAND)) {