diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index c3550c3cb..4f629029e 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -43,6 +43,7 @@ enable_basic_to_client_group_chat_room_migration=0 [app] activation_code_length=4 +prefer_basic_chat_room=0 [in-app-purchase] server_url=https://subscribe.linphone.org:444/inapp.php diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index dec8d3f5a..54038b447 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1529,4 +1529,8 @@ public class LinphonePreferences { public boolean isFriendsStorageEnabled() { return getConfig().getBool("misc", "store_friends", true); } + + public boolean useBasicChatRoomFor1To1() { + return getConfig().getBool("app", "prefer_basic_chat_room", false); + } } diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 4bff4a9c0..7dfd2aeb1 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -38,6 +38,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.contacts.ContactAddress; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.SearchContactsListAdapter; @@ -340,7 +341,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen ChatRoom chatRoom = lc.findOneToOneChatRoom(lc.getDefaultProxyConfig().getContact(), participant); if (chatRoom == null) { ProxyConfig lpc = lc.getDefaultProxyConfig(); - if (lpc != null && lpc.getConferenceFactoryUri() != null) { + if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); mChatRoom.addListener(mChatRoomCreationListener); mChatRoom.addParticipant(participant); @@ -372,7 +373,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen ContactAddress ca = mSearchAdapter.getContacts().get(i); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); ProxyConfig lpc = lc.getDefaultProxyConfig(); - if (lpc == null || lpc.getConferenceFactoryUri() == null) { + if (lpc == null || lpc.getConferenceFactoryUri() == null || LinphonePreferences.instance().useBasicChatRoomFor1To1()) { ChatRoom chatRoom = lc.getChatRoom(ca.getAddress()); LinphoneActivity.instance().goToChat(chatRoom.getPeerAddress().asStringUriOnly()); } else { diff --git a/src/android/org/linphone/contacts/ContactDetailsFragment.java b/src/android/org/linphone/contacts/ContactDetailsFragment.java index 547ddbb5a..b67f213c8 100644 --- a/src/android/org/linphone/contacts/ContactDetailsFragment.java +++ b/src/android/org/linphone/contacts/ContactDetailsFragment.java @@ -20,6 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.LinphoneUtils; import org.linphone.R; import org.linphone.activities.LinphoneActivity; @@ -79,7 +80,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly()); } else { ProxyConfig lpc = lc.getDefaultProxyConfig(); - if (lpc != null && lpc.getConferenceFactoryUri() != null) { + if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { mWaitLayout.setVisibility(View.VISIBLE); mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); mChatRoom.addListener(mChatRoomCreationListener); diff --git a/src/android/org/linphone/fragments/HistoryDetailFragment.java b/src/android/org/linphone/fragments/HistoryDetailFragment.java index b45e32b3d..b4890d691 100644 --- a/src/android/org/linphone/fragments/HistoryDetailFragment.java +++ b/src/android/org/linphone/fragments/HistoryDetailFragment.java @@ -31,6 +31,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.contacts.ContactsManager; import org.linphone.contacts.LinphoneContact; import org.linphone.LinphoneUtils; @@ -201,7 +202,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { LinphoneActivity.instance().goToChat(room.getPeerAddress().asStringUriOnly()); } else { ProxyConfig lpc = lc.getDefaultProxyConfig(); - if (lpc != null && lpc.getConferenceFactoryUri() != null) { + if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { mWaitLayout.setVisibility(View.VISIBLE); mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); mChatRoom.addListener(mChatRoomCreationListener);