I am developing Chat application. I have done one to one chat. But I cannot create Group chat because it shows an below error
'MultiUserChat(org.jivesoftware.smack.XMPPConnection, org.jxmpp.jid.EntityBareJid, org.jivesoftware.smackx.muc.MultiUserChatManager)' is not public in 'org.jivesoftware.smackx.muc.MultiUserChat'.
Cannot be accessed from outside package
I have seen some answers about creating groups everyone using multiUserChat = new MultiUserChat(connection,room_name);
to create a Group chat.
But in 4.2.0-beta1 version is not allowing us to access this class.
I have added my code below
public void createGroupChat() {
// Create a MultiUserChat using a Connection for a room
// (room name as the second parameter)
try {
Resourcepart nikname = Resourcepart.from("admin");
MultiUserChat mMultiUserChat = new MultiUserChat(connection, "room@conference.myserver");
mMultiUserChat.create(nikname);
Form form = mMultiUserChat.getConfigurationForm().createAnswerForm();
form.setAnswer("muc#roomconfig_publicroom", true);
form.setAnswer("muc#roomconfig_roomname", "room");
form.setAnswer("muc#roomconfig_roomowners", "owner");
form.setAnswer("muc#roomconfig_persistentroom", true);
mMultiUserChat.sendConfigurationForm(form);
} catch (XmppStringprepException e) {
e.printStackTrace();
} catch (MultiUserChatException.MucAlreadyJoinedException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (MultiUserChatException.MissingMucCreationAcknowledgeException e) {
e.printStackTrace();
} catch (NotConnectedException e) {
e.printStackTrace();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (MultiUserChatException.NotAMucServiceException e) {
e.printStackTrace();
}
}
Can anyone tell me how to create group in Latest smack 4.2.0-beta1 version?
If I asked anything wrong sorry for that.
I Found an answer to create group chat from this below link
https://github.com/igniterealtime/Smack/blob/master/documentation/extensions/muc.md
I have added my new code also. It can be helpful for some of other developers
public void createGroupChat() {
// Create a MultiUserChat using a Connection for a room
// Get the MultiUserChatManager
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
try {
EntityBareJid jid = JidCreate.entityBareFrom("myroom" + "@"
+ context.getString(R.string.serviceNameOld));
// Create a MultiUserChat using an XMPPConnection for a room
MultiUserChat muc = manager.getMultiUserChat(jid);
// Prepare a list of owners of the new room
Set<Jid> owners = JidUtil.jidSetFrom(new String[]{"mathan@example.org", "kumar@example.org"});
// Create the room
Resourcepart nickname = Resourcepart.from("mathan");
muc.create(nickname).getConfigFormManager().setRoomOwners(owners).submitConfigurationForm();
} catch (XmppStringprepException e) {
e.printStackTrace();
} catch (MultiUserChatException.MucAlreadyJoinedException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (MultiUserChatException.MissingMucCreationAcknowledgeException e) {
e.printStackTrace();
} catch (NotConnectedException e) {
e.printStackTrace();
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (MultiUserChatException.NotAMucServiceException e) {
e.printStackTrace();
} catch (MultiUserChatException.MucConfigurationNotSupportedException e) {
e.printStackTrace();
}
}