fixup for pep omemo notification dedup

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java  | 10 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java |  2 
2 files changed, 7 insertions(+), 5 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/crypto/axolotl/AxolotlService.java 🔗

@@ -391,11 +391,13 @@ public class AxolotlService implements OnAdvancedStreamFeaturesLoaded {
 	public void registerDevices(final Jid jid, @NonNull final Set<Integer> deviceIds) {
 		final int hash = deviceIds.hashCode();
 		final boolean me = jid.toBareJid().equals(account.getJid().toBareJid());
-		if (me && hash == this.lastDeviceListNotificationHash) {
-			Log.d(Config.LOGTAG,account.getJid().toBareJid()+": ignoring duplicate own device id list");
-			return;
+		if (me) {
+			if (hash == this.lastDeviceListNotificationHash) {
+				Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": ignoring duplicate own device id list");
+				return;
+			}
+			this.lastDeviceListNotificationHash = hash;
 		}
-		this.lastDeviceListNotificationHash = hash;
 		boolean needsPublishing = me && !deviceIds.contains(getOwnDeviceId());
 		if (me) {
 			deviceIds.remove(getOwnDeviceId());

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -1250,7 +1250,7 @@ public class XmppConnectionService extends Service {
 					if (!message.needsUploading()) {
 						String pgpBody = message.getEncryptedBody();
 						String decryptedBody = message.getBody();
-						message.setBody(pgpBody);
+						message.setBody(pgpBody); //TODO might throw NPE
 						message.setEncryption(Message.ENCRYPTION_PGP);
 						if (message.edited()) {
 							message.setBody(decryptedBody);