Merge branch 'muc-kicked-technical-reasons' of https://github.com/Zash/Conversations

Stephen Paul Weber created

* 'muc-kicked-technical-reasons' of https://github.com/Zash/Conversations:
  Add handling of status code 333

Change summary

src/main/java/eu/siacs/conversations/entities/MucOptions.java   | 1 
src/main/java/eu/siacs/conversations/parser/PresenceParser.java | 4 ++
2 files changed, 4 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/MucOptions.java 🔗

@@ -34,6 +34,7 @@ public class MucOptions {
     public static final String STATUS_CODE_AFFILIATION_CHANGE = "321";
     public static final String STATUS_CODE_LOST_MEMBERSHIP = "322";
     public static final String STATUS_CODE_SHUTDOWN = "332";
+    public static final String STATUS_CODE_TECHNICAL_REASONS = "333";
     private final Set<User> users = new HashSet<>();
     private final Conversation conversation;
     public OnRenameListener onRenameListener = null;

src/main/java/eu/siacs/conversations/parser/PresenceParser.java 🔗

@@ -143,7 +143,9 @@ public class PresenceParser extends AbstractParser implements
 				} else if (codes.contains(MucOptions.STATUS_CODE_SHUTDOWN) && fullJidMatches) {
 					mucOptions.setError(MucOptions.Error.SHUTDOWN);
 				} else if (codes.contains(MucOptions.STATUS_CODE_SELF_PRESENCE)) {
-					if (codes.contains(MucOptions.STATUS_CODE_KICKED)) {
+					if (codes.contains(MucOptions.STATUS_CODE_TECHNICAL_REASONS)) {
+						mucOptions.setError(MucOptions.Error.UNKNOWN);
+					} else if (codes.contains(MucOptions.STATUS_CODE_KICKED)) {
 						mucOptions.setError(MucOptions.Error.KICKED);
 					} else if (codes.contains(MucOptions.STATUS_CODE_BANNED)) {
 						mucOptions.setError(MucOptions.Error.BANNED);