Fixed issue when using two or more accounts and have 2 basic chat rooms with the same person, can't go to one of the two no matter which one is clicked
This commit is contained in:
parent
6a2a652957
commit
4c4ad79fd6
10 changed files with 56 additions and 35 deletions
|
@ -1079,16 +1079,16 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
|
||||||
if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat_message_notification) && !message.isOutgoing()) {
|
if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat_message_notification) && !message.isOutgoing()) {
|
||||||
if (cr.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) {
|
if (cr.hasCapability(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, cr.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
LinphoneService.instance().displayMessageNotification(cr.getPeerAddress().asStringUriOnly(), from.getUsername(), null, textMessage);
|
LinphoneService.instance().displayMessageNotification(cr.getPeerAddress().asStringUriOnly(), from.getUsername(), null, textMessage, cr.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
String subject = cr.getSubject();
|
String subject = cr.getSubject();
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), contact.getFullName(), contact.getThumbnailUri(), textMessage);
|
LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), contact.getFullName(), contact.getThumbnailUri(), textMessage, cr.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), from.getUsername(), null, textMessage);
|
LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), from.getUsername(), null, textMessage, cr.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -624,10 +624,11 @@ public final class LinphoneService extends Service {
|
||||||
notifyWrapper(CUSTOM_NOTIF_ID, mCustomNotif);
|
notifyWrapper(CUSTOM_NOTIF_ID, mCustomNotif);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void displayGroupChatMessageNotification(String subject, String conferenceAddress, String fromName, Uri fromPictureUri, String message) {
|
public void displayGroupChatMessageNotification(String subject, String conferenceAddress, String fromName, Uri fromPictureUri, String message, String localIdentity) {
|
||||||
Intent notifIntent = new Intent(this, LinphoneActivity.class);
|
Intent notifIntent = new Intent(this, LinphoneActivity.class);
|
||||||
notifIntent.putExtra("GoToChat", true);
|
notifIntent.putExtra("GoToChat", true);
|
||||||
notifIntent.putExtra("ChatContactSipUri", conferenceAddress);
|
notifIntent.putExtra("ChatContactSipUri", conferenceAddress);
|
||||||
|
notifIntent.putExtra("LocalIdentity", localIdentity);
|
||||||
|
|
||||||
PendingIntent notifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent notifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
|
@ -658,11 +659,11 @@ public final class LinphoneService extends Service {
|
||||||
notifyWrapper(notif.notificationId, notification);
|
notifyWrapper(notif.notificationId, notification);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void displayMessageNotification(String fromSipUri, String fromName, Uri fromPictureUri, String message) {
|
public void displayMessageNotification(String fromSipUri, String fromName, Uri fromPictureUri, String message, String localIdentity) {
|
||||||
Intent notifIntent = new Intent(this, LinphoneActivity.class);
|
Intent notifIntent = new Intent(this, LinphoneActivity.class);
|
||||||
notifIntent.putExtra("GoToChat", true);
|
notifIntent.putExtra("GoToChat", true);
|
||||||
notifIntent.putExtra("ChatContactSipUri", fromSipUri);
|
notifIntent.putExtra("ChatContactSipUri", fromSipUri);
|
||||||
|
notifIntent.putExtra("LocalIdentity", localIdentity);
|
||||||
PendingIntent notifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
PendingIntent notifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
if (fromName == null) {
|
if (fromName == null) {
|
||||||
|
|
|
@ -125,7 +125,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
private static final int CALL_ACTIVITY = 19;
|
private static final int CALL_ACTIVITY = 19;
|
||||||
private static final int PERMISSIONS_REQUEST_OVERLAY = 206;
|
private static final int PERMISSIONS_REQUEST_OVERLAY = 206;
|
||||||
private static final int PERMISSIONS_REQUEST_SYNC = 207;
|
private static final int PERMISSIONS_REQUEST_SYNC = 207;
|
||||||
private static final int PERMISSIONS_REQUEST_CONTACTS = 208;
|
|
||||||
private static final int PERMISSIONS_RECORD_AUDIO_ECHO_CANCELLER = 209;
|
private static final int PERMISSIONS_RECORD_AUDIO_ECHO_CANCELLER = 209;
|
||||||
private static final int PERMISSIONS_READ_EXTERNAL_STORAGE_DEVICE_RINGTONE = 210;
|
private static final int PERMISSIONS_READ_EXTERNAL_STORAGE_DEVICE_RINGTONE = 210;
|
||||||
private static final int PERMISSIONS_RECORD_AUDIO_ECHO_TESTER = 211;
|
private static final int PERMISSIONS_RECORD_AUDIO_ECHO_TESTER = 211;
|
||||||
|
@ -699,9 +698,10 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
changeCurrentFragment(FragmentsAvailable.CREATE_CHAT, extras);
|
changeCurrentFragment(FragmentsAvailable.CREATE_CHAT, extras);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void goToChat(String sipUri, Bundle shareInfos) {
|
public void goToChat(String sipUri, Bundle shareInfos, String localIdentity) {
|
||||||
Bundle extras = new Bundle();
|
Bundle extras = new Bundle();
|
||||||
extras.putString("SipUri", sipUri);
|
extras.putString("SipUri", sipUri);
|
||||||
|
extras.putString("LocalIdentity", localIdentity);
|
||||||
|
|
||||||
if (shareInfos != null) {
|
if (shareInfos != null) {
|
||||||
if (shareInfos.getString("fileSharedUri") != null)
|
if (shareInfos.getString("fileSharedUri") != null)
|
||||||
|
@ -1455,11 +1455,12 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
||||||
Bundle extras = intent.getExtras();
|
Bundle extras = intent.getExtras();
|
||||||
if (extras != null && extras.getBoolean("GoToChat", false)) {
|
if (extras != null && extras.getBoolean("GoToChat", false)) {
|
||||||
String sipUri = extras.getString("ChatContactSipUri");
|
String sipUri = extras.getString("ChatContactSipUri");
|
||||||
|
String localIdentity = extras.getString("LocalIdentity");
|
||||||
intent.putExtra("DoNotGoToCallActivity", true);
|
intent.putExtra("DoNotGoToCallActivity", true);
|
||||||
if (sipUri == null) {
|
if (sipUri == null) {
|
||||||
goToChatList();
|
goToChatList();
|
||||||
} else {
|
} else {
|
||||||
displayChat(sipUri, null, null);
|
goToChat(sipUri, extras, localIdentity);
|
||||||
}
|
}
|
||||||
} else if (extras != null && extras.getBoolean("GoToHistory", false)) {
|
} else if (extras != null && extras.getBoolean("GoToHistory", false)) {
|
||||||
intent.putExtra("DoNotGoToCallActivity", true);
|
intent.putExtra("DoNotGoToCallActivity", true);
|
||||||
|
|
|
@ -185,7 +185,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen
|
||||||
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
||||||
if (newState == ChatRoom.State.Created) {
|
if (newState == ChatRoom.State.Created) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), mShareInfos, cr.getLocalAddress().asString());
|
||||||
} else if (newState == ChatRoom.State.CreationFailed) {
|
} else if (newState == ChatRoom.State.CreationFailed) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().displayChatRoomError();
|
LinphoneActivity.instance().displayChatRoomError();
|
||||||
|
@ -414,10 +414,10 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen
|
||||||
mChatRoom.addParticipant(participant);
|
mChatRoom.addParticipant(participant);
|
||||||
} else {
|
} else {
|
||||||
chatRoom = lc.getChatRoom(participant);
|
chatRoom = lc.getChatRoom(participant);
|
||||||
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, participant.asString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, participant.asString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
mContactsSelectedLayout.removeAllViews();
|
mContactsSelectedLayout.removeAllViews();
|
||||||
|
@ -442,7 +442,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen
|
||||||
ProxyConfig lpc = lc.getDefaultProxyConfig();
|
ProxyConfig lpc = lc.getDefaultProxyConfig();
|
||||||
if (lpc == null || lpc.getConferenceFactoryUri() == null) {
|
if (lpc == null || lpc.getConferenceFactoryUri() == null) {
|
||||||
ChatRoom chatRoom = lc.getChatRoom(ca.getAddress());
|
ChatRoom chatRoom = lc.getChatRoom(ca.getAddress());
|
||||||
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly(), mShareInfos, chatRoom.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
removeContactFromSelection(ca);
|
removeContactFromSelection(ca);
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,7 @@ import org.linphone.core.Core;
|
||||||
import org.linphone.core.CoreListenerStub;
|
import org.linphone.core.CoreListenerStub;
|
||||||
import org.linphone.core.EventLog;
|
import org.linphone.core.EventLog;
|
||||||
import org.linphone.fragments.FragmentsAvailable;
|
import org.linphone.fragments.FragmentsAvailable;
|
||||||
|
import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.SelectableHelper;
|
import org.linphone.ui.SelectableHelper;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -151,7 +152,7 @@ public class ChatListFragment extends Fragment implements ContactsUpdatedListene
|
||||||
mChatRoomsAdapter.toggleSelection(position);
|
mChatRoomsAdapter.toggleSelection(position);
|
||||||
} else {
|
} else {
|
||||||
ChatRoom room = (ChatRoom) mChatRoomsAdapter.getItem(position);
|
ChatRoom room = (ChatRoom) mChatRoomsAdapter.getItem(position);
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asString(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asString(), null, room.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,7 +174,7 @@ public class ChatListFragment extends Fragment implements ContactsUpdatedListene
|
||||||
ChatRoomsAdapter adapter = (ChatRoomsAdapter) mChatRoomsList.getAdapter();
|
ChatRoomsAdapter adapter = (ChatRoomsAdapter) mChatRoomsList.getAdapter();
|
||||||
if (adapter != null && adapter.getItemCount() > 0) {
|
if (adapter != null && adapter.getItemCount() > 0) {
|
||||||
ChatRoom room = (ChatRoom) adapter.getItem(0);
|
ChatRoom room = (ChatRoom) adapter.getItem(0);
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null, room.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
LinphoneActivity.instance().displayEmptyFragment();
|
LinphoneActivity.instance().displayEmptyFragment();
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
private Uri mImageToUploadUri;
|
private Uri mImageToUploadUri;
|
||||||
private ChatEventsAdapter mEventsAdapter;
|
private ChatEventsAdapter mEventsAdapter;
|
||||||
private String mRemoteSipUri;
|
private String mRemoteSipUri;
|
||||||
private Address mRemoteSipAddress, mRemoteParticipantAddress;
|
private Address mRemoteSipAddress, mRemoteParticipantAddress, mLocalIdentityAddress;
|
||||||
private ChatRoom mChatRoom;
|
private ChatRoom mChatRoom;
|
||||||
private ArrayList<LinphoneContact> mParticipants;
|
private ArrayList<LinphoneContact> mParticipants;
|
||||||
private LinearLayoutManager layoutManager;
|
private LinearLayoutManager layoutManager;
|
||||||
|
@ -119,9 +119,15 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
// Retain the fragment across configuration changes
|
// Retain the fragment across configuration changes
|
||||||
setRetainInstance(true);
|
setRetainInstance(true);
|
||||||
|
|
||||||
if (getArguments() != null && getArguments().getString("SipUri") != null) {
|
if (getArguments() != null) {
|
||||||
mRemoteSipUri = getArguments().getString("SipUri");
|
if (getArguments().getString("SipUri") != null) {
|
||||||
mRemoteSipAddress = LinphoneManager.getLc().createAddress(mRemoteSipUri);
|
mRemoteSipUri = getArguments().getString("SipUri");
|
||||||
|
mRemoteSipAddress = LinphoneManager.getLc().createAddress(mRemoteSipUri);
|
||||||
|
}
|
||||||
|
if (getArguments().getString("LocalIdentity") != null) {
|
||||||
|
String localIdentity = getArguments().getString("LocalIdentity");
|
||||||
|
mLocalIdentityAddress = LinphoneManager.getLc().createAddress(localIdentity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mContext = getActivity().getApplicationContext();
|
mContext = getActivity().getApplicationContext();
|
||||||
|
@ -541,13 +547,19 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
//TODO error
|
//TODO error
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Address proxyConfigContact = (core.getDefaultProxyConfig() != null) ? core.getDefaultProxyConfig().getContact() : null;
|
|
||||||
|
Address proxyConfigContact = mLocalIdentityAddress;
|
||||||
|
if (proxyConfigContact == null) {
|
||||||
|
proxyConfigContact = core.getDefaultProxyConfig() != null ? core.getDefaultProxyConfig().getContact() : null;
|
||||||
|
}
|
||||||
|
|
||||||
if (proxyConfigContact != null) {
|
if (proxyConfigContact != null) {
|
||||||
mChatRoom = core.findOneToOneChatRoom(proxyConfigContact, mRemoteSipAddress);
|
mChatRoom = core.findOneToOneChatRoom(proxyConfigContact, mRemoteSipAddress);
|
||||||
}
|
}
|
||||||
if (mChatRoom == null) {
|
if (mChatRoom == null) {
|
||||||
mChatRoom = core.getChatRoomFromUri(mRemoteSipAddress.asStringUriOnly());
|
mChatRoom = core.getChatRoomFromUri(mRemoteSipAddress.asStringUriOnly());
|
||||||
}
|
}
|
||||||
|
|
||||||
mChatRoom.addListener(this);
|
mChatRoom.addListener(this);
|
||||||
mChatRoom.markAsRead();
|
mChatRoom.markAsRead();
|
||||||
LinphoneManager.getInstance().updateUnreadCountForChatRoom(mChatRoom, 0);
|
LinphoneManager.getInstance().updateUnreadCountForChatRoom(mChatRoom, 0);
|
||||||
|
@ -594,10 +606,16 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
if (mChatRoom.hasBeenLeft()) {
|
if (mChatRoom.hasBeenLeft()) {
|
||||||
setReadOnly();
|
setReadOnly();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mChatRoom.hasCapability(ChatRoomCapabilities.Basic.toInt())) {
|
||||||
|
mChatRoomSecurityLevel.setVisibility(View.GONE);
|
||||||
|
} else {
|
||||||
|
//TODO
|
||||||
|
//mChatRoomSecurityLevel.setImageResource();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayChatRoomHistory() {
|
private void displayChatRoomHistory() {
|
||||||
|
|
||||||
if (mChatRoom == null) return;
|
if (mChatRoom == null) return;
|
||||||
if (mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) {
|
if (mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) {
|
||||||
mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, R.layout.chat_bubble, mChatRoom.getHistoryMessageEvents(MESSAGES_PER_PAGE), mParticipants, this);
|
mEventsAdapter = new ChatEventsAdapter(this, mSelectionHelper, R.layout.chat_bubble, mChatRoom.getHistoryMessageEvents(MESSAGES_PER_PAGE), mParticipants, this);
|
||||||
|
@ -820,10 +838,10 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con
|
||||||
if (!getResources().getBoolean(R.bool.disable_chat_message_notification)) {
|
if (!getResources().getBoolean(R.bool.disable_chat_message_notification)) {
|
||||||
if (contact != null) {
|
if (contact != null) {
|
||||||
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(),
|
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(),
|
||||||
contact.getFullName(), contact.getThumbnailUri(), getString(R.string.message_cant_be_decrypted_notif));
|
contact.getFullName(), contact.getThumbnailUri(), getString(R.string.message_cant_be_decrypted_notif), cr.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(),
|
LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(),
|
||||||
from.getUsername(), null, getString(R.string.message_cant_be_decrypted_notif));
|
from.getUsername(), null, getString(R.string.message_cant_be_decrypted_notif), cr.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (LinphoneManager.getLc().limeEnabled() == LimeState.Mandatory) {
|
} else if (LinphoneManager.getLc().limeEnabled() == LimeState.Mandatory) {
|
||||||
|
|
|
@ -155,7 +155,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener {
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if (mIsAlreadyCreatedGroup) {
|
if (mIsAlreadyCreatedGroup) {
|
||||||
if (LinphoneActivity.instance().isTablet()) {
|
if (LinphoneActivity.instance().isTablet()) {
|
||||||
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asStringUriOnly(), mShareInfos, mChatRoom.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
getFragmentManager().popBackStack();
|
getFragmentManager().popBackStack();
|
||||||
}
|
}
|
||||||
|
@ -181,7 +181,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener {
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if (mChatRoom != null) {
|
if (mChatRoom != null) {
|
||||||
mChatRoom.leave();
|
mChatRoom.leave();
|
||||||
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString(), null);
|
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString(), null, mChatRoom.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
Log.e("Can't leave, chatRoom for address " + mGroupChatRoomAddress.asString() + " is null...");
|
Log.e("Can't leave, chatRoom for address " + mGroupChatRoomAddress.asString() + " is null...");
|
||||||
}
|
}
|
||||||
|
@ -244,7 +244,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener {
|
||||||
// This will remove both the creation fragment and the group info fragment from the back stack
|
// This will remove both the creation fragment and the group info fragment from the back stack
|
||||||
getFragmentManager().popBackStack();
|
getFragmentManager().popBackStack();
|
||||||
getFragmentManager().popBackStack();
|
getFragmentManager().popBackStack();
|
||||||
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), mShareInfos);
|
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), mShareInfos, cr.getLocalAddress().asString());
|
||||||
} else if (newState == ChatRoom.State.CreationFailed) {
|
} else if (newState == ChatRoom.State.CreationFailed) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().displayChatRoomError();
|
LinphoneActivity.instance().displayChatRoomError();
|
||||||
|
@ -320,7 +320,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener {
|
||||||
toAdd.toArray(participantsToAdd);
|
toAdd.toArray(participantsToAdd);
|
||||||
mChatRoom.addParticipants(participantsToAdd);
|
mChatRoom.addParticipants(participantsToAdd);
|
||||||
|
|
||||||
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString(), null);
|
LinphoneActivity.instance().goToChat(mGroupChatRoomAddress.asString(), null, mChatRoom.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -87,7 +87,7 @@ public class ImdnFragment extends Fragment {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
if (LinphoneActivity.instance().isTablet()) {
|
if (LinphoneActivity.instance().isTablet()) {
|
||||||
LinphoneActivity.instance().goToChat(mRoomUri, null);
|
LinphoneActivity.instance().goToChat(mRoomUri, null, mRoom.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
LinphoneActivity.instance().onBackPressed();
|
LinphoneActivity.instance().onBackPressed();
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener
|
||||||
if (defaultProxyConfig != null) {
|
if (defaultProxyConfig != null) {
|
||||||
ChatRoom room = lc.findOneToOneChatRoom(defaultProxyConfig.getContact(), participant);
|
ChatRoom room = lc.findOneToOneChatRoom(defaultProxyConfig.getContact(), participant);
|
||||||
if (room != null) {
|
if (room != null) {
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null, room.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
if (defaultProxyConfig.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) {
|
if (defaultProxyConfig.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) {
|
||||||
mWaitLayout.setVisibility(View.VISIBLE);
|
mWaitLayout.setVisibility(View.VISIBLE);
|
||||||
|
@ -90,7 +90,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener
|
||||||
mChatRoom.addParticipant(participant);
|
mChatRoom.addParticipant(participant);
|
||||||
} else {
|
} else {
|
||||||
room = lc.getChatRoom(participant);
|
room = lc.getChatRoom(participant);
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null, room.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener
|
||||||
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
||||||
if (newState == ChatRoom.State.Created) {
|
if (newState == ChatRoom.State.Created) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), null, cr.getLocalAddress().asString());
|
||||||
} else if (newState == ChatRoom.State.CreationFailed) {
|
} else if (newState == ChatRoom.State.CreationFailed) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().displayChatRoomError();
|
LinphoneActivity.instance().displayChatRoomError();
|
||||||
|
|
|
@ -109,7 +109,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener {
|
||||||
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
public void onStateChanged(ChatRoom cr, ChatRoom.State newState) {
|
||||||
if (newState == ChatRoom.State.Created) {
|
if (newState == ChatRoom.State.Created) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(cr.getPeerAddress().asStringUriOnly(), null, cr.getLocalAddress().asString());
|
||||||
} else if (newState == ChatRoom.State.CreationFailed) {
|
} else if (newState == ChatRoom.State.CreationFailed) {
|
||||||
mWaitLayout.setVisibility(View.GONE);
|
mWaitLayout.setVisibility(View.GONE);
|
||||||
LinphoneActivity.instance().displayChatRoomError();
|
LinphoneActivity.instance().displayChatRoomError();
|
||||||
|
@ -199,7 +199,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener {
|
||||||
Address participant = Factory.instance().createAddress(sipUri);
|
Address participant = Factory.instance().createAddress(sipUri);
|
||||||
ChatRoom room = lc.findOneToOneChatRoom(lc.getDefaultProxyConfig().getContact(), participant);
|
ChatRoom room = lc.findOneToOneChatRoom(lc.getDefaultProxyConfig().getContact(), participant);
|
||||||
if (room != null) {
|
if (room != null) {
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null, room.getLocalAddress().asString());
|
||||||
} else {
|
} else {
|
||||||
ProxyConfig lpc = lc.getDefaultProxyConfig();
|
ProxyConfig lpc = lc.getDefaultProxyConfig();
|
||||||
if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) {
|
if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) {
|
||||||
|
@ -209,7 +209,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener {
|
||||||
mChatRoom.addParticipant(participant);
|
mChatRoom.addParticipant(participant);
|
||||||
} else {
|
} else {
|
||||||
room = lc.getChatRoom(participant);
|
room = lc.getChatRoom(participant);
|
||||||
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null);
|
LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly(), null, room.getLocalAddress().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (id == R.id.add_contact) {
|
} else if (id == R.id.add_contact) {
|
||||||
|
|
Loading…
Reference in a new issue