Use OneToOne capability instead of participants count and dummy chatroom subject
This commit is contained in:
parent
00721dc10d
commit
7b0c5d7ee6
3 changed files with 9 additions and 6 deletions
|
@ -90,6 +90,7 @@ import org.linphone.core.CallParams;
|
||||||
import org.linphone.core.CallStats;
|
import org.linphone.core.CallStats;
|
||||||
import org.linphone.core.ChatMessage;
|
import org.linphone.core.ChatMessage;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
|
import org.linphone.core.ChatRoomCapabilities;
|
||||||
import org.linphone.core.Content;
|
import org.linphone.core.Content;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
import org.linphone.core.Core.AuthMethod;
|
import org.linphone.core.Core.AuthMethod;
|
||||||
|
@ -1066,7 +1067,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
|
||||||
String textMessage = (message.getFileTransferInformation() != null) ? getString(R.string.content_description_incoming_file) : message.getText();
|
String textMessage = (message.getFileTransferInformation() != null) ? getString(R.string.content_description_incoming_file) : message.getText();
|
||||||
|
|
||||||
if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat_message_notification)) {
|
if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat_message_notification)) {
|
||||||
if (!cr.canHandleParticipants() || (cr.getNbParticipants() == 1 && getString(R.string.dummy_group_chat_subject).equals(cr.getSubject()))) {
|
if ((cr.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneService.instance().displayMessageNotification(cr.getPeerAddress().asStringUriOnly(), contact.getFullName(), contact.getThumbnailUri(), textMessage);
|
LinphoneService.instance().displayMessageNotification(cr.getPeerAddress().asStringUriOnly(), contact.getFullName(), contact.getThumbnailUri(), textMessage);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -39,6 +39,7 @@ import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.ChatMessage;
|
import org.linphone.core.ChatMessage;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
|
import org.linphone.core.ChatRoomCapabilities;
|
||||||
import org.linphone.core.EventLog;
|
import org.linphone.core.EventLog;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.ListSelectionAdapter;
|
import org.linphone.ui.ListSelectionAdapter;
|
||||||
|
@ -137,7 +138,7 @@ public class ChatRoomsAdapter extends ListSelectionAdapter {
|
||||||
ChatRoom chatRoom = mRooms.get(position);
|
ChatRoom chatRoom = mRooms.get(position);
|
||||||
Address remoteAddress = chatRoom.getPeerAddress();
|
Address remoteAddress = chatRoom.getPeerAddress();
|
||||||
Address contactAddress = remoteAddress;
|
Address contactAddress = remoteAddress;
|
||||||
if (chatRoom.getNbParticipants() == 1 && mContext.getString(R.string.dummy_group_chat_subject).equals(chatRoom.getSubject())) {
|
if ((chatRoom.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
contactAddress = chatRoom.getParticipants()[0].getAddress();
|
contactAddress = chatRoom.getParticipants()[0].getAddress();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +176,7 @@ public class ChatRoomsAdapter extends ListSelectionAdapter {
|
||||||
} else {
|
} else {
|
||||||
holder.displayName.setText(LinphoneUtils.getAddressDisplayName(contactAddress));
|
holder.displayName.setText(LinphoneUtils.getAddressDisplayName(contactAddress));
|
||||||
}
|
}
|
||||||
} else if (chatRoom.getNbParticipants() == 1 && mContext.getString(R.string.dummy_group_chat_subject).equals(chatRoom.getSubject())) {
|
} else if ((chatRoom.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
contact = ContactsManager.getInstance().findContactFromAddress(chatRoom.getParticipants()[0].getAddress());
|
contact = ContactsManager.getInstance().findContactFromAddress(chatRoom.getParticipants()[0].getAddress());
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
holder.displayName.setText(contact.getFullName());
|
holder.displayName.setText(contact.getFullName());
|
||||||
|
|
|
@ -57,6 +57,7 @@ import org.linphone.contacts.LinphoneContact;
|
||||||
import org.linphone.core.Address;
|
import org.linphone.core.Address;
|
||||||
import org.linphone.core.ChatMessage;
|
import org.linphone.core.ChatMessage;
|
||||||
import org.linphone.core.ChatRoom;
|
import org.linphone.core.ChatRoom;
|
||||||
|
import org.linphone.core.ChatRoomCapabilities;
|
||||||
import org.linphone.core.ChatRoomListener;
|
import org.linphone.core.ChatRoomListener;
|
||||||
import org.linphone.core.Content;
|
import org.linphone.core.Content;
|
||||||
import org.linphone.core.Core;
|
import org.linphone.core.Core;
|
||||||
|
@ -330,7 +331,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
|
|
||||||
private void getContactsForParticipants() {
|
private void getContactsForParticipants() {
|
||||||
mParticipants = new ArrayList<>();
|
mParticipants = new ArrayList<>();
|
||||||
if (!mChatRoom.canHandleParticipants() || (mChatRoom.getNbParticipants() == 1 && getString(R.string.dummy_group_chat_subject).equals(mChatRoom.getSubject()))) {
|
if ((mChatRoom.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
LinphoneContact c = ContactsManager.getInstance().findContactFromAddress(mRemoteParticipantAddress);
|
LinphoneContact c = ContactsManager.getInstance().findContactFromAddress(mRemoteParticipantAddress);
|
||||||
if (c != null) {
|
if (c != null) {
|
||||||
mParticipants.add(c);
|
mParticipants.add(c);
|
||||||
|
@ -376,7 +377,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
LinphoneActivity.instance().updateMissedChatCount();
|
LinphoneActivity.instance().updateMissedChatCount();
|
||||||
|
|
||||||
mRemoteParticipantAddress = mRemoteSipAddress;
|
mRemoteParticipantAddress = mRemoteSipAddress;
|
||||||
if (mChatRoom.getNbParticipants() == 1 && getString(R.string.dummy_group_chat_subject).equals(mChatRoom.getSubject())) {
|
if ((mChatRoom.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
mRemoteParticipantAddress = mChatRoom.getParticipants()[0].getAddress();
|
mRemoteParticipantAddress = mChatRoom.getParticipants()[0].getAddress();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,7 +394,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
mBackToCallButton.setVisibility(View.VISIBLE);
|
mBackToCallButton.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
mBackToCallButton.setVisibility(View.GONE);
|
mBackToCallButton.setVisibility(View.GONE);
|
||||||
if (!mChatRoom.canHandleParticipants() || (mChatRoom.getNbParticipants() == 1 && getString(R.string.dummy_group_chat_subject).equals(mChatRoom.getSubject()))) {
|
if ((mChatRoom.getCapabilities() & ChatRoomCapabilities.OneToOne.toInt()) == ChatRoomCapabilities.OneToOne.toInt()) {
|
||||||
mCallButton.setVisibility(View.VISIBLE);
|
mCallButton.setVisibility(View.VISIBLE);
|
||||||
mGroupInfosButton.setVisibility(View.GONE);
|
mGroupInfosButton.setVisibility(View.GONE);
|
||||||
mParticipantsLabel.setVisibility(View.GONE);
|
mParticipantsLabel.setVisibility(View.GONE);
|
||||||
|
|
Loading…
Reference in a new issue