reformat
This commit is contained in:
		
							parent
							
								
									fe8f0bd7f0
								
							
						
					
					
						commit
						ecedda8613
					
				| @ -39,10 +39,43 @@ import rocks.xmpp.addr.Jid; | ||||
| 
 | ||||
| public class MessageParser extends AbstractParser implements OnMessagePacketReceived { | ||||
| 
 | ||||
| 	private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH); | ||||
| 
 | ||||
| 	public MessageParser(XmppConnectionService service) { | ||||
| 		super(service); | ||||
| 	} | ||||
| 
 | ||||
| 	private static String extractStanzaId(Element packet, boolean isTypeGroupChat, Conversation conversation) { | ||||
| 		final Jid by; | ||||
| 		final boolean safeToExtract; | ||||
| 		if (isTypeGroupChat) { | ||||
| 			by = conversation.getJid().asBareJid(); | ||||
| 			safeToExtract = conversation.getMucOptions().hasFeature(Namespace.STANZA_IDS); | ||||
| 		} else { | ||||
| 			Account account = conversation.getAccount(); | ||||
| 			by = account.getJid().asBareJid(); | ||||
| 			safeToExtract = account.getXmppConnection().getFeatures().stanzaIds(); | ||||
| 		} | ||||
| 		return safeToExtract ? extractStanzaId(packet, by) : null; | ||||
| 	} | ||||
| 
 | ||||
| 	private static String extractStanzaId(Element packet, Jid by) { | ||||
| 		for (Element child : packet.getChildren()) { | ||||
| 			if (child.getName().equals("stanza-id") | ||||
| 					&& Namespace.STANZA_IDS.equals(child.getNamespace()) | ||||
| 					&& by.equals(child.getAttributeAsJid("by"))) { | ||||
| 				return child.getAttribute("id"); | ||||
| 			} | ||||
| 		} | ||||
| 		return null; | ||||
| 	} | ||||
| 
 | ||||
| 	private static Jid getTrueCounterpart(Element mucUserElement, Jid fallback) { | ||||
| 		final Element item = mucUserElement == null ? null : mucUserElement.findChild("item"); | ||||
| 		Jid result = item == null ? null : item.getAttributeAsJid("jid"); | ||||
| 		return result != null ? result : fallback; | ||||
| 	} | ||||
| 
 | ||||
| 	private boolean extractChatState(Conversation c, final boolean isTypeGroupChat, final MessagePacket packet) { | ||||
| 		ChatState state = ChatState.parse(packet); | ||||
| 		if (state != null && c != null) { | ||||
| @ -95,32 +128,6 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | ||||
| 		return null; | ||||
| 	} | ||||
| 
 | ||||
| 	private class Invite { | ||||
| 		final Jid jid; | ||||
| 		final String password; | ||||
| 		final Contact inviter; | ||||
| 
 | ||||
| 		Invite(Jid jid, String password, Contact inviter) { | ||||
| 			this.jid = jid; | ||||
| 			this.password = password; | ||||
| 			this.inviter = inviter; | ||||
| 		} | ||||
| 
 | ||||
| 		public boolean execute(Account account) { | ||||
| 			if (jid != null) { | ||||
| 				Conversation conversation = mXmppConnectionService.findOrCreateConversation(account, jid, true, false); | ||||
| 				if (!conversation.getMucOptions().online()) { | ||||
| 					conversation.getMucOptions().setPassword(password); | ||||
| 					mXmppConnectionService.databaseBackend.updateConversation(conversation); | ||||
| 					mXmppConnectionService.joinMuc(conversation, inviter != null && inviter.mutualPresenceSubscription()); | ||||
| 					mXmppConnectionService.updateConversationUi(); | ||||
| 				} | ||||
| 				return true; | ||||
| 			} | ||||
| 			return false; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	private Invite extractInvite(Account account, Element message) { | ||||
| 		Element x = message.findChild("x", "http://jabber.org/protocol/muc#user"); | ||||
| 		if (x != null) { | ||||
| @ -142,31 +149,6 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | ||||
| 		return null; | ||||
| 	} | ||||
| 
 | ||||
| 	private static String extractStanzaId(Element packet, boolean isTypeGroupChat, Conversation conversation) { | ||||
| 		final Jid by; | ||||
| 		final boolean safeToExtract; | ||||
| 		if (isTypeGroupChat) { | ||||
| 			by = conversation.getJid().asBareJid(); | ||||
| 			safeToExtract = conversation.getMucOptions().hasFeature(Namespace.STANZA_IDS); | ||||
| 		} else { | ||||
| 			Account account = conversation.getAccount(); | ||||
| 			by = account.getJid().asBareJid(); | ||||
| 			safeToExtract = account.getXmppConnection().getFeatures().stanzaIds(); | ||||
| 		} | ||||
| 		return safeToExtract ? extractStanzaId(packet, by) : null; | ||||
| 	} | ||||
| 
 | ||||
| 	private static String extractStanzaId(Element packet, Jid by) { | ||||
| 		for (Element child : packet.getChildren()) { | ||||
| 			if (child.getName().equals("stanza-id") | ||||
| 					&& Namespace.STANZA_IDS.equals(child.getNamespace()) | ||||
| 					&& by.equals(child.getAttributeAsJid("by"))) { | ||||
| 				return child.getAttribute("id"); | ||||
| 			} | ||||
| 		} | ||||
| 		return null; | ||||
| 	} | ||||
| 
 | ||||
| 	private void parseEvent(final Element event, final Jid from, final Account account) { | ||||
| 		Element items = event.findChild("items"); | ||||
| 		String node = items == null ? null : items.getAttribute("node"); | ||||
| @ -761,12 +743,6 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	private static Jid getTrueCounterpart(Element mucUserElement, Jid fallback) { | ||||
| 		final Element item = mucUserElement == null ? null : mucUserElement.findChild("item"); | ||||
| 		Jid result = item == null ? null : item.getAttributeAsJid("jid"); | ||||
| 		return result != null ? result : fallback; | ||||
| 	} | ||||
| 
 | ||||
| 	private void processMessageReceipts(Account account, MessagePacket packet, MessageArchiveService.Query query) { | ||||
| 		final boolean markable = packet.hasChild("markable", "urn:xmpp:chat-markers:0"); | ||||
| 		final boolean request = packet.hasChild("request", "urn:xmpp:receipts"); | ||||
| @ -792,11 +768,35 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH); | ||||
| 
 | ||||
| 	private void activateGracePeriod(Account account) { | ||||
| 		long duration = mXmppConnectionService.getLongPreference("grace_period_length", R.integer.grace_period) * 1000; | ||||
| 		Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": activating grace period till " + TIME_FORMAT.format(new Date(System.currentTimeMillis() + duration))); | ||||
| 		account.activateGracePeriod(duration); | ||||
| 	} | ||||
| 
 | ||||
| 	private class Invite { | ||||
| 		final Jid jid; | ||||
| 		final String password; | ||||
| 		final Contact inviter; | ||||
| 
 | ||||
| 		Invite(Jid jid, String password, Contact inviter) { | ||||
| 			this.jid = jid; | ||||
| 			this.password = password; | ||||
| 			this.inviter = inviter; | ||||
| 		} | ||||
| 
 | ||||
| 		public boolean execute(Account account) { | ||||
| 			if (jid != null) { | ||||
| 				Conversation conversation = mXmppConnectionService.findOrCreateConversation(account, jid, true, false); | ||||
| 				if (!conversation.getMucOptions().online()) { | ||||
| 					conversation.getMucOptions().setPassword(password); | ||||
| 					mXmppConnectionService.databaseBackend.updateConversation(conversation); | ||||
| 					mXmppConnectionService.joinMuc(conversation, inviter != null && inviter.mutualPresenceSubscription()); | ||||
| 					mXmppConnectionService.updateConversationUi(); | ||||
| 				} | ||||
| 				return true; | ||||
| 			} | ||||
| 			return false; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch