show server not found muc error

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/entities/MucOptions.java            | 1 
src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 8 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java        | 3 
src/main/res/values/strings.xml                                          | 1 
4 files changed, 11 insertions(+), 2 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -2028,8 +2028,12 @@ public class XmppConnectionService extends Service {
 
 				@Override
 				public void onFetchFailed(final Conversation conversation, Element error) {
-					join(conversation);
-					fetchConferenceConfiguration(conversation);
+					if (error != null && "remote-server-not-found".equals(error.getName())) {
+						conversation.getMucOptions().setError(MucOptions.Error.SEVRER_NOT_FOUND);
+					} else {
+						join(conversation);
+						fetchConferenceConfiguration(conversation);
+					}
 				}
 			});
 			updateConversationUi();

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -865,6 +865,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa
 				case NO_RESPONSE:
 					showSnackbar(R.string.joining_conference, 0, null);
 					break;
+				case SEVRER_NOT_FOUND:
+					showSnackbar(R.string.remote_server_not_found,R.string.leave, leaveMuc);
+					break;
 				case PASSWORD_REQUIRED:
 					showSnackbar(R.string.conference_requires_password, R.string.enter_password, enterPassword);
 					break;

src/main/res/values/strings.xml 🔗

@@ -680,4 +680,5 @@
 	<string name="contact_asks_for_presence_subscription">Contact asks for presence subscription</string>
 	<string name="allow">Allow</string>
 	<string name="no_permission_to_access_x">No permission to access %s</string>
+	<string name="remote_server_not_found">Remote server not found</string>
 </resources>