[muc] Also process destory message if it contains <status/>

Fixes SMACK-915
This commit is contained in:
Дамян Минков 2021-10-12 13:06:05 -07:00
parent ec456399b5
commit 820adf8865
1 changed files with 14 additions and 13 deletions

View File

@ -259,23 +259,24 @@ public class MultiUserChat {
listener.left(from); listener.left(from);
} }
} }
}
Destroy destroy = mucUser.getDestroy(); Destroy destroy = mucUser.getDestroy();
// The room has been destroyed. // The room has been destroyed.
if (destroy != null) { if (destroy != null) {
EntityBareJid alternateMucJid = destroy.getJid(); EntityBareJid alternateMucJid = destroy.getJid();
final MultiUserChat alternateMuc; final MultiUserChat alternateMuc;
if (alternateMucJid == null) { if (alternateMucJid == null) {
alternateMuc = null; alternateMuc = null;
} else { } else {
alternateMuc = multiUserChatManager.getMultiUserChat(alternateMucJid); alternateMuc = multiUserChatManager.getMultiUserChat(alternateMucJid);
} }
for (UserStatusListener listener : userStatusListeners) { for (UserStatusListener listener : userStatusListeners) {
listener.roomDestroyed(alternateMuc, destroy.getReason()); listener.roomDestroyed(alternateMuc, destroy.getReason());
}
} }
} }
if (isUserStatusModification) { if (isUserStatusModification) {
for (UserStatusListener listener : userStatusListeners) { for (UserStatusListener listener : userStatusListeners) {
listener.removed(mucUser, presence); listener.removed(mucUser, presence);