I'm creating an app using Linphone. I'm creating a new LinphoneChatRoom using this code:
public void createNewChatRoom(String destination, String name)
{
LinphoneChatRoom[] rooms = core.getChatRooms();
for (LinphoneChatRoom room : rooms)
{
Log.d("name1: " + room.getPeerAddress().getDisplayName());
}
LinphoneChatRoom room = core.getOrCreateChatRoom(destination);
if (room != null)
{
room.getPeerAddress().setDisplayName(name);
}
rooms = core.getChatRooms();
for (LinphoneChatRoom room2 : rooms)
{
Log.d("name2: " + room2.getPeerAddress().getDisplayName());
}
}
During the first iteration on the rooms (name1 iteration) all of the display names I'm getting are null. At the second iteration over the rooms (name2 iteration), There is indeed a new room that was added and the array is +1 in size, but again, all the display names are null even though I just set it. Why is this happening?
After searching for a while I have found that you will only get a displayName if the SIP address used to create the chatRoom contains one.
My problem was I didn't set the displayName when creating the chatRoom, but set it on a variable I got once it has been created (and not on the chatRoom itself).
Here's how to do that: