fixed parsing of muc status messages in new message parser
This commit is contained in:
		
							parent
							
								
									3578263686
								
							
						
					
					
						commit
						46595b6d43
					
				| 
						 | 
					@ -364,8 +364,9 @@ public class MessageParser extends AbstractParser implements
 | 
				
			||||||
				mXmppConnectionService.getNotificationService().push(message);
 | 
									mXmppConnectionService.getNotificationService().push(message);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		} else { //no body
 | 
							} else { //no body
 | 
				
			||||||
			if (packet.hasChild("subject") && isTypeGroupChat) {
 | 
								if (isTypeGroupChat) {
 | 
				
			||||||
				Conversation conversation = mXmppConnectionService.find(account, from.toBareJid());
 | 
									Conversation conversation = mXmppConnectionService.find(account, from.toBareJid());
 | 
				
			||||||
 | 
									if (packet.hasChild("subject")) {
 | 
				
			||||||
					if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
 | 
										if (conversation != null && conversation.getMode() == Conversation.MODE_MULTI) {
 | 
				
			||||||
						conversation.setHasMessagesLeftOnServer(conversation.countMessages() > 0);
 | 
											conversation.setHasMessagesLeftOnServer(conversation.countMessages() > 0);
 | 
				
			||||||
						conversation.getMucOptions().setSubject(packet.findChildContent("subject"));
 | 
											conversation.getMucOptions().setSubject(packet.findChildContent("subject"));
 | 
				
			||||||
| 
						 | 
					@ -373,6 +374,17 @@ public class MessageParser extends AbstractParser implements
 | 
				
			||||||
						return;
 | 
											return;
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									final Element x = packet.findChild("x", "http://jabber.org/protocol/muc#user");
 | 
				
			||||||
 | 
									if (conversation != null && x != null && from.isBareJid()) {
 | 
				
			||||||
 | 
										for (Element child : x.getChildren()) {
 | 
				
			||||||
 | 
											if (child.getName().equals("status")
 | 
				
			||||||
 | 
													&& MucOptions.STATUS_CODE_ROOM_CONFIG_CHANGED.equals(child.getAttribute("code"))) {
 | 
				
			||||||
 | 
												mXmppConnectionService.fetchConferenceConfiguration(conversation);
 | 
				
			||||||
 | 
											}
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Element received = packet.findChild("received", "urn:xmpp:chat-markers:0");
 | 
							Element received = packet.findChild("received", "urn:xmpp:chat-markers:0");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue