only explicitly request device list for users not in roster fixups
This commit is contained in:
		
							parent
							
								
									a09d63d9a4
								
							
						
					
					
						commit
						90ace36b18
					
				| 
						 | 
					@ -759,6 +759,7 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
 | 
				
			||||||
							mXmppConnectionService.getAvatarService().clear(conversation);
 | 
												mXmppConnectionService.getAvatarService().clear(conversation);
 | 
				
			||||||
							mXmppConnectionService.updateMucRosterUi();
 | 
												mXmppConnectionService.updateMucRosterUi();
 | 
				
			||||||
							mXmppConnectionService.updateConversationUi();
 | 
												mXmppConnectionService.updateConversationUi();
 | 
				
			||||||
 | 
												Contact contact = user.getContact();
 | 
				
			||||||
							if (!user.getAffiliation().ranks(MucOptions.Affiliation.MEMBER)) {
 | 
												if (!user.getAffiliation().ranks(MucOptions.Affiliation.MEMBER)) {
 | 
				
			||||||
								Jid jid = user.getRealJid();
 | 
													Jid jid = user.getRealJid();
 | 
				
			||||||
								List<Jid> cryptoTargets = conversation.getAcceptedCryptoTargets();
 | 
													List<Jid> cryptoTargets = conversation.getAcceptedCryptoTargets();
 | 
				
			||||||
| 
						 | 
					@ -767,7 +768,11 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
 | 
				
			||||||
									conversation.setAcceptedCryptoTargets(cryptoTargets);
 | 
														conversation.setAcceptedCryptoTargets(cryptoTargets);
 | 
				
			||||||
									mXmppConnectionService.updateConversation(conversation);
 | 
														mXmppConnectionService.updateConversation(conversation);
 | 
				
			||||||
								}
 | 
													}
 | 
				
			||||||
							} else if (isNew && user.getRealJid() != null && account.getAxolotlService().hasEmptyDeviceList(user.getRealJid())) {
 | 
												} else if (isNew
 | 
				
			||||||
 | 
														&& user.getRealJid() != null
 | 
				
			||||||
 | 
														&& conversation.getMucOptions().isPrivateAndNonAnonymous()
 | 
				
			||||||
 | 
														&& (contact == null || !contact.mutualPresenceSubscription())
 | 
				
			||||||
 | 
														&& account.getAxolotlService().hasEmptyDeviceList(user.getRealJid())) {
 | 
				
			||||||
								account.getAxolotlService().fetchDeviceIds(user.getRealJid());
 | 
													account.getAxolotlService().fetchDeviceIds(user.getRealJid());
 | 
				
			||||||
							}
 | 
												}
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,12 @@ public class PresenceParser extends AbstractParser implements
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
						boolean isNew = mucOptions.updateUser(user);
 | 
											boolean isNew = mucOptions.updateUser(user);
 | 
				
			||||||
						final AxolotlService axolotlService = conversation.getAccount().getAxolotlService();
 | 
											final AxolotlService axolotlService = conversation.getAccount().getAxolotlService();
 | 
				
			||||||
						if (isNew && user.getRealJid() != null && mucOptions.isPrivateAndNonAnonymous() && axolotlService.hasEmptyDeviceList(user.getRealJid())) {
 | 
											Contact contact = user.getContact();
 | 
				
			||||||
 | 
											if (isNew
 | 
				
			||||||
 | 
													&& user.getRealJid() != null
 | 
				
			||||||
 | 
													&& mucOptions.isPrivateAndNonAnonymous()
 | 
				
			||||||
 | 
													&& (contact == null || !contact.mutualPresenceSubscription())
 | 
				
			||||||
 | 
													&& axolotlService.hasEmptyDeviceList(user.getRealJid())) {
 | 
				
			||||||
							axolotlService.fetchDeviceIds(user.getRealJid());
 | 
												axolotlService.fetchDeviceIds(user.getRealJid());
 | 
				
			||||||
						}
 | 
											}
 | 
				
			||||||
						if (codes.contains(MucOptions.STATUS_CODE_ROOM_CREATED) && mucOptions.autoPushConfiguration()) {
 | 
											if (codes.contains(MucOptions.STATUS_CODE_ROOM_CREATED) && mucOptions.autoPushConfiguration()) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue