show self messages from other devices as received
This commit is contained in:
		
							parent
							
								
									e3c46dc926
								
							
						
					
					
						commit
						a5256c3e83
					
				| @ -410,12 +410,19 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | |||||||
| 		} | 		} | ||||||
| 		boolean isProperlyAddressed = (to != null) && (!to.isBareJid() || account.countPresences() == 0); | 		boolean isProperlyAddressed = (to != null) && (!to.isBareJid() || account.countPresences() == 0); | ||||||
| 		boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status"); | 		boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status"); | ||||||
|  | 		boolean selfAddressed; | ||||||
| 		if (packet.fromAccount(account)) { | 		if (packet.fromAccount(account)) { | ||||||
| 			status = Message.STATUS_SEND; | 			status = Message.STATUS_SEND; | ||||||
| 			counterpart = to != null ? to : account.getJid(); | 			selfAddressed = to == null || account.getJid().toBareJid().equals(to.toBareJid()); | ||||||
|  | 			if (selfAddressed) { | ||||||
|  | 				counterpart = from; | ||||||
|  | 			} else { | ||||||
|  | 				counterpart = to != null ? to : account.getJid(); | ||||||
|  | 			} | ||||||
| 		} else { | 		} else { | ||||||
| 			status = Message.STATUS_RECEIVED; | 			status = Message.STATUS_RECEIVED; | ||||||
| 			counterpart = from; | 			counterpart = from; | ||||||
|  | 			selfAddressed = false; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		Invite invite = extractInvite(account, packet); | 		Invite invite = extractInvite(account, packet); | ||||||
| @ -431,6 +438,17 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | |||||||
| 				serverMsgId = extractStanzaId(packet, isTypeGroupChat, conversation); | 				serverMsgId = extractStanzaId(packet, isTypeGroupChat, conversation); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 			if (selfAddressed) { | ||||||
|  | 				if (mXmppConnectionService.markMessage(conversation, remoteMsgId, Message.STATUS_SEND_RECEIVED, serverMsgId)) { | ||||||
|  | 					return; | ||||||
|  | 				} | ||||||
|  | 				status = Message.STATUS_RECEIVED; | ||||||
|  | 				if (conversation.findMessageWithRemoteId(remoteMsgId,counterpart) != null) { | ||||||
|  | 					return; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
| 			if (isTypeGroupChat) { | 			if (isTypeGroupChat) { | ||||||
| 				if (conversation.getMucOptions().isSelf(counterpart)) { | 				if (conversation.getMucOptions().isSelf(counterpart)) { | ||||||
| 					status = Message.STATUS_SEND_RECEIVED; | 					status = Message.STATUS_SEND_RECEIVED; | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch