From d6bc43da3ff364482579b8352046adaf415542e7 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 6 Apr 2018 10:46:23 +0200 Subject: [PATCH 01/61] Updated submodules + updated calls to createClientGroupChatRoom() --- .../org/linphone/chat/ChatCreationFragment.java | 2 +- .../org/linphone/chat/GroupChatFragment.java | 17 +++++++++++++++-- .../org/linphone/chat/GroupInfoFragment.java | 7 ++++++- .../contacts/ContactDetailsFragment.java | 2 +- .../fragments/HistoryDetailFragment.java | 2 +- submodules/bctoolbox | 2 +- submodules/belle-sip | 2 +- submodules/belr | 2 +- submodules/cmake-builder | 2 +- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 11 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 3860d9d2d..8aeba3656 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -346,7 +346,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen if (chatRoom == null) { ProxyConfig lpc = lc.getDefaultProxyConfig(); if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); + mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), true); mChatRoom.addListener(mChatRoomCreationListener); mChatRoom.addParticipant(participant); } else { diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 25e7ae599..16bb4d367 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -418,14 +418,14 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } getContactsForParticipants(); + + mRemoteComposing.setVisibility(View.INVISIBLE); } private void displayChatRoomHeader() { Core core = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); if (core == null || mChatRoom == null) return; - mRemoteComposing.setVisibility(View.INVISIBLE); - if (core.getCallsNb() > 0) { mBackToCallButton.setVisibility(View.VISIBLE); } else { @@ -679,6 +679,19 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } } + @Override + public void onAllInformationReceived(ChatRoom cr) { + // Currently flexisip doesn't send the participants list in the INVITE + // So we have to refresh the display when information is available + // In the meantime header will be chatroom-xxxxxxx + if (mChatRoom == null) mChatRoom = cr; + if (mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt()) && mChatRoom.getParticipants().length > 0) { + mRemoteParticipantAddress = mChatRoom.getParticipants()[0].getAddress(); + } + getContactsForParticipants(); + displayChatRoomHeader(); + } + @Override public void onChatMessageReceived(ChatRoom cr, EventLog event) { cr.markAsRead(); diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index d5810e1e3..fb4354b8a 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -227,7 +227,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { public void onClick(View view) { if (!mIsAlreadyCreatedGroup) { mWaitLayout.setVisibility(View.VISIBLE); - mTempChatRoom = LinphoneManager.getLc().createClientGroupChatRoom(mSubjectField.getText().toString()); + mTempChatRoom = LinphoneManager.getLc().createClientGroupChatRoom(mSubjectField.getText().toString(), mParticipants.size() == 1); mTempChatRoom.addListener(mChatRoomCreationListener); Address addresses[] = new Address[mParticipants.size()]; @@ -458,6 +458,11 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { } + @Override + public void onAllInformationReceived(ChatRoom cr) { + + } + @Override public void onStateChanged(ChatRoom cr, ChatRoom.State newState) { diff --git a/src/android/org/linphone/contacts/ContactDetailsFragment.java b/src/android/org/linphone/contacts/ContactDetailsFragment.java index b67f213c8..a4c92ac7a 100644 --- a/src/android/org/linphone/contacts/ContactDetailsFragment.java +++ b/src/android/org/linphone/contacts/ContactDetailsFragment.java @@ -82,7 +82,7 @@ public class ContactDetailsFragment extends Fragment implements OnClickListener ProxyConfig lpc = lc.getDefaultProxyConfig(); if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { mWaitLayout.setVisibility(View.VISIBLE); - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); + mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), true); mChatRoom.addListener(mChatRoomCreationListener); mChatRoom.addParticipant(participant); } else { diff --git a/src/android/org/linphone/fragments/HistoryDetailFragment.java b/src/android/org/linphone/fragments/HistoryDetailFragment.java index b4890d691..e6754af9f 100644 --- a/src/android/org/linphone/fragments/HistoryDetailFragment.java +++ b/src/android/org/linphone/fragments/HistoryDetailFragment.java @@ -204,7 +204,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { ProxyConfig lpc = lc.getDefaultProxyConfig(); if (lpc != null && lpc.getConferenceFactoryUri() != null && !LinphonePreferences.instance().useBasicChatRoomFor1To1()) { mWaitLayout.setVisibility(View.VISIBLE); - mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject)); + mChatRoom = lc.createClientGroupChatRoom(getString(R.string.dummy_group_chat_subject), true); mChatRoom.addListener(mChatRoomCreationListener); mChatRoom.addParticipant(participant); } else { diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 312f1e41b..e9473d2e5 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 312f1e41b217b1cb69bcad193046b01774be5341 +Subproject commit e9473d2e5772c9ad1aea83c504b9c6aa9a92bc67 diff --git a/submodules/belle-sip b/submodules/belle-sip index 91f5b7273..a9af682b9 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 91f5b7273064a496ba1c314c5b78ad492289e584 +Subproject commit a9af682b9931213743c0af65e261e70e2280b1c9 diff --git a/submodules/belr b/submodules/belr index 18abde9e4..c65f14509 160000 --- a/submodules/belr +++ b/submodules/belr @@ -1 +1 @@ -Subproject commit 18abde9e43e8f98e22c09afee3e089c4e7691173 +Subproject commit c65f14509eeec3192cd1170646b700e9428ac292 diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 4232e757c..d389b30b6 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 4232e757cc9ede121b6f35bc4da149d8aaa14e0f +Subproject commit d389b30b6c417d8bc7a79f561075a5c58871e3bc diff --git a/submodules/linphone b/submodules/linphone index cd08c6e2f..5290d59d7 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit cd08c6e2fee6c99ead64dde6783337714c5aedc8 +Subproject commit 5290d59d769c90f18f720b07495061ba6dcbbb84 diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index f49b3d5ea..9156ae093 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit f49b3d5ea3ab56b4b021a760a58f44015b3c5765 +Subproject commit 9156ae093992c81d30dfc0936712e88a58f0ef63 From 685c959d2cc1d5230bf8cc52c93d038c83515927 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 6 Apr 2018 12:20:22 +0200 Subject: [PATCH 02/61] Use LoggingService instead of JNI log handler, fixes log issue on Blackberry Keyone --- .../org/linphone/LinphonePreferences.java | 3 +- src/android/org/linphone/LinphoneService.java | 6 ++-- src/android/org/linphone/LinphoneUtils.java | 32 +++++++++++++++++++ .../org/linphone/receivers/DozeReceiver.java | 4 +-- .../linphone/receivers/KeepAliveReceiver.java | 4 +-- src/android/org/linphone/ui/Digit.java | 3 +- submodules/linphone | 2 +- 7 files changed, 43 insertions(+), 11 deletions(-) diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 54038b447..902e6380c 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1192,8 +1192,7 @@ public class LinphonePreferences { // Advanced settings public void setDebugEnabled(boolean enabled) { getConfig().setBool("app", "debug", enabled); - Factory.instance().enableLogCollection(LogCollectionState.Enabled); - Factory.instance().setDebugMode(enabled, getString(R.string.app_name)); + LinphoneUtils.initLoggingService(enabled); } public boolean isDebugEnabled() { diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index d1e1f9dce..fe0978e88 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -32,6 +32,9 @@ import org.linphone.core.Call; import org.linphone.core.Call.State; import org.linphone.core.Core; import org.linphone.core.GlobalState; +import org.linphone.core.LogLevel; +import org.linphone.core.LoggingService; +import org.linphone.core.LoggingServiceListener; import org.linphone.core.RegistrationState; import org.linphone.core.Factory; import org.linphone.core.LogCollectionState; @@ -298,8 +301,7 @@ public final class LinphoneService extends Service { LinphonePreferences.instance().setContext(getBaseContext()); Factory.instance().setLogCollectionPath(getFilesDir().getAbsolutePath()); boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - Factory.instance().enableLogCollection(LogCollectionState.Enabled); - Factory.instance().setDebugMode(isDebugEnabled, getString(R.string.app_name)); + LinphoneUtils.initLoggingService(isDebugEnabled); // Dump some debugging information to the logs Log.i(START_LINPHONE_LOGS); diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 29de3012c..bb02500f3 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -67,6 +67,10 @@ import org.linphone.core.Core; import org.linphone.core.Factory; import org.linphone.core.Friend; import org.linphone.core.FriendList; +import org.linphone.core.LogCollectionState; +import org.linphone.core.LogLevel; +import org.linphone.core.LoggingService; +import org.linphone.core.LoggingServiceListener; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; import org.linphone.mediastream.video.capture.hwconf.Hacks; @@ -111,6 +115,34 @@ public final class LinphoneUtils { } + public static void initLoggingService(boolean isDebugEnabled) { + Factory.instance().setDebugMode(isDebugEnabled, ""); + Factory.instance().enableLogCollection(LogCollectionState.EnabledWithoutPreviousLogHandler); + Factory.instance().getLoggingService().setListener(new LoggingServiceListener() { + @Override + public void onLogMessageWritten(LoggingService logService, String domain, LogLevel lev, String message) { + switch (lev) { + case Debug: + android.util.Log.d(domain, message); + break; + case Message: + android.util.Log.i(domain, message); + break; + case Warning: + android.util.Log.w(domain, message); + break; + case Error: + android.util.Log.e(domain, message); + break; + case Fatal: + default: + android.util.Log.wtf(domain, message); + break; + } + } + }); + } + public static void dispatchOnUIThread(Runnable r) { mHandler.post(r); } diff --git a/src/android/org/linphone/receivers/DozeReceiver.java b/src/android/org/linphone/receivers/DozeReceiver.java index d417920bb..c1f3c6ecb 100644 --- a/src/android/org/linphone/receivers/DozeReceiver.java +++ b/src/android/org/linphone/receivers/DozeReceiver.java @@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; import org.linphone.R; import org.linphone.core.Core; import org.linphone.core.Factory; @@ -43,8 +44,7 @@ public class DozeReceiver extends android.content.BroadcastReceiver { if (!LinphoneService.isReady()) return; boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - Factory.instance().enableLogCollection(isDebugEnabled ? LogCollectionState.Enabled : LogCollectionState.Disabled); - Factory.instance().setDebugMode(isDebugEnabled, context.getString(R.string.app_name)); + LinphoneUtils.initLoggingService(isDebugEnabled); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); if (lc == null) return; diff --git a/src/android/org/linphone/receivers/KeepAliveReceiver.java b/src/android/org/linphone/receivers/KeepAliveReceiver.java index 64fa88b67..0bec9f0af 100644 --- a/src/android/org/linphone/receivers/KeepAliveReceiver.java +++ b/src/android/org/linphone/receivers/KeepAliveReceiver.java @@ -22,6 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; import org.linphone.R; import org.linphone.compatibility.Compatibility; import org.linphone.core.Core; @@ -46,8 +47,7 @@ public class KeepAliveReceiver extends BroadcastReceiver { return; } else { boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - Factory.instance().enableLogCollection(isDebugEnabled ? LogCollectionState.Enabled : LogCollectionState.Disabled); - Factory.instance().setDebugMode(isDebugEnabled, context.getString(R.string.app_name)); + LinphoneUtils.initLoggingService(isDebugEnabled); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); if (lc == null) return; diff --git a/src/android/org/linphone/ui/Digit.java b/src/android/org/linphone/ui/Digit.java index c1b544695..4eb3fa583 100644 --- a/src/android/org/linphone/ui/Digit.java +++ b/src/android/org/linphone/ui/Digit.java @@ -19,6 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneUtils; import org.linphone.call.CallActivity; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; @@ -139,7 +140,6 @@ public class Digit extends Button implements AddressAware { public void onClick(DialogInterface dialog, int which) { if(which == 0){ LinphonePreferences.instance().setDebugEnabled(false); - Factory.instance().enableLogCollection(LogCollectionState.Disabled); } if(which == 1) { Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); @@ -155,7 +155,6 @@ public class Digit extends Button implements AddressAware { public void onClick(DialogInterface dialog, int which) { if(which == 0) { LinphonePreferences.instance().setDebugEnabled(true); - Factory.instance().enableLogCollection(LogCollectionState.Enabled); } } }); diff --git a/submodules/linphone b/submodules/linphone index 5290d59d7..0bf5362bf 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 5290d59d769c90f18f720b07495061ba6dcbbb84 +Subproject commit 0bf5362bf0b793eb21f533eeb65ae3e2804962f5 From 977ff5e92e7e53a90e43282dd880cf91d2b154e0 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 6 Apr 2018 14:15:34 +0200 Subject: [PATCH 03/61] Use old native logger as default for now --- .../org/linphone/LinphonePreferences.java | 2 +- src/android/org/linphone/LinphoneService.java | 2 +- src/android/org/linphone/LinphoneUtils.java | 68 ++++++++----------- .../org/linphone/receivers/DozeReceiver.java | 2 +- .../linphone/receivers/KeepAliveReceiver.java | 2 +- 5 files changed, 34 insertions(+), 42 deletions(-) diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 902e6380c..81e43f900 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1192,7 +1192,7 @@ public class LinphonePreferences { // Advanced settings public void setDebugEnabled(boolean enabled) { getConfig().setBool("app", "debug", enabled); - LinphoneUtils.initLoggingService(enabled); + LinphoneUtils.initLoggingService(enabled, mContext.getString(R.string.app_name)); } public boolean isDebugEnabled() { diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index fe0978e88..80de37a75 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -301,7 +301,7 @@ public final class LinphoneService extends Service { LinphonePreferences.instance().setContext(getBaseContext()); Factory.instance().setLogCollectionPath(getFilesDir().getAbsolutePath()); boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - LinphoneUtils.initLoggingService(isDebugEnabled); + LinphoneUtils.initLoggingService(isDebugEnabled, getString(R.string.app_name)); // Dump some debugging information to the logs Log.i(START_LINPHONE_LOGS); diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index bb02500f3..64df2c09c 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -23,11 +23,9 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.ContentResolver; import android.content.ContentUris; -import android.content.ContentValues; import android.content.Context; import android.content.CursorLoader; import android.content.Intent; -import android.content.res.Resources; import android.database.Cursor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -41,28 +39,22 @@ import android.os.Looper; import android.os.ParcelFileDescriptor; import android.provider.DocumentsContract; import android.provider.MediaStore; -import android.provider.MediaStore.Images; import android.telephony.TelephonyManager; import android.text.Spanned; import android.text.TextUtils; -import android.util.TypedValue; import android.view.KeyEvent; import android.view.View; -import android.view.View.OnClickListener; import android.webkit.MimeTypeMap; -import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import org.linphone.compatibility.Compatibility; import org.linphone.contacts.ContactsManager; -import org.linphone.core.DialPlan; import org.linphone.core.AccountCreator; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.Call.State; -import org.linphone.core.ChatMessage; import org.linphone.core.Core; import org.linphone.core.Factory; import org.linphone.core.Friend; @@ -75,8 +67,6 @@ import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; import org.linphone.mediastream.video.capture.hwconf.Hacks; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; @@ -85,7 +75,6 @@ import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; @@ -98,8 +87,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; import java.util.regex.Pattern; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -115,32 +102,37 @@ public final class LinphoneUtils { } - public static void initLoggingService(boolean isDebugEnabled) { - Factory.instance().setDebugMode(isDebugEnabled, ""); - Factory.instance().enableLogCollection(LogCollectionState.EnabledWithoutPreviousLogHandler); - Factory.instance().getLoggingService().setListener(new LoggingServiceListener() { - @Override - public void onLogMessageWritten(LoggingService logService, String domain, LogLevel lev, String message) { - switch (lev) { - case Debug: - android.util.Log.d(domain, message); - break; - case Message: - android.util.Log.i(domain, message); - break; - case Warning: - android.util.Log.w(domain, message); - break; - case Error: - android.util.Log.e(domain, message); - break; - case Fatal: - default: - android.util.Log.wtf(domain, message); - break; + public static void initLoggingService(boolean isDebugEnabled, String appName) { + if (true) { + Factory.instance().enableLogCollection(LogCollectionState.Enabled); + Factory.instance().setDebugMode(isDebugEnabled, appName); + } else { + Factory.instance().setDebugMode(isDebugEnabled, appName); + Factory.instance().enableLogCollection(LogCollectionState.EnabledWithoutPreviousLogHandler); + Factory.instance().getLoggingService().setListener(new LoggingServiceListener() { + @Override + public void onLogMessageWritten(LoggingService logService, String domain, LogLevel lev, String message) { + switch (lev) { + case Debug: + android.util.Log.d(domain, message); + break; + case Message: + android.util.Log.i(domain, message); + break; + case Warning: + android.util.Log.w(domain, message); + break; + case Error: + android.util.Log.e(domain, message); + break; + case Fatal: + default: + android.util.Log.wtf(domain, message); + break; + } } - } - }); + }); + } } public static void dispatchOnUIThread(Runnable r) { diff --git a/src/android/org/linphone/receivers/DozeReceiver.java b/src/android/org/linphone/receivers/DozeReceiver.java index c1f3c6ecb..60b525a73 100644 --- a/src/android/org/linphone/receivers/DozeReceiver.java +++ b/src/android/org/linphone/receivers/DozeReceiver.java @@ -44,7 +44,7 @@ public class DozeReceiver extends android.content.BroadcastReceiver { if (!LinphoneService.isReady()) return; boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - LinphoneUtils.initLoggingService(isDebugEnabled); + LinphoneUtils.initLoggingService(isDebugEnabled, context.getString(R.string.app_name)); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); if (lc == null) return; diff --git a/src/android/org/linphone/receivers/KeepAliveReceiver.java b/src/android/org/linphone/receivers/KeepAliveReceiver.java index 0bec9f0af..12b8b9cf8 100644 --- a/src/android/org/linphone/receivers/KeepAliveReceiver.java +++ b/src/android/org/linphone/receivers/KeepAliveReceiver.java @@ -47,7 +47,7 @@ public class KeepAliveReceiver extends BroadcastReceiver { return; } else { boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - LinphoneUtils.initLoggingService(isDebugEnabled); + LinphoneUtils.initLoggingService(isDebugEnabled, context.getString(R.string.app_name)); Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); if (lc == null) return; From 86a9a9b74c59447f7b0524c14f6b679ddde50401 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 6 Apr 2018 14:32:24 +0200 Subject: [PATCH 04/61] Added setting for Java logger --- res/values/non_localizable_strings.xml | 1 + res/values/strings.xml | 1 + res/xml/preferences.xml | 5 +++++ src/android/org/linphone/LinphonePreferences.java | 9 +++++++++ src/android/org/linphone/LinphoneUtils.java | 2 +- .../org/linphone/fragments/SettingsFragment.java | 11 +++++++++++ 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml index ae91b9e03..539c619b5 100644 --- a/res/values/non_localizable_strings.xml +++ b/res/values/non_localizable_strings.xml @@ -58,6 +58,7 @@ pref_wizard_key pref_activated_key pref_debug_key + pref_java_debug_key first_launch_succeeded_once_key pref_wifi_only_key diff --git a/res/values/strings.xml b/res/values/strings.xml index 5ec07acec..521acfdf1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -426,6 +426,7 @@ Advanced Debug Debug + Use Java logger Friendlist subscribe Background mode Enable Animations diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 60dc49a79..db22cbe4e 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -354,6 +354,11 @@ android:key="@string/pref_debug_key" android:persistent="false"/> + + Date: Fri, 6 Apr 2018 15:16:14 +0200 Subject: [PATCH 05/61] Updated linphone to fix issue with fallback chat room --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 0bf5362bf..8b5c4e030 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 0bf5362bf0b793eb21f533eeb65ae3e2804962f5 +Subproject commit 8b5c4e0305b8a0fa5c73e4bd49710b8b43e2d973 From c0856ecd4cb4b3fc5785df5f89f4dad3a54cb889 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 9 Apr 2018 13:14:05 +0200 Subject: [PATCH 06/61] Started MagicSearchBar --- .../linphone/chat/ChatCreationFragment.java | 4 +- .../org/linphone/contacts/ContactAddress.java | 10 ++++ .../linphone/contacts/ContactsManager.java | 14 ++++++ .../contacts/SearchContactsListAdapter.java | 46 ++++++++++--------- 4 files changed, 52 insertions(+), 22 deletions(-) diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 8aeba3656..23a934d57 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -127,7 +127,9 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen mSearchField.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - + if (before > count) { + ContactsManager.getInstance().getMagicSearch().resetSearchCache(); + } } @Override diff --git a/src/android/org/linphone/contacts/ContactAddress.java b/src/android/org/linphone/contacts/ContactAddress.java index 736f320a0..b8ecc7736 100644 --- a/src/android/org/linphone/contacts/ContactAddress.java +++ b/src/android/org/linphone/contacts/ContactAddress.java @@ -23,11 +23,13 @@ import android.view.View; import org.linphone.core.Address; import org.linphone.core.Factory; +import org.linphone.core.SearchResult; import java.io.Serializable; public class ContactAddress implements Serializable { private LinphoneContact contact; + private SearchResult result; private String address; private boolean isLinphoneContact; private boolean isSelect = false; @@ -58,6 +60,14 @@ public class ContactAddress implements Serializable { return contact; } + public SearchResult getResult() { + return result; + } + + public void setResult(SearchResult result) { + this.result = result; + } + public String getAddressAsDisplayableString() { return address; } diff --git a/src/android/org/linphone/contacts/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java index ba265d913..0a60449eb 100644 --- a/src/android/org/linphone/contacts/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -42,8 +42,10 @@ import org.linphone.LinphoneService; import org.linphone.R; import org.linphone.core.Address; import org.linphone.core.Core; +import org.linphone.core.Factory; import org.linphone.core.Friend; import org.linphone.core.FriendList; +import org.linphone.core.MagicSearch; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; @@ -61,6 +63,7 @@ public class ContactsManager extends ContentObserver { private static ContactsManager instance; private List contacts, sipContacts; + private MagicSearch magicSearch; private boolean preferLinphoneContacts = false, isContactPresenceDisabled = true; private ContentResolver contentResolver; private Context context; @@ -84,6 +87,9 @@ public class ContactsManager extends ContentObserver { contactsUpdatedListeners = new ArrayList(); contacts = new ArrayList(); sipContacts = new ArrayList(); + if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) { + magicSearch = LinphoneManager.getLcIfManagerNotDestroyedOrNull().createMagicSearch(); + } } public void destroy() { @@ -91,6 +97,10 @@ public class ContactsManager extends ContentObserver { instance = null; } + public MagicSearch getMagicSearch() { + return magicSearch; + } + public boolean contactsFetchedOnce() { return contacts.size() > 0; } @@ -220,6 +230,7 @@ public class ContactsManager extends ContentObserver { } public synchronized LinphoneContact findContactFromAddress(Address address) { + if (address == null) return null; Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); Friend lf = lc.findFriend(address); if (lf != null) { @@ -301,6 +312,9 @@ public class ContactsManager extends ContentObserver { LinphoneContact contact = (LinphoneContact) friend.getUserData(); if (contact != null) { contact.clearAddresses(); + if (contact.hasAddress()) { + sipContacts.add(contact); + } contacts.add(contact); if (contact.getAndroidId() != null) { androidContactsCache.put(contact.getAndroidId(), contact); diff --git a/src/android/org/linphone/contacts/SearchContactsListAdapter.java b/src/android/org/linphone/contacts/SearchContactsListAdapter.java index 8dc4ff2fa..553cb31f7 100644 --- a/src/android/org/linphone/contacts/SearchContactsListAdapter.java +++ b/src/android/org/linphone/contacts/SearchContactsListAdapter.java @@ -33,6 +33,7 @@ import org.linphone.LinphoneUtils; import org.linphone.R; import org.linphone.activities.LinphoneActivity; import org.linphone.core.Address; +import org.linphone.core.SearchResult; import java.util.ArrayList; import java.util.List; @@ -156,6 +157,9 @@ public class SearchContactsListAdapter extends BaseAdapter { if (search == null || search.length() == 0 || search.trim().length() == 0) { contacts = getContactsList(); resultContactsSearch.setAdapter(this); + if (ContactsManager.getInstance() != null) { + ContactsManager.getInstance().getMagicSearch().resetSearchCache(); + } oldSize = 0; return; } @@ -163,29 +167,29 @@ public class SearchContactsListAdapter extends BaseAdapter { search = search.trim(); List result = new ArrayList<>(); - String searchAddress = "sip:" + search + "@" + LinphoneManager.getLc().getDefaultProxyConfig().getDomain(); - if (search.contains("@") || search.startsWith("sip:")) { - searchAddress = search; - } - - boolean searchFound = false; - if (search != null) { - for (ContactAddress c : (search.length() < oldSize) ? getContactsList() : getContacts()) { - String address = c.getAddressAsDisplayableString(); - if (address.equals(searchAddress)) searchFound = true; - if (address.startsWith("sip:")) address = address.substring(4); - if (c.getContact() != null && c.getContact().getFullName() != null - && c.getContact().getFullName().toLowerCase(Locale.getDefault()).startsWith(search.toLowerCase(Locale.getDefault())) - || address.toLowerCase(Locale.getDefault()).startsWith(search.toLowerCase(Locale.getDefault()))) { - result.add(c); + SearchResult[] results = ContactsManager.getInstance().getMagicSearch().getContactListFromFilter(search, ""); + for (SearchResult sr : results) { + LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(sr.getAddress()); + if (contact == null) { + contact = new LinphoneContact(); + if (sr.getFriend() != null) { + contact.setFriend(sr.getFriend()); + contact.refresh(); + } + } + if (sr.getAddress() != null) { + boolean found = false; + for (ContactAddress ca : result) { + if (ca.getAddress().asStringUriOnly().equals(sr.getAddress().asStringUriOnly())) { + found = true; + break; + } + } + if (!found) { + result.add(new ContactAddress(contact, sr.getAddress().asStringUriOnly(), contact.isFriend())); } } } - if (!searchFound) { - LinphoneContact searchContact = new LinphoneContact(); - searchContact.setFullName(search); - result.add(new ContactAddress(searchContact, searchAddress, false)); - } oldSize = search.length(); contacts = result; @@ -217,7 +221,7 @@ public class SearchContactsListAdapter extends BaseAdapter { } String address = null; - if (c != null) { + if (c != null && c.getFullName() != null) { address = c.getPresenceModelForUriOrTel(a); holder.name.setVisibility(View.VISIBLE); holder.name.setText(c.getFullName()); From 3a9106c0ddd396797378180cfe4f71773d1e5aa1 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 9 Apr 2018 16:10:30 +0200 Subject: [PATCH 07/61] Updated icons --- AndroidManifest.xml | 1 - res/drawable-xhdpi/contacts_sip_default.png | Bin 5248 -> 6365 bytes res/drawable-xhdpi/contacts_sip_selected.png | Bin 4592 -> 5284 bytes res/drawable-xhdpi/dialer_background.png | Bin 60809 -> 67421 bytes res/drawable-xhdpi/linphone_logo.png | Bin 16651 -> 20882 bytes .../linphone_notification_icon.png | Bin 10524 -> 15831 bytes res/drawable-xhdpi/linphone_user.png | Bin 2709 -> 2478 bytes res/drawable-xhdpi/splashscreen.png | Bin 21662 -> 30169 bytes res/layout-land/about.xml | 2 ++ res/layout-land/launch_screen.xml | 2 ++ res/layout/about.xml | 2 ++ res/layout/launch_screen.xml | 2 ++ res/mipmap-anydpi-v26/ic_launcher.xml | 5 ----- res/mipmap-anydpi-v26/ic_launcher_round.xml | 5 ----- res/mipmap-hdpi/ic_launcher.png | Bin 2265 -> 2132 bytes res/mipmap-hdpi/ic_launcher_background.png | Bin 697 -> 0 bytes res/mipmap-hdpi/ic_launcher_foreground.png | Bin 3499 -> 0 bytes res/mipmap-hdpi/ic_launcher_round.png | Bin 4151 -> 0 bytes res/mipmap-mdpi/ic_launcher.png | Bin 1549 -> 1417 bytes res/mipmap-mdpi/ic_launcher_background.png | Bin 416 -> 0 bytes res/mipmap-mdpi/ic_launcher_foreground.png | Bin 1972 -> 0 bytes res/mipmap-mdpi/ic_launcher_round.png | Bin 2597 -> 0 bytes res/mipmap-xhdpi/ic_launcher.png | Bin 2952 -> 2880 bytes res/mipmap-xhdpi/ic_launcher_background.png | Bin 1190 -> 0 bytes res/mipmap-xhdpi/ic_launcher_foreground.png | Bin 4594 -> 0 bytes res/mipmap-xhdpi/ic_launcher_round.png | Bin 5796 -> 0 bytes res/mipmap-xxhdpi/ic_launcher.png | Bin 4855 -> 3951 bytes res/mipmap-xxhdpi/ic_launcher_background.png | Bin 2404 -> 0 bytes res/mipmap-xxhdpi/ic_launcher_foreground.png | Bin 9216 -> 0 bytes res/mipmap-xxhdpi/ic_launcher_round.png | Bin 9387 -> 0 bytes res/mipmap-xxxhdpi/ic_launcher.png | Bin 6481 -> 6221 bytes res/mipmap-xxxhdpi/ic_launcher_background.png | Bin 4215 -> 0 bytes res/mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 11330 -> 0 bytes res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 13161 -> 0 bytes 34 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 res/mipmap-hdpi/ic_launcher_background.png delete mode 100644 res/mipmap-hdpi/ic_launcher_foreground.png delete mode 100644 res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 res/mipmap-mdpi/ic_launcher_background.png delete mode 100644 res/mipmap-mdpi/ic_launcher_foreground.png delete mode 100644 res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 res/mipmap-xhdpi/ic_launcher_background.png delete mode 100644 res/mipmap-xhdpi/ic_launcher_foreground.png delete mode 100644 res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 res/mipmap-xxhdpi/ic_launcher_background.png delete mode 100644 res/mipmap-xxhdpi/ic_launcher_foreground.png delete mode 100644 res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 res/mipmap-xxxhdpi/ic_launcher_background.png delete mode 100644 res/mipmap-xxxhdpi/ic_launcher_foreground.png delete mode 100644 res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 42bd8ad05..c2fb66977 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -66,7 +66,6 @@ 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 delta 5234 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 diff --git a/res/drawable-xhdpi/contacts_sip_selected.png b/res/drawable-xhdpi/contacts_sip_selected.png index 61dd82f65cb5c39595adc3b898b9885644f1e14d..08e20c15fb291929377c161941febc2ab0a596c4 100644 GIT binary patch delta 5271 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 delta 4573 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 Hu0mjfPv&z6 diff --git a/res/drawable-xhdpi/dialer_background.png b/res/drawable-xhdpi/dialer_background.png index fc750d8b2057c8cb73c5608c5f1acb1a1a831d5e..ccb0eedd9178b2036ed3dacffa828b5ef57d9365 100644 GIT binary patch literal 67421 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 literal 60809 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�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 diff --git a/res/drawable-xhdpi/linphone_logo.png b/res/drawable-xhdpi/linphone_logo.png index f7a9f754524314096b3e1f71c11f58bdd3d060e4..ad50cfadea529e5c7af14b29a0191948b87cea83 100644 GIT binary patch literal 20882 zcmeEu^;cA1`0mUAQc4OaNT-sDfJzNYqja~VG}1N9APOkm(uj0-mkI)+gmfb);Lr^N z19$VmyY4@5*Sc%n_5DRWGw1BH_q*SG-e=ESRb{zrM6^T@2;`cAytFz50t5erK?tsZ zKYL!o81M(zTI!h;1X2-6eEJ*@0)aymq@^^ypzAaEsn`EtkG41M=eVcopJ`q%N4*;_ z&wORXN^8DJD|Ba&i6i&MN7-;mp|=Y6-_lZ1E}A?uqwrnBBNo2Cc1=^dLs7K87ID^J zwfu>GdZu<_=5~g6OW#b&&iBI;f90j7D#8963#bB1{h25WG4ZeW!|t*y-O#Y8et%E; zjWK_a9>3XesLg26F*APllMn(X6a+>>B_K^nA5VSPq9R#Rg+6qNHus^( zjf4J@wp{m$84b<5Q%<%LRnI@VJ!;VTDsZSixL!cA@nwyMotznrLclZ-jC$@@kRbL) zF#M)J(ph$KpL^-B!fM27Di@-AkG(OrFsrplVuJC-yN6k}ENeHQxMXk$G!*aZT?w_W zdi;^Q8>63wM6L9u{nUPF)j)LpWf!}vZ;F1p|3{h%yOMR!l=Z&{a8ua@`UQRqw~;rr z{0&;d8zE}BgV(+wX!n)w=B}T+?YZiH3qs2*pZdXx4CLY+aN_*HjDk|m`mVj3I#(N7 z5z0AQcYL;tgxMe6b$CycA9q;hmbFHDIh`q@8#^I$0(^8{Pr7#F-&L^SwSOzv|47;M zTL?XL<{z&ZhP{v(0n_|_sJp5^&-JUybk0VhjYXNw8hXT#-PB)$IqSWBBJ8_@`vsDQ zvzjmHF9)U}xIrP(ao8j!gi|I^YCNn~8um>a!XsK`L9d{*R9-rJ)G3_`v?cpoBEF-F3HbUg3dl zT3OYB7mGr{^H37CX!Bx;QGH7@1!%dO;t!jor%T2|_fv|A!aOcE3`o?p1|{(oZC)a= zRGMyZ+7v^KVz-v&>y}^Qa1YIBI}#YDxLh-?3*pMeU1)QsQg>Hgehe){>+KDt{`})u zpR@!!P9C}chJ!%u@UDKTw;H&%E~!~o$j9Y(rxBvNgI&pZctk_eNBy5n2z1#qLs6eZ zJW`FG`pO{iGF8N#xA=on94_Znt_)`k4aGjnoEL;l5T6Ynl8(MnQM!DRN%b8{#V?OE zdG>7V@g!G1WT1}GqU>P#Romk*J(~Zf8c<1;ALu=~yi0#?E9d}!XGU!n5AG4gh{%wv z!~C)9^|>5L^C{ejw0xRTpzeofd1iAdbl}U0mE6(dyh%lbh1}&m*I6>(C^dw zJ-n$PKK4l2qu$_H_sfaqr=ujatuwk}

_O!H$*+{7L@|QWsq+6$*6?cUS|Lw0r;h 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 z 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 literal 16651 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 z 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 AMF0Q* diff --git a/res/drawable-xhdpi/linphone_notification_icon.png b/res/drawable-xhdpi/linphone_notification_icon.png index fa36e433e24277e614fddfd9b0e6761937c9d5a6..533a934505fb98865512a50b233314d9ca12985b 100644 GIT binary patch literal 15831 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 OEGo&X$yLdih5Rpg1ojI6 diff --git a/res/drawable-xhdpi/linphone_user.png b/res/drawable-xhdpi/linphone_user.png index 3abde596c5cd763981b19316aa8dd2c647fdcf7e..f27bfd6f69895a24aefa342d81a098d64afc4fc7 100644 GIT binary patch delta 2464 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 T+(!Lg^qh{S{{5P}HWB{=&?&YM diff --git a/res/layout-land/about.xml b/res/layout-land/about.xml index d1c2d9d54..21de52645 100644 --- a/res/layout-land/about.xml +++ b/res/layout-land/about.xml @@ -64,6 +64,7 @@ diff --git a/res/layout-land/launch_screen.xml b/res/layout-land/launch_screen.xml index df3c72964..e8eb6f9ff 100644 --- a/res/layout-land/launch_screen.xml +++ b/res/layout-land/launch_screen.xml @@ -20,6 +20,7 @@ diff --git a/res/layout/launch_screen.xml b/res/layout/launch_screen.xml index fb691d241..adcc9b998 100644 --- a/res/layout/launch_screen.xml +++ b/res/layout/launch_screen.xml @@ -19,6 +19,7 @@ - - - - \ No newline at end of file diff --git a/res/mipmap-anydpi-v26/ic_launcher_round.xml b/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 4ae7d1237..000000000 --- a/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/res/mipmap-hdpi/ic_launcher.png b/res/mipmap-hdpi/ic_launcher.png index d8b1b9db81f3ebeb18f186f7a6c1a465514a3f92..af7722189d2bd4363f3b7281a474ace6c6deda50 100644 GIT binary patch delta 2120 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 diff --git a/res/mipmap-hdpi/ic_launcher_background.png b/res/mipmap-hdpi/ic_launcher_background.png deleted file mode 100644 index d05b2f383c793bcf8657fc5c63e7ab0846f87ede..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 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 diff --git a/res/mipmap-hdpi/ic_launcher_round.png b/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index b1736e31646adc96225667bed5a94f9549e96255..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4151 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 FV1gp5qpSb` delta 1532 zcmVTYCW(o|OXZa`or;PeBqEo`r|0?J zgWoyGIdG2W=H|COJLkK+-~0PL?{ocLAs!vxeB|c(MV1)+Reve*w>-D!nq%V`gZ;n_ z246+I<**Bn*@ICzX~A=rB!#A?#)PD1#)M>MCWI*e&BW@pOv`JIj5jP96Z(0YF1RCX zHo-@1H3qI43F!4v16pE5jW-h5G)!naCy+t}ymSTDMT)^T z2$U!nQ&Qf22ndvPVnUuE5br0&@fGk8frRb|^Ik#Nv3~+#N|J(5fO6 zdm^lgMfmeqgqCK66MG~Xw-eC$A}o9ZVaq&(ifstj&J&;}1OO?`cMz_eMmV?yVZ&5} zFGnJ5&p@cXqCUg2Hpv4{ym%_#Z-YZ#O#egdPZa z3lSRXEPsLAszJDL4B_t*B36uWYQNNe({07LI6II*=_h|PyhroLL5jk6Nj%>ER5 zHNmQh6N;{p@X2T^pPWOH&KkuhoLvoM6TNR#b4+5pkGtg)830~cQkEkTJf8_!K91>5JBJ9eN=j*3fhQm7z2&)qu zH>FK8r1tq;6~El`G5ZNv^8tS0;R0C_u*QnNyFVfAHabpV(GaNweh(+Yi9s%iLYrqJ zTsk3>*$;`9;H%Cc%+*>4xF7;yZ#KgDBY!e{7A=)#*>-={09jJ-yN>R>7fzj9N-#h! z)-py(4V@`7BXHJsbmEmWC(Oxk#Ruwr4hEcG6dzcAFDN)SktKAax_!BfMEb`N=DbMG zcT|=GJTW`skI4u#!rJ8t0<(WZI|7ZC1h%Hj9K&XmHq?c+(9{rwbB7VOWk^Cy;(ypq zReS7+S1YORDUhJp*$dMsVqLN%aGh3i_CQmH4^?X<9;Xj-aX*myrmW}lzmO}zd0>qm z;h%DZ+x4B4)UA>X7k8XbI2<1?RKxN7SKZJL@Wk8;@Ps`1+(EMQN(@9;5+yZ$VlQd6 zN)lq>Qk%1Eo`IepOwaquEL>4!s()%pA?d@^BemWI*f8@!^lJf(HLi1$Ce!%55 zn;oxITehD59FbhCn$5-IvM+W^KhTk|=D1E`A~!Bl#Q6!KAQfTVr>%OL*OJt7g%c$r5*&qpVS5`^o$A#lkIP4yxrlx?jzkhVN^c|g# zvp#G&`Lha}kJ6PrPLA4JIx7QaZR>mhV{!Cbv0OAP;0B=pkvFyNR%rzbEnt zTY#Ypdt`p$p}nz)W(Q9Vtz2%1EWOYkiLrf_;q!sGJxdy zVNZ*w#Beb>&O^d;5AP?2GZqDtU3#&0W>xDUL z>MQs!Znce#_0fu&*wry_U2Egim$Md@OjkdqEBHI1?JrM?#P!#|qkV5ng<6+a=>$gJ zfBiJ(+g_dn4UEieJQ4;8Kt{IQ8X22ar?b0P&9#32eZ`vhUyJm9$2DwaTc$cI5n17H z-H4wL0;jgezrFKkk85h}`su|tzcZ~dHPF4t12+xGm@$`6o2ks|O-V*)8pH~ytcvU; zzJy79sLFjVJ$$J1l0og|1);NG_rMj)odYX3hPo3XK8cS%-Lrj(v$x4%BtI~#z5Gxx zt;EA>iwml9Qv-Y5uhSzF{u!-C_07$f8iVmsnNiYXYh3O Kb6Mw<&;$ThG?k11 diff --git a/res/mipmap-mdpi/ic_launcher_foreground.png b/res/mipmap-mdpi/ic_launcher_foreground.png deleted file mode 100644 index c1087a7a7923a95bc131cc5112fb8805922a713a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1972 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 Hu0mjfK;8=; diff --git a/res/mipmap-xhdpi/ic_launcher.png b/res/mipmap-xhdpi/ic_launcher.png index 7c0c8055c495a2c6f8ae74e2fe74e21135c09a06..7e717e4d63117fa369025319e7d70abaed673ad2 100644 GIT binary patch delta 2874 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 Y1Nhil)P~s02mk;807*qoM6N<$f-g^jqW}N^ delta 2946 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 diff --git a/res/mipmap-xhdpi/ic_launcher_background.png b/res/mipmap-xhdpi/ic_launcher_background.png deleted file mode 100644 index 98c831de5f8e2568482de597dd41fb0cd4192946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1190 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)PrOV9E7#aSW-r_4dxj+`|SUu7UoO z9XGW+l-<-Mc9Nk`c52{CKW|lq#{0q#lqV=GPpD25cz>WM@ot>mz5VIu|GwTl-(~gO z>wjKOpht4Xc6e0S0D}0Eo@Z#sg$96em`FW17Lp%qEdg z)vyz!!q@_$N_-i+L;~CL@8%7mInQ#g-}GN}_1x{sFOy#_wVyw4Z;u>Mb2R6f@O|^# zUG^WO$O@o65WBB2uI4u{ex-lAGt9a_`Mvs8?|M7iYDwFMmyFwlW~{HV?eC~-mYgG( z(D3pmH&72F+YBh1jYk3~$oT9Ks@EDA(+VJ}kOBha=Z3Y+VH;;|j!m}*TJ?4M+YtS~ zKfk<5{lc(}{f1Y_8F_vOvv2Y4h54lrD1 zKGOGDOI2Ncjq1_1fhjAt4cnL!dU zAWuokz^nm^HD5-OKzP4Wy*-@mMWs4>Le;lNb7kZXf*g${NEn#UJYYaK0Tfms2_WHf zJ`U(sm^EOBeD>p8&vOAt0@KP-YfGCZn5&6)95Cdep$82yU?hW68ZbQKBo_d~0~96i zpL{s+MDSuhG%14O3#1Dayhsj0NyN~E3wE_}0&-eqpHW^^k=ih?yl4k7823y*tUP(% zeQ2`4?NxBVAV&ta*xY-cZ;joZGb{J!s7JlE>DxP>h6!dHU&PV0b7gb?szklL62C2Y z@0aJ7H&4IF3``cbP0l+XkKmmuG% diff --git a/res/mipmap-xhdpi/ic_launcher_foreground.png b/res/mipmap-xhdpi/ic_launcher_foreground.png deleted file mode 100644 index 8f722f9bce2bf4892be783d2e84ebf9085a76c97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4594 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 diff --git a/res/mipmap-xxhdpi/ic_launcher_background.png b/res/mipmap-xxhdpi/ic_launcher_background.png deleted file mode 100644 index baa7aa0ba02d02c4fa3ae68f4713adbc79ee8baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2404 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4mO}j{44ik3=Evwo-U3d6}R5r*w}m5K!EMx z>SJ$rOuf!-U9jYZ)AGK!XWTOc0~Y1wBsAtWFif|2#BC+40o|N7mx z`q9(Be?D8Uo3;COWnp2ZNxgiV3Xh&%Kg&de9Xo7F!M$9bi?CM~*(7s30W-63XxZt5O7-rqaV3ft$Pk~ z_tuM#SMA(APaJ6JXZ4PjgGZkRvRz!g&tD5@|Ic<036L|C5(_}i07*_%;8Fs4EKmUK zvZf9UFY$JQgiKUGsxD3dd(0W^SL#RziGo9C5h(O{Jwrf2so2?dda-cR4E|leZoMcB z-LvQVb)=|h0{bCVVDGEnOAY}&P!IKo5F03*As)mX8xY^pz#k|<5(tiEP}Bf}%mthZ zCau_EW2M-^8B=?`_;~2YPe7kty%T%ByZiLwpTgh-rP2H%^uD?%Fr5E5V@YjTk`_wT zQ8Q6tNuR(t0i^$t;_n%Uz zy87L-6__dhLrVaZ$bw{gES`au6VxvOP$COGA3=Rq;xsHvhyz#4ZOdas_1E{xg`d6q zbq}y~nq}_@jt`@bxUaQA4{POFL-J!cumllo`}4wNXkt zNX>vK=1_e0qDA3Z^SXV&d?c#>{_EGi(Gp_Nln}M2pa125@cTP+-jzyQVC#v&)78&q Iol`;+06!V$K>z>% diff --git a/res/mipmap-xxhdpi/ic_launcher_foreground.png b/res/mipmap-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 1cb45a6571466198868bf89f9057e2ca619c0558..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9216 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 diff --git a/res/mipmap-xxxhdpi/ic_launcher.png b/res/mipmap-xxxhdpi/ic_launcher.png index 3f468bcb8903ba3d756a4eb429ca87ebe8e4b9bd..05c036329acbd03b67ee4dd46d64a8357de241e4 100644 GIT binary patch literal 6221 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 literal 6481 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 R%T=oc(APFbS83i2{~v3k*gOCL diff --git a/res/mipmap-xxxhdpi/ic_launcher_background.png b/res/mipmap-xxxhdpi/ic_launcher_background.png deleted file mode 100644 index c3a84f539359b66ab3ff185d66fd566cd5cf5285..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4215 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 Zl}vhd2iNG#14`hGFBLTvs^u)h{s#ms53T?J diff --git a/res/mipmap-xxxhdpi/ic_launcher_round.png b/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 54b7defbf0411cb3efe62f398fbc2bef9c180624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13161 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 P00000NkvXXu0mjf-b#_d From 74b8da045eb6fda8f687ba68d5f45ade2d0d9a5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Mon, 9 Apr 2018 16:10:42 +0200 Subject: [PATCH 08/61] Workarounds build issues potentially occuring on some GNU/Linux destributions. --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 8b5c4e030..f75c58bbe 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 8b5c4e0305b8a0fa5c73e4bd49710b8b43e2d973 +Subproject commit f75c58bbef21318b8427fb7337c714b8badd7b88 From fdd609a8cc2486fe2745744228ce33a84dc6f00e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 9 Apr 2018 16:24:05 +0200 Subject: [PATCH 09/61] Removed unused icon --- res/drawable-xhdpi/contact_sip_default.png | Bin 4220 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 res/drawable-xhdpi/contact_sip_default.png diff --git a/res/drawable-xhdpi/contact_sip_default.png b/res/drawable-xhdpi/contact_sip_default.png deleted file mode 100644 index 48184b73ad4a378752ce2f3b970e1dd23e295c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4220 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 IL%GEL2j2DhcK`qY From 671ae4a5f73a888fd23cbf2447da55f89d56d2e6 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 9 Apr 2018 17:14:42 +0200 Subject: [PATCH 10/61] Version bump --- AndroidManifest.xml | 4 ++-- submodules/mediastreamer2 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c2fb66977..c2c972625 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="3994" + android:versionName="3.99.3"> Date: Tue, 10 Apr 2018 18:29:59 +0200 Subject: [PATCH 11/61] Fixes build issue --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 8df9233cc..4f8b9f066 100644 --- a/build.gradle +++ b/build.gradle @@ -48,7 +48,7 @@ dependencies { compile 'com.google.firebase:firebase-messaging:11.+' } else { compile fileTree(include: 'gcm.jar', dir: 'libs') - compile 'com.android.support:support-v4:+' + compile 'com.android.support:support-v4:26.0.1' } } From c0359eabd81110a68b491ee48215f7621a58f6b2 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 11:53:45 +0200 Subject: [PATCH 12/61] Finished IMDN view --- res/raw/linphonerc_default | 2 - res/raw/linphonerc_factory | 1 + .../org/linphone/chat/ImdnFragment.java | 92 ++++++++++++++----- submodules/linphone | 2 +- 4 files changed, 72 insertions(+), 25 deletions(-) diff --git a/res/raw/linphonerc_default b/res/raw/linphonerc_default index e05f6d691..3858ad0de 100644 --- a/res/raw/linphonerc_default +++ b/res/raw/linphonerc_default @@ -1,5 +1,3 @@ - - [sip] contact="Linphone Android" use_info=0 diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 4f629029e..97ee6a417 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -40,6 +40,7 @@ ec_calibrator_cool_tones=1 max_calls=10 history_max_size=100 enable_basic_to_client_group_chat_room_migration=0 +enable_simple_group_chat_message_state=0 [app] activation_code_length=4 diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index b78aa84e9..91b026bbb 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -20,6 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. package org.linphone.chat; import android.app.Fragment; +import android.media.Image; import android.os.Bundle; import android.support.annotation.Nullable; import android.text.Spanned; @@ -43,10 +44,11 @@ import org.linphone.core.Address; import org.linphone.core.ChatMessage; import org.linphone.core.ChatRoom; import org.linphone.core.Core; +import org.linphone.core.ParticipantImdnState; public class ImdnFragment extends Fragment { private LayoutInflater mInflater; - private LinearLayout mRead, mDelivered, mUndelivered; + private LinearLayout mRead, mReadHeader, mDelivered, mDeliveredHeader, mUndelivered, mUndeliveredHeader; private ImageView mBackButton; private ChatBubbleViewHolder mBubble; @@ -59,7 +61,6 @@ public class ImdnFragment extends Fragment { public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { super.onCreate(savedInstanceState); - String roomUri; if (getArguments() != null) { mRoomUri = getArguments().getString("SipUri"); mRoomAddr = LinphoneManager.getLc().createAddress(mRoomUri); @@ -92,6 +93,9 @@ public class ImdnFragment extends Fragment { mRead = view.findViewById(R.id.read_layout); mDelivered = view.findViewById(R.id.delivered_layout); mUndelivered = view.findViewById(R.id.undelivered_layout); + mReadHeader = view.findViewById(R.id.read_layout_header); + mDeliveredHeader = view.findViewById(R.id.delivered_layout_header); + mUndeliveredHeader = view.findViewById(R.id.undelivered_layout_header); mBubble = new ChatBubbleViewHolder(view.findViewById(R.id.bubble)); mBubble.eventLayout.setVisibility(View.GONE); @@ -153,26 +157,70 @@ public class ImdnFragment extends Fragment { // We purposely chose not to display the image } - // TODO: real values - View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); - v.findViewById(R.id.separator).setVisibility(View.GONE); - ((TextView)v.findViewById(R.id.time)).setText("Aujourd'hui - 17h58"); - ((TextView)v.findViewById(R.id.name)).setText("Albert"); - mRead.addView(v); - v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); - ((TextView)v.findViewById(R.id.time)).setText("Aujourd'hui - 17h52"); - ((TextView)v.findViewById(R.id.name)).setText("Charlotte"); - mRead.addView(v); - v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); - v.findViewById(R.id.separator).setVisibility(View.GONE); - ((TextView)v.findViewById(R.id.time)).setText("Aujourd'hui - 17h36"); - ((TextView)v.findViewById(R.id.name)).setText("Fabrice"); - mDelivered.addView(v); - v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); - v.findViewById(R.id.separator).setVisibility(View.GONE); - ((TextView)v.findViewById(R.id.name)).setText("Heloïse"); - mUndelivered.addView(v); - // End of todo + ParticipantImdnState[] participants = message.getParticipantsThatHaveDisplayed(); + mReadHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); + boolean first = true; + for (ParticipantImdnState participant : participants) { + Address address = participant.getParticipant().getAddress(); + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); + String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); + + View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); + ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(LinphoneActivity.instance(), participant.getStateChangeTime(), R.string.messages_date_format)); + ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); + if (participantContact.hasPhoto()) { + LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + } else { + ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); + } + + mRead.addView(v); + first = false; + } + + participants = message.getParticipantsThatHaveReceived(); + mDeliveredHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); + first = true; + for (ParticipantImdnState participant : participants) { + Address address = participant.getParticipant().getAddress(); + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); + String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); + + View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); + ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(LinphoneActivity.instance(), participant.getStateChangeTime(), R.string.messages_date_format)); + ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); + if (participantContact.hasPhoto()) { + LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + } else { + ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); + } + + mDelivered.addView(v); + first = false; + } + + participants = message.getParticipantsThatHaveNotReceived(); + mUndeliveredHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); + first = true; + for (ParticipantImdnState participant : participants) { + Address address = participant.getParticipant().getAddress(); + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); + String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); + + View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); + ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); + if (participantContact.hasPhoto()) { + LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + } else { + ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); + } + + mUndelivered.addView(v); + first = false; + } return view; } diff --git a/submodules/linphone b/submodules/linphone index f75c58bbe..c8ca90cbe 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f75c58bbef21318b8427fb7337c714b8badd7b88 +Subproject commit c8ca90cbe263653cedddae01e2c5f5c1c9db8d39 From 7e613d5401d1727c6c24bbdcd061bf7c9e77cc57 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 12:22:02 +0200 Subject: [PATCH 13/61] Use context menu to go to message's IDMN view instead of clicking on delivery state + improved IMDN view to display incoming messages state as well --- res/menu/chat_bubble_menu.xml | 14 +++++++ res/values/strings.xml | 1 + .../org/linphone/chat/ChatEventsAdapter.java | 6 --- .../org/linphone/chat/GroupChatFragment.java | 38 +++++++++++++++++++ .../org/linphone/chat/ImdnFragment.java | 33 ++++++++++------ 5 files changed, 74 insertions(+), 18 deletions(-) create mode 100644 res/menu/chat_bubble_menu.xml diff --git a/res/menu/chat_bubble_menu.xml b/res/menu/chat_bubble_menu.xml new file mode 100644 index 000000000..01b5a55a3 --- /dev/null +++ b/res/menu/chat_bubble_menu.xml @@ -0,0 +1,14 @@ + +

+ + + + + + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 521acfdf1..212b63db7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -220,6 +220,7 @@ Leave Do you want to delete and leave the selected conversations? + Infos Registered diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index 802f4c677..bd1a58662 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -252,12 +252,6 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.imdmLabel.setText(R.string.file_transfer_error); holder.imdmLabel.setTextColor(mContext.getResources().getColor(R.color.colorI)); } - holder.imdmLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - LinphoneActivity.instance().goToChatMessageImdnInfos(mFragment.getRemoteSipUri(), message.getMessageId()); - } - }); if (isEditionEnabled()) { layoutParams.addRule(RelativeLayout.LEFT_OF, holder.delete.getId()); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 16bb4d367..20d950d23 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -33,12 +33,16 @@ import android.os.Parcelable; import android.provider.MediaStore; import android.text.Editable; import android.text.TextWatcher; +import android.view.ContextMenu; import android.view.LayoutInflater; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; +import android.widget.AdapterView; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; @@ -62,6 +66,7 @@ import org.linphone.core.ChatRoomCapabilities; import org.linphone.core.ChatRoomListener; import org.linphone.core.Content; import org.linphone.core.Core; +import org.linphone.core.Event; import org.linphone.core.EventLog; import org.linphone.core.Factory; import org.linphone.core.LimeState; @@ -206,6 +211,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con mRemoteComposing = view.findViewById(R.id.remote_composing); mChatEventsList = view.findViewById(R.id.chat_message_list); + registerForContextMenu(mChatEventsList); return view; } @@ -320,6 +326,38 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } } + @Override + public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { + super.onCreateContextMenu(menu, v, menuInfo); + MenuInflater inflater = getActivity().getMenuInflater(); + inflater.inflate(R.menu.chat_bubble_menu, menu); + } + + @Override + public boolean onContextItemSelected(MenuItem item) { + AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); + + EventLog event = (EventLog) mEventsAdapter.getItem(info.position); + if (event.getType() != EventLog.Type.ConferenceChatMessage) { + return super.onContextItemSelected(item); + } + + ChatMessage message = event.getChatMessage(); + String messageId = message.getMessageId(); + + switch(item.getItemId()) { + case R.id.imdn_infos: + LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); + return true; + case R.id.copy_text: + return true; + case R.id.delete_message: + return true; + default: + return super.onContextItemSelected(item); + } + } + /** * Keyboard management */ diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index 91b026bbb..fed558bc2 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -111,16 +111,25 @@ public class ImdnFragment extends Fragment { mBubble.imdmLayout.setVisibility(View.INVISIBLE); mBubble.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); + ChatMessage message = mRoom.findMessage(mMessageId); + RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layoutParams.setMargins(100, 10, 10, 10); - mBubble.background.setBackgroundResource(R.drawable.resizable_chat_bubble_outgoing); - Compatibility.setTextAppearance(mBubble.contactName, getActivity(), R.style.font3); - Compatibility.setTextAppearance(mBubble.fileTransferAction, getActivity(), R.style.font15); - mBubble.fileTransferAction.setBackgroundResource(R.drawable.resizable_confirm_delete_button); - mBubble.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask_outgoing); + if (message.isOutgoing()) { + mBubble.background.setBackgroundResource(R.drawable.resizable_chat_bubble_outgoing); + Compatibility.setTextAppearance(mBubble.contactName, getActivity(), R.style.font3); + Compatibility.setTextAppearance(mBubble.fileTransferAction, getActivity(), R.style.font15); + mBubble.fileTransferAction.setBackgroundResource(R.drawable.resizable_confirm_delete_button); + mBubble.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask_outgoing); + } else { + mBubble.background.setBackgroundResource(R.drawable.resizable_chat_bubble_incoming); + Compatibility.setTextAppearance(mBubble.contactName, getActivity(), R.style.font9); + Compatibility.setTextAppearance(mBubble.fileTransferAction, getActivity(), R.style.font8); + mBubble.fileTransferAction.setBackgroundResource(R.drawable.resizable_assistant_button); + mBubble.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask); + } - ChatMessage message = mRoom.findMessage(mMessageId); Address remoteSender = message.getFromAddress(); LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(remoteSender); String displayName; @@ -134,7 +143,7 @@ public class ImdnFragment extends Fragment { mBubble.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); if (contact.hasPhoto()) { - LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), mBubble.contactPicture, contact.getThumbnailUri()); + LinphoneUtils.setThumbnailPictureFromUri(getActivity(), mBubble.contactPicture, contact.getThumbnailUri()); } } else { displayName = LinphoneUtils.getAddressDisplayName(remoteSender); @@ -167,10 +176,10 @@ public class ImdnFragment extends Fragment { View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); - ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(LinphoneActivity.instance(), participant.getStateChangeTime(), R.string.messages_date_format)); + ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); if (participantContact.hasPhoto()) { - LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); } @@ -189,10 +198,10 @@ public class ImdnFragment extends Fragment { View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); - ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(LinphoneActivity.instance(), participant.getStateChangeTime(), R.string.messages_date_format)); + ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); if (participantContact.hasPhoto()) { - LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); } @@ -213,7 +222,7 @@ public class ImdnFragment extends Fragment { v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); if (participantContact.hasPhoto()) { - LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); + LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); } From 8c14f5db251c63a46acbf0b846e499614d64e2e2 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 13:22:34 +0200 Subject: [PATCH 14/61] Added copy text and delete code for chat message's context menu --- src/android/org/linphone/chat/ChatEventsAdapter.java | 5 +++++ src/android/org/linphone/chat/GroupChatFragment.java | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index bd1a58662..d563108cf 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -159,6 +159,11 @@ public class ChatEventsAdapter extends ListSelectionAdapter { return i; } + public void removeItem(int i) { + mHistory.remove(i); + notifyDataSetChanged(); + } + @Override public View getView(int i, View view, ViewGroup viewGroup) { ChatBubbleViewHolder holder; diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 20d950d23..d8acb4c0f 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -22,6 +22,9 @@ package org.linphone.chat; import android.app.Activity; import android.app.Dialog; import android.app.Fragment; +import android.content.ClipData; +import android.content.ClipboardManager; +import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -350,8 +353,15 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); return true; case R.id.copy_text: + if (message.hasTextContent()) { + ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); + ClipData clip = ClipData.newPlainText("Message", message.getTextContent()); + clipboard.setPrimaryClip(clip); + } return true; case R.id.delete_message: + mChatRoom.deleteMessage(message); + mEventsAdapter.removeItem(info.position); return true; default: return super.onContextItemSelected(item); From 4fe70a50ea5afd4d366627a4b72b4fb5219b6977 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 13:23:27 +0200 Subject: [PATCH 15/61] Updated libxml2 repo to github --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 2328eab8c..48a6bfc5b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -46,7 +46,7 @@ url = git://git.linphone.org/belle-sip.git [submodule "submodules/externals/libxml2"] path = submodules/externals/libxml2 - url = git://git.gnome.org/libxml2.git + url = https://github.com/GNOME/libxml2.git ignore = dirty [submodule "submodules/externals/libupnp"] path = submodules/externals/libupnp From 5de27a039321c449c613e83bec1c0e434fe9d388 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 14:19:56 +0200 Subject: [PATCH 16/61] Added resend option to context menu if needed + fixed all english 'Infos' to 'Info' --- res/layout/chat_bubble.xml | 1 - res/menu/chat_bubble_menu_with_resend.xml | 17 +++++++++++++++++ res/values/strings.xml | 8 ++++---- .../org/linphone/chat/ChatEventsAdapter.java | 7 ------- .../org/linphone/chat/GroupChatFragment.java | 18 +++++++++++++++++- .../linphone/firebase/FirebaseMessaging.java | 1 - 6 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 res/menu/chat_bubble_menu_with_resend.xml diff --git a/res/layout/chat_bubble.xml b/res/layout/chat_bubble.xml index 38b9a5784..1933f372a 100644 --- a/res/layout/chat_bubble.xml +++ b/res/layout/chat_bubble.xml @@ -142,7 +142,6 @@ android:id="@+id/message" style="@style/font11" android:autoLink="web" - android:textIsSelectable="true" android:linksClickable="true" android:layout_width="wrap_content" android:layout_height="wrap_content"/> diff --git a/res/menu/chat_bubble_menu_with_resend.xml b/res/menu/chat_bubble_menu_with_resend.xml new file mode 100644 index 000000000..4ca08409b --- /dev/null +++ b/res/menu/chat_bubble_menu_with_resend.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 212b63db7..776ec20af 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -195,10 +195,10 @@ Sent Resend An error occurs when opening this file. - Infos + Info Admin Name your group - Infos + Info Admin Participants Leave the group @@ -220,7 +220,7 @@ Leave Do you want to delete and leave the selected conversations? - Infos + Info Registered @@ -522,5 +522,5 @@ Linphone Service Linphone Notification Group chat room subject - Group chat room infos + Group chat room info diff --git a/src/android/org/linphone/chat/ChatEventsAdapter.java b/src/android/org/linphone/chat/ChatEventsAdapter.java index d563108cf..509d9b246 100644 --- a/src/android/org/linphone/chat/ChatEventsAdapter.java +++ b/src/android/org/linphone/chat/ChatEventsAdapter.java @@ -188,7 +188,6 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.messageStatus.setVisibility(View.INVISIBLE); holder.messageSendingInProgress.setVisibility(View.GONE); holder.imdmLayout.setVisibility(View.INVISIBLE); - holder.imdmLabel.setOnClickListener(null); holder.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); if (isEditionEnabled()) { @@ -245,12 +244,6 @@ public class ChatEventsAdapter extends ListSelectionAdapter { holder.imdmIcon.setImageResource(R.drawable.chat_error); holder.imdmLabel.setText(R.string.error); holder.imdmLabel.setTextColor(mContext.getResources().getColor(R.color.colorI)); - holder.imdmLabel.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - //TODO resend message - } - }); } else if (status == ChatMessage.State.FileTransferError) { holder.imdmLayout.setVisibility(View.VISIBLE); holder.imdmIcon.setImageResource(R.drawable.chat_error); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index d8acb4c0f..2f7772e80 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -332,8 +332,20 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); + + AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; + EventLog event = (EventLog) mEventsAdapter.getItem(info.position); + if (event.getType() != EventLog.Type.ConferenceChatMessage) { + return; + } + MenuInflater inflater = getActivity().getMenuInflater(); - inflater.inflate(R.menu.chat_bubble_menu, menu); + ChatMessage message = event.getChatMessage(); + if (message.getState() == ChatMessage.State.NotDelivered) { + inflater.inflate(R.menu.chat_bubble_menu_with_resend, menu); + } else { + inflater.inflate(R.menu.chat_bubble_menu, menu); + } } @Override @@ -349,6 +361,10 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con String messageId = message.getMessageId(); switch(item.getItemId()) { + case R.id.resend: + mEventsAdapter.removeItem(info.position); + message.resend(); + return true; case R.id.imdn_infos: LinphoneActivity.instance().goToChatMessageImdnInfos(getRemoteSipUri(), messageId); return true; diff --git a/src/android/org/linphone/firebase/FirebaseMessaging.java b/src/android/org/linphone/firebase/FirebaseMessaging.java index f7199d1ef..49cf49271 100644 --- a/src/android/org/linphone/firebase/FirebaseMessaging.java +++ b/src/android/org/linphone/firebase/FirebaseMessaging.java @@ -52,5 +52,4 @@ public class FirebaseMessaging extends FirebaseMessagingService { }); } } - } From aab1e96acdd8c5baefb25c7d425e3deb05c7de62 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 14:21:27 +0200 Subject: [PATCH 17/61] Updated linphone to get IMDN info for incoming messages --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index c8ca90cbe..ad786fd2e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c8ca90cbe263653cedddae01e2c5f5c1c9db8d39 +Subproject commit ad786fd2e671839fb510b719cc37781bbb600378 From a1ad065e7f9886963a20d47a6d8522427f49828d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 15:03:32 +0200 Subject: [PATCH 18/61] Remove IMDN info for incoming messages in 1 to 1 chat rooms --- src/android/org/linphone/chat/GroupChatFragment.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 2f7772e80..3798ccebd 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -346,6 +346,11 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } else { inflater.inflate(R.menu.chat_bubble_menu, menu); } + + if (!message.isOutgoing() && mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) { + // Do not show incoming messages IDMN state in 1 to 1 chat room as we don't receive IMDN for them + menu.removeItem(R.id.imdn_infos); + } } @Override From 99b51822b96acdb11b72409b8dfb571dad07b9b4 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 15:06:38 +0200 Subject: [PATCH 19/61] Fixed crash in IMDN view if participant isn't a contact --- src/android/org/linphone/chat/ImdnFragment.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index fed558bc2..fd0e9acba 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -178,7 +178,7 @@ public class ImdnFragment extends Fragment { v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); - if (participantContact.hasPhoto()) { + if (participantContact != null && participantContact.hasPhoto()) { LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); @@ -200,7 +200,7 @@ public class ImdnFragment extends Fragment { v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); - if (participantContact.hasPhoto()) { + if (participantContact != null && participantContact.hasPhoto()) { LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); @@ -221,7 +221,7 @@ public class ImdnFragment extends Fragment { View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); - if (participantContact.hasPhoto()) { + if (participantContact != null && participantContact.hasPhoto()) { LinphoneUtils.setThumbnailPictureFromUri(getActivity(), ((ImageView)v.findViewById(R.id.contact_picture)), participantContact.getThumbnailUri()); } else { ((ImageView)v.findViewById(R.id.contact_picture)).setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); From 150cfae22d6e344c060aa1af8e7fa51b97828bff Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 16:04:03 +0200 Subject: [PATCH 20/61] Added listener in IMDN view to update info dinamically --- .../org/linphone/chat/ImdnFragment.java | 55 ++++++++++++++----- submodules/linphone | 2 +- 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index fd0e9acba..e36f68810 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -42,6 +42,7 @@ import org.linphone.contacts.ContactsManager; import org.linphone.contacts.LinphoneContact; import org.linphone.core.Address; import org.linphone.core.ChatMessage; +import org.linphone.core.ChatMessageListenerStub; import org.linphone.core.ChatRoom; import org.linphone.core.Core; import org.linphone.core.ParticipantImdnState; @@ -51,10 +52,13 @@ public class ImdnFragment extends Fragment { private LinearLayout mRead, mReadHeader, mDelivered, mDeliveredHeader, mUndelivered, mUndeliveredHeader; private ImageView mBackButton; private ChatBubbleViewHolder mBubble; + private ViewGroup mContainer; private String mRoomUri, mMessageId; private Address mRoomAddr; private ChatRoom mRoom; + private ChatMessage mMessage; + private ChatMessageListenerStub mListener; @Nullable @Override @@ -76,6 +80,7 @@ public class ImdnFragment extends Fragment { } mInflater = inflater; + mContainer = container; View view = mInflater.inflate(R.layout.chat_imdn, container, false); mBackButton = view.findViewById(R.id.back); @@ -111,12 +116,19 @@ public class ImdnFragment extends Fragment { mBubble.imdmLayout.setVisibility(View.INVISIBLE); mBubble.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); - ChatMessage message = mRoom.findMessage(mMessageId); + mMessage = mRoom.findMessage(mMessageId); + mListener = new ChatMessageListenerStub() { + @Override + public void onParticipantImdnStateChanged(ChatMessage msg, ParticipantImdnState state) { + refreshInfo(); + } + }; + mMessage.setListener(mListener); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); layoutParams.setMargins(100, 10, 10, 10); - if (message.isOutgoing()) { + if (mMessage.isOutgoing()) { mBubble.background.setBackgroundResource(R.drawable.resizable_chat_bubble_outgoing); Compatibility.setTextAppearance(mBubble.contactName, getActivity(), R.style.font3); Compatibility.setTextAppearance(mBubble.fileTransferAction, getActivity(), R.style.font15); @@ -130,7 +142,18 @@ public class ImdnFragment extends Fragment { mBubble.contactPictureMask.setImageResource(R.drawable.avatar_chat_mask); } - Address remoteSender = message.getFromAddress(); + return view; + } + + @Override + public void onResume() { + super.onResume(); + + refreshInfo(); + } + + private void refreshInfo() { + Address remoteSender = mMessage.getFromAddress(); LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(remoteSender); String displayName; @@ -149,24 +172,28 @@ public class ImdnFragment extends Fragment { displayName = LinphoneUtils.getAddressDisplayName(remoteSender); mBubble.contactPicture.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); } - mBubble.contactName.setText(LinphoneUtils.timestampToHumanDate(getActivity(), message.getTime(), R.string.messages_date_format) + " - " + displayName); + mBubble.contactName.setText(LinphoneUtils.timestampToHumanDate(getActivity(), mMessage.getTime(), R.string.messages_date_format) + " - " + displayName); - if (message.hasTextContent()) { - String msg = message.getTextContent(); + if (mMessage.hasTextContent()) { + String msg = mMessage.getTextContent(); Spanned text = LinphoneUtils.getTextWithHttpLinks(msg); mBubble.messageText.setText(text); mBubble.messageText.setMovementMethod(LinkMovementMethod.getInstance()); mBubble.messageText.setVisibility(View.VISIBLE); } - String appData = message.getAppdata(); + String appData = mMessage.getAppdata(); if (appData != null) { // Something to display mBubble.fileName.setVisibility(View.VISIBLE); mBubble.fileName.setText(LinphoneUtils.getNameFromFilePath(appData)); // We purposely chose not to display the image } - ParticipantImdnState[] participants = message.getParticipantsThatHaveDisplayed(); + mRead.removeAllViews(); + mDelivered.removeAllViews(); + mUndelivered.removeAllViews(); + + ParticipantImdnState[] participants = mMessage.getParticipantsThatHaveDisplayed(); mReadHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); boolean first = true; for (ParticipantImdnState participant : participants) { @@ -174,7 +201,7 @@ public class ImdnFragment extends Fragment { LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); - View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + View v = mInflater.inflate(R.layout.chat_imdn_cell, mContainer, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); @@ -188,7 +215,7 @@ public class ImdnFragment extends Fragment { first = false; } - participants = message.getParticipantsThatHaveReceived(); + participants = mMessage.getParticipantsThatHaveReceived(); mDeliveredHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); first = true; for (ParticipantImdnState participant : participants) { @@ -196,7 +223,7 @@ public class ImdnFragment extends Fragment { LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); - View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + View v = mInflater.inflate(R.layout.chat_imdn_cell, mContainer, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.time)).setText(LinphoneUtils.timestampToHumanDate(getActivity(), participant.getStateChangeTime(), R.string.messages_date_format)); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); @@ -210,7 +237,7 @@ public class ImdnFragment extends Fragment { first = false; } - participants = message.getParticipantsThatHaveNotReceived(); + participants = mMessage.getParticipantsThatHaveNotReceived(); mUndeliveredHeader.setVisibility(participants.length == 0 ? View.GONE : View.VISIBLE); first = true; for (ParticipantImdnState participant : participants) { @@ -218,7 +245,7 @@ public class ImdnFragment extends Fragment { LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); - View v = mInflater.inflate(R.layout.chat_imdn_cell, container, false); + View v = mInflater.inflate(R.layout.chat_imdn_cell, mContainer, false); v.findViewById(R.id.separator).setVisibility(first ? View.GONE : View.VISIBLE); ((TextView)v.findViewById(R.id.name)).setText(participantDisplayName); if (participantContact != null && participantContact.hasPhoto()) { @@ -230,7 +257,5 @@ public class ImdnFragment extends Fragment { mUndelivered.addView(v); first = false; } - - return view; } } diff --git a/submodules/linphone b/submodules/linphone index ad786fd2e..6b19ae1b6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit ad786fd2e671839fb510b719cc37781bbb600378 +Subproject commit 6b19ae1b6f75f176addfe69d6cbbac6ee154f6d2 From 289b645196c22cc004cfc2afc2647d84ec9ac26c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 16:05:58 +0200 Subject: [PATCH 21/61] Fixed build by updating linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 6b19ae1b6..88a552178 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 6b19ae1b6f75f176addfe69d6cbbac6ee154f6d2 +Subproject commit 88a55217832dfd0ca3f8be98a656646e2136190f From f70a204d99d44d88700a36bd64a0af3b6f88af7d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 11 Apr 2018 16:41:10 +0200 Subject: [PATCH 22/61] Fixed empty selected addresses in magic search bar if not in contacts --- src/android/org/linphone/chat/ImdnFragment.java | 2 +- .../org/linphone/contacts/SearchContactsListAdapter.java | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index e36f68810..112415db7 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -148,7 +148,7 @@ public class ImdnFragment extends Fragment { @Override public void onResume() { super.onResume(); - + refreshInfo(); } diff --git a/src/android/org/linphone/contacts/SearchContactsListAdapter.java b/src/android/org/linphone/contacts/SearchContactsListAdapter.java index 553cb31f7..44a988a33 100644 --- a/src/android/org/linphone/contacts/SearchContactsListAdapter.java +++ b/src/android/org/linphone/contacts/SearchContactsListAdapter.java @@ -37,7 +37,6 @@ import org.linphone.core.SearchResult; import java.util.ArrayList; import java.util.List; -import java.util.Locale; public class SearchContactsListAdapter extends BaseAdapter { @@ -178,6 +177,10 @@ public class SearchContactsListAdapter extends BaseAdapter { } } if (sr.getAddress() != null) { + if (contact.getFullName() == null) { + contact.setFullName(search); + } + boolean found = false; for (ContactAddress ca : result) { if (ca.getAddress().asStringUriOnly().equals(sr.getAddress().asStringUriOnly())) { From a8558d5f29a9f81ba00ddf80d8ea097571a006e2 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 23 Mar 2018 16:24:33 +0100 Subject: [PATCH 23/61] Fix firebase (fix actually backported from dev_group_chat branch, with modifications to handle a build without the google-services jar.) --- src/android/org/linphone/LinphoneManager.java | 16 ++++++++++++---- .../org/linphone/firebase/FirebaseIdService.java | 1 + submodules/linphone | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 5e8a901e0..53ecacdaa 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -691,10 +691,18 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou Log.i("[Push Notification] Assuming GCM jar is not provided."); } }else if (getString(R.string.push_type).equals("firebase")){ - final String refreshedToken = com.google.firebase.iid.FirebaseInstanceId.getInstance().getToken(); - if (refreshedToken != null) { - Log.i("[Push Notification] current token is: " + refreshedToken); - LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); + try{ + Class firebaseClass = Class.forName("com.google.firebase.iid.FirebaseInstanceId"); + Object firebaseInstance = firebaseClass.getMethod("getInstance").invoke(null); + final String refreshedToken = (String)firebaseClass.getMethod("getToken").invoke(firebaseInstance); + + //final String refreshedToken = com.google.firebase.iid.FirebaseInstanceId.getInstance().getToken(); + if (refreshedToken != null) { + Log.i("[Push Notification] current token is: " + refreshedToken); + LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); + } + }catch(Exception e){ + Log.i("[Push Notification] firebase not available."); } } } diff --git a/src/android/org/linphone/firebase/FirebaseIdService.java b/src/android/org/linphone/firebase/FirebaseIdService.java index efff496e3..37f23983a 100644 --- a/src/android/org/linphone/firebase/FirebaseIdService.java +++ b/src/android/org/linphone/firebase/FirebaseIdService.java @@ -32,6 +32,7 @@ public class FirebaseIdService extends FirebaseInstanceIdService { // Get updated InstanceID token. final String refreshedToken = FirebaseInstanceId.getInstance().getToken(); android.util.Log.i("FirebaseIdService", "[Push Notification] Refreshed token: " + refreshedToken); + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { diff --git a/submodules/linphone b/submodules/linphone index 88a552178..701685a9f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 88a55217832dfd0ca3f8be98a656646e2136190f +Subproject commit 701685a9fca6b420861d1917cbadffae6daee71e From 04093860b58e7e8040a980ae1f683abd7d5de0da Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 10:29:52 +0200 Subject: [PATCH 24/61] Fixed issue in GroupChat with contacts using phone number as username --- src/android/org/linphone/contacts/ContactAddress.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/android/org/linphone/contacts/ContactAddress.java b/src/android/org/linphone/contacts/ContactAddress.java index b8ecc7736..e244dbb02 100644 --- a/src/android/org/linphone/contacts/ContactAddress.java +++ b/src/android/org/linphone/contacts/ContactAddress.java @@ -74,7 +74,12 @@ public class ContactAddress implements Serializable { public Address getAddress() { String presence = contact.getPresenceModelForUriOrTel(address); - return Factory.instance().createAddress(presence != null ? presence : address); + Address addr = Factory.instance().createAddress(presence != null ? presence : address); + // Remove the user=phone URI param if existing, it will break everything otherwise + if (addr.hasUriParam("user")) { + addr.removeUriParam("user"); + } + return addr; } public void setSelect(boolean select) { From f4f59cbae65e8c3af513b32fe7c85bc79a9726d7 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 10:37:44 +0200 Subject: [PATCH 25/61] Also use weakEquals on Addresses to prevent future issue --- src/android/org/linphone/chat/GroupInfoAdapter.java | 2 +- src/android/org/linphone/chat/GroupInfoFragment.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/android/org/linphone/chat/GroupInfoAdapter.java b/src/android/org/linphone/chat/GroupInfoAdapter.java index ad69e317c..4577b3625 100644 --- a/src/android/org/linphone/chat/GroupInfoAdapter.java +++ b/src/android/org/linphone/chat/GroupInfoAdapter.java @@ -129,7 +129,7 @@ public class GroupInfoAdapter extends BaseAdapter { } else if (mChatRoom != null) { boolean found = false; for (Participant p : mChatRoom.getParticipants()) { - if (p.getAddress().asStringUriOnly().equals(ca.getAddress().asStringUriOnly())) { + if (p.getAddress().weakEqual(ca.getAddress())) { found = true; break; } diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index fb4354b8a..07275fb4d 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -249,7 +249,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { for (Participant p : mChatRoom.getParticipants()) { boolean found = false; for (ContactAddress c : mParticipants) { - if (c.getAddress().asStringUriOnly().equals(p.getAddress().asStringUriOnly())) { + if (c.getAddress().weakEqual(p.getAddress())) { found = true; break; } @@ -267,7 +267,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { for (ContactAddress c : mParticipants) { boolean found = false; for (Participant p : mChatRoom.getParticipants()) { - if (p.getAddress().asStringUriOnly().equals(c.getAddress().asStringUriOnly())) { + if (p.getAddress().weakEqual(c.getAddress())) { // Admin rights if (c.isAdmin() != p.isAdmin()) { mChatRoom.setParticipantAdminStatus(p, c.isAdmin()); From 2faeabd57c2f7dd8edea1c924027785cddaf428f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 11:58:26 +0200 Subject: [PATCH 26/61] Updated build.gradle --- build.gradle | 2 +- src/android/org/linphone/LinphoneManager.java | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 4f8b9f066..215fb852d 100644 --- a/build.gradle +++ b/build.gradle @@ -48,8 +48,8 @@ dependencies { compile 'com.google.firebase:firebase-messaging:11.+' } else { compile fileTree(include: 'gcm.jar', dir: 'libs') - compile 'com.android.support:support-v4:26.0.1' } + compile 'com.android.support:support-v4:26.0.1' } if (firebaseEnable()) { diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 53ecacdaa..1c18c9f54 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -237,7 +237,6 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou private final String mRingSoundFile; private final String mCallLogDatabaseFile; private final String mFriendsDatabaseFile; - private byte[] mUploadingImage; private Timer mTimer; private Map mUnreadChatsPerRoom; @@ -502,13 +501,6 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou String getDisplayedName(); } - - public interface NewOutgoingCallUiListener { - public void onWrongDestinationAddress(); - public void onCannotGetCallParameters(); - public void onAlreadyInCall(); - } - public void enableCamera(Call call, boolean enable) { if (call != null) { call.enableCamera(enable); From eaf1974501333c132cf195e489467a04a89833d8 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 13:37:57 +0200 Subject: [PATCH 27/61] Use one notification per chat room + remove it when going in the chatroom even without clicking on it --- src/android/org/linphone/LinphoneManager.java | 1 + .../org/linphone/LinphonePreferences.java | 6 +- src/android/org/linphone/LinphoneService.java | 88 +++++++++++-------- .../linphone/activities/LinphoneActivity.java | 6 -- 4 files changed, 54 insertions(+), 47 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 1c18c9f54..7b1fc2bcb 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1121,6 +1121,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou public void setCurrentChatRoomAddress(Address address) { mCurrentChatRoomAddress = address; + LinphoneService.instance().setCurrentlyDisplayedChatRoom(address.asStringUriOnly()); } @Override diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index bc8dcf49c..2b30de7a8 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1148,7 +1148,8 @@ public class LinphonePreferences { lpc.edit(); lpc.setContactUriParameters(contactInfos); lpc.done(); - Log.d("Push notif infos added to proxy config " + lpc.getIdentityAddress().asStringUriOnly()); + if (lpc.getIdentityAddress() != null) + Log.d("Push notif infos added to proxy config " + lpc.getIdentityAddress().asStringUriOnly()); } } lc.refreshRegisters(); @@ -1159,7 +1160,8 @@ public class LinphonePreferences { lpc.edit(); lpc.setContactUriParameters(null); lpc.done(); - Log.d("Push notif infos removed from proxy config " + lpc.getIdentityAddress().asStringUriOnly()); + if (lpc.getIdentityAddress() != null) + Log.d("Push notif infos removed from proxy config " + lpc.getIdentityAddress().asStringUriOnly()); } lc.refreshRegisters(); } diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index 80de37a75..af710db1b 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -22,6 +22,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; import org.linphone.activities.LinphoneActivity; import org.linphone.compatibility.Compatibility; @@ -67,6 +69,7 @@ import android.os.IBinder; import android.os.SystemClock; import android.provider.ContactsContract; import android.provider.MediaStore; +import android.util.ArrayMap; import android.view.WindowManager; /** @@ -92,7 +95,6 @@ public final class LinphoneService extends Service { private final static int NOTIF_ID=1; private final static int INCALL_NOTIF_ID=2; - private final static int MESSAGE_NOTIF_ID=3; private final static int CUSTOM_NOTIF_ID=4; private final static int MISSED_NOTIF_ID=5; private final static int SAS_NOTIF_ID=6; @@ -118,10 +120,8 @@ public final class LinphoneService extends Service { private Notification mNotif; private Notification mIncallNotif; - private Notification mMsgNotif; private Notification mCustomNotif; private Notification mSasNotif; - private int mMsgNotifCount; private PendingIntent mNotifContentIntent; private String mNotificationTitle; private boolean mDisableRegistrationStatus; @@ -131,7 +131,27 @@ public final class LinphoneService extends Service { private LinphoneOverlay mOverlay; private Application.ActivityLifecycleCallbacks activityCallbacks; + private class Notified { + int notificationId; + int numberOfUnreadMessage; + } + private HashMap mChatNotifMap; + private int mLastNotificationId; + + public void setCurrentlyDisplayedChatRoom(String address) { + if (address != null) { + resetMessageNotifCount(address); + } + } + + private void resetMessageNotifCount(String address) { + Notified notif = mChatNotifMap.get(address); + if (notif != null) { + notif.numberOfUnreadMessage = 0; + mNM.cancel(notif.notificationId); + } + } /*Believe me or not, but knowing the application visibility state on Android is a nightmare. After two days of hard work I ended with the following class, that does the job more or less reliabily. @@ -259,10 +279,6 @@ public final class LinphoneService extends Service { getApplication().registerActivityLifecycleCallbacks(activityCallbacks = new ActivityMonitor()); } - public void resetMessageNotifCount() { - mMsgNotifCount = 0; - } - public boolean displayServiceNotification() { return LinphonePreferences.instance().getServiceNotificationVisibility(); } @@ -292,6 +308,8 @@ public final class LinphoneService extends Service { @Override public void onCreate() { super.onCreate(); + mLastNotificationId = 8; // To not interfere with other notifs ids + mChatNotifMap = new HashMap(); setupActivityMonitor(); // In case restart after a crash. Main in LinphoneActivity @@ -584,11 +602,6 @@ public final class LinphoneService extends Service { notifyWrapper(CUSTOM_NOTIF_ID, mCustomNotif); } - public void removeCustomNotification() { - mNM.cancel(CUSTOM_NOTIF_ID); - resetIntentLaunchedOnNotificationClick(); - } - public void displayGroupChatMessageNotification(String subject, String conferenceAddress, String fromName, Uri fromPictureUri, String message) { Intent notifIntent = new Intent(this, LinphoneActivity.class); notifIntent.putExtra("GoToChat", true); @@ -596,10 +609,15 @@ public final class LinphoneService extends Service { PendingIntent notifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT); - if (mMsgNotif == null) { - mMsgNotifCount = 1; + Notified notif = mChatNotifMap.get(conferenceAddress); + if (notif != null) { + notif.numberOfUnreadMessage += 1; } else { - mMsgNotifCount++; + notif = new Notified(); + notif.numberOfUnreadMessage = 1; + notif.notificationId = mLastNotificationId; + mLastNotificationId += 1; + mChatNotifMap.put(conferenceAddress, notif); } Bitmap bm = null; @@ -612,10 +630,10 @@ public final class LinphoneService extends Service { } else { bm = BitmapFactory.decodeResource(getResources(), R.drawable.topbar_avatar); } - mMsgNotif = Compatibility.createMessageNotification(getApplicationContext(), mMsgNotifCount, subject, + Notification notification = Compatibility.createMessageNotification(getApplicationContext(), notif.numberOfUnreadMessage, subject, getString(R.string.group_chat_notif).replace("%1", fromName).replace("%2", message), bm, notifContentIntent); - notifyWrapper(MESSAGE_NOTIF_ID, mMsgNotif); + notifyWrapper(notif.notificationId, notification); } public void displayMessageNotification(String fromSipUri, String fromName, Uri fromPictureUri, String message) { @@ -629,10 +647,15 @@ public final class LinphoneService extends Service { fromName = fromSipUri; } - if (mMsgNotif == null) { - mMsgNotifCount = 1; + Notified notif = mChatNotifMap.get(fromSipUri); + if (notif != null) { + notif.numberOfUnreadMessage += 1; } else { - mMsgNotifCount++; + notif = new Notified(); + notif.numberOfUnreadMessage = 1; + notif.notificationId = mLastNotificationId; + mLastNotificationId += 1; + mChatNotifMap.put(fromSipUri, notif); } Bitmap bm = null; @@ -645,9 +668,9 @@ public final class LinphoneService extends Service { } else { bm = BitmapFactory.decodeResource(getResources(), R.drawable.topbar_avatar); } - mMsgNotif = Compatibility.createMessageNotification(getApplicationContext(), mMsgNotifCount, fromName, message, bm, notifContentIntent); + Notification notification = Compatibility.createMessageNotification(getApplicationContext(), notif.numberOfUnreadMessage, fromName, message, bm, notifContentIntent); - notifyWrapper(MESSAGE_NOTIF_ID, mMsgNotif); + notifyWrapper(notif.notificationId, notification); } public void displayInappNotification(String message) { @@ -660,11 +683,6 @@ public final class LinphoneService extends Service { notifyWrapper(NOTIF_ID, mNotif); } - public void removeMessageNotification() { - mNM.cancel(MESSAGE_NOTIF_ID); - resetIntentLaunchedOnNotificationClick(); - } - public void displaySasNotification(String sas) { mSasNotif = Compatibility.createSimpleNotification(getApplicationContext(), getString(R.string.zrtp_notification_title), @@ -839,7 +857,10 @@ public final class LinphoneService extends Service { // Make sure our notification is gone. stopForegroundCompat(NOTIF_ID); mNM.cancel(INCALL_NOTIF_ID); - mNM.cancel(MESSAGE_NOTIF_ID); + for (Notified notif : mChatNotifMap.values()) { + mNM.cancel(notif.notificationId); + } + // This will prevent the app from crashing if the service gets killed in background mode if (LinphoneActivity.isInstanciated()) { @@ -859,17 +880,6 @@ public final class LinphoneService extends Service { } catch (ClassNotFoundException e) { Log.e(e); } - resetIntentLaunchedOnNotificationClick(); - } - - private void resetIntentLaunchedOnNotificationClick() { - Intent notifIntent = new Intent(this, incomingReceivedActivity); - mNotifContentIntent = PendingIntent.getActivity(this, 0, notifIntent, PendingIntent.FLAG_UPDATE_CURRENT); - - /*if (mNotif != null) { - mNotif.contentIntent = mNotifContentIntent; - } - notifyWrapper(NOTIF_ID, mNotif);*/ } protected void onIncomingReceived() { diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index dc388dcd7..b51a9faa7 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -730,8 +730,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick changeCurrentFragment(FragmentsAvailable.GROUP_CHAT, extras); } - LinphoneService.instance().resetMessageNotifCount(); - LinphoneService.instance().removeMessageNotification(); LinphoneManager.getInstance().updateUnreadCountForChatRoom(sipUri, 0); displayMissedChats(LinphoneManager.getInstance().getUnreadMessageCount()); } @@ -798,8 +796,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } } - LinphoneService.instance().resetMessageNotifCount(); - LinphoneService.instance().removeMessageNotification(); LinphoneManager.getInstance().updateUnreadCountForChatRoom(sipUri, 0); displayMissedChats(LinphoneManager.getInstance().getUnreadMessageCount()); } @@ -1470,7 +1466,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } Bundle extras = intent.getExtras(); if (extras != null && extras.getBoolean("GoToChat", false)) { - LinphoneService.instance().removeMessageNotification(); String sipUri = extras.getString("ChatContactSipUri"); doNotGoToCallActivity = true; displayChat(sipUri, null, null); @@ -1478,7 +1473,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick doNotGoToCallActivity = true; changeCurrentFragment(FragmentsAvailable.HISTORY_LIST, null); } else if (extras != null && extras.getBoolean("GoToInapp", false)) { - LinphoneService.instance().removeMessageNotification(); doNotGoToCallActivity = true; displayInapp(); } else if (extras != null && extras.getBoolean("Notification", false)) { From ec1efbff817d87bc2098ceec6d28dafc86009506 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 14:56:54 +0200 Subject: [PATCH 28/61] Fixed crash --- src/android/org/linphone/LinphoneManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 7b1fc2bcb..edfab3b4c 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1121,7 +1121,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou public void setCurrentChatRoomAddress(Address address) { mCurrentChatRoomAddress = address; - LinphoneService.instance().setCurrentlyDisplayedChatRoom(address.asStringUriOnly()); + LinphoneService.instance().setCurrentlyDisplayedChatRoom(address != null ? address.asStringUriOnly() : null); } @Override From c9b68fd05b23cff3b8fb01601462259a012241ab Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 12 Apr 2018 14:57:28 +0200 Subject: [PATCH 29/61] Hide copy text context menu option if message has no text + hide sender in IMDN view for incoming messages --- src/android/org/linphone/chat/GroupChatFragment.java | 4 ++++ src/android/org/linphone/chat/ImdnFragment.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 3798ccebd..0b11e626b 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -351,6 +351,10 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con // Do not show incoming messages IDMN state in 1 to 1 chat room as we don't receive IMDN for them menu.removeItem(R.id.imdn_infos); } + if (!message.hasTextContent()) { + // Do not show copy text option if message doesn't have any text + menu.removeItem(R.id.copy_text); + } } @Override diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index 112415db7..a41489930 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -198,6 +198,8 @@ public class ImdnFragment extends Fragment { boolean first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -220,6 +222,8 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -242,6 +246,8 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); + if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; + LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); From 9d45aee4524292dc19f38601bad7fb4e56b3c562 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 13 Apr 2018 17:38:00 +0200 Subject: [PATCH 30/61] Added setting for each proxy config to know whether or not to enable push notification --- AndroidManifest.xml | 1 + res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2332 bytes res/mipmap-hdpi/ic_launcher_round_2.png | Bin 0 -> 2741 bytes res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 1491 bytes res/mipmap-mdpi/ic_launcher_round_2.png | Bin 0 -> 1819 bytes res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 3066 bytes res/mipmap-xhdpi/ic_launcher_round_2.png | Bin 0 -> 3619 bytes res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 4576 bytes res/mipmap-xxhdpi/ic_launcher_round_2.png | Bin 0 -> 5316 bytes res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 5107 bytes res/mipmap-xxxhdpi/ic_launcher_round_2.png | Bin 0 -> 5876 bytes res/values/non_localizable_strings.xml | 1 + res/values/strings.xml | 1 + res/xml/account_preferences.xml | 5 +++ .../org/linphone/LinphonePreferences.java | 33 +++++++++++++++--- .../fragments/AccountPreferencesFragment.java | 18 ++++++++++ submodules/externals/zxing-cpp | 1 + submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 19 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 res/mipmap-hdpi/ic_launcher_round.png create mode 100644 res/mipmap-hdpi/ic_launcher_round_2.png create mode 100644 res/mipmap-mdpi/ic_launcher_round.png create mode 100644 res/mipmap-mdpi/ic_launcher_round_2.png create mode 100644 res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 res/mipmap-xhdpi/ic_launcher_round_2.png create mode 100644 res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 res/mipmap-xxhdpi/ic_launcher_round_2.png create mode 100644 res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 res/mipmap-xxxhdpi/ic_launcher_round_2.png create mode 160000 submodules/externals/zxing-cpp diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c2c972625..d9841cbe7 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -66,6 +66,7 @@ 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 literal 0 HcmV?d00001 diff --git a/res/mipmap-mdpi/ic_launcher_round.png b/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..63b55649e1d5628bc24395723494d06304d09674 GIT binary patch literal 1491 zcmV;^1uXiBP)_5ZP$MGz zXIOznNwH%_MMzkR3YuXiBb%hDQ`5o}-=?O|HdFUXdRYGEi$Bxf4kP8~3t)Zqu0(KHMU#Hty z5274&2C0Vw>;vXY+c}k#0AGaLf9xjWVIwVlXa1*GoWWi)`pOZD2@bZovF>_hW!#at z0IhfV%NP*oN-%y^RgvPv1bCikH-UmKLhC)sG9MgLfV3SA{7CRn0Aj7G&Kf`HN8IaU z)&vtrrR|grwuMlZxtHLgR9WVR>k3eoIU6V^*mzV`XU@JxfU?XG@cBTi5-^0(`u%}c zU^#FXw*s`jPg&;My>p>lKZF+toVZ4a9>;SKsO(vRN}v1%gs2H9dqiZ6&>dZifPaAL zKzWaVyMar<0$JC&9JB;uD{wU+?5~1Y-`%X_xNr1o;CY}8nAx+1HUmqg?Hudtl`^J+ zC<9&w9vfB4h5@eL4Ei(RFKIi+`+3YVgm|Gxz;n`ez8$o9sftYXh0H_iNh3(T5!gyB zwnBapQ$rL~l}V@0m)@<&iJd#L1tI2)0Qrp&dPdsq(S#Q&Sqr(#_FqMauSaP1*Cs>$ zh6MNsjR1MqcO;C4fWW{Q<^KgnzzKxtNHLc-pk-79NZa{=aK22AhJM5K(vGI1Q7$>3Y-8GutwU>&%?2u@*@=gm@yLw ziOk%5-PV#TvT~bs=jDG1h2zA#I;0)#;D7X5f#xN7PmyM9E%>mx>sBGIsv`L!6rO1S zXs11_J3GHpi^Ah?3G$X%iq_k7EH>8jLPG4vjX!}AI-o3bdceuA^oy?&aQCHo0zwzi z@iRafa9CO9YY4GM)^%P84Dsr$QeX>ie2PER05ll@vaY>Ngfr{CUIYLu(E4{(o&8<_ zW;~)S^Gn?L{$At(Hc8uw^*^1C^-a_?Xtz;h%Ua#m(jZrLogEd@FJ+`7#6(~&Pzx0F zd!6Q0On1kL zBy#wkhFz1Nj9ms!ffgdW;O~MJXE(Rhlr3>vPK7Xx2yVOxMA%O`Ci^pdTY~mZgRYQv zSL>jugtE-1f$vjrjsrq~8v`RP1!31%B51ow~;SG4*!(kfq=O-29y}dsnsbo%B z=3#$t2B!imtjN!QXIE>Y^*{yiXOINAXBt-}olYyu+yp#MFglnmzzk_S=Mt{Sr0qNj z%=5g!O-DX3GwG62+RjE`4)6EAoVJC*F0NafH%t7n+B(UPgY t%!|~V1WqP%-Nv7=QoKIi5otRc{{yU~;y=5_8j}D3002ovPDHLkV1myguqFTi literal 0 HcmV?d00001 diff --git a/res/mipmap-mdpi/ic_launcher_round_2.png b/res/mipmap-mdpi/ic_launcher_round_2.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5eb34f7ef2a742428ed920238d22ca3201e750 GIT binary patch literal 1819 zcmV+$2juvPP)P53PqZVQw?KDEFcAOvVYAdGWpbp|*FB!KsU({{`mVhRvB0X_x12}E+&-vUIIz`@Ij5#Vzyb~d%P;sp1#ANLpP%3Z3uD$p>u*RO``b?uqLJcZ z3$PzJZpWNVK?HIn9sstEGp+-81uODxl8L_vGuWtIhiQNV90i)~m~*lq0$CD4544~( zuuA%^S1PxkolsM9G#&9RN(V1^nbd)JG*FX20qwn-Gh=B$>lGjm#y6GKU+TtO@D-3j@LW*tI01J$wM}+j&jrK6T>3St|9A$g zX%poepGE{{`f$@r1VGQ0+E-_MXJ4aHT|ep>sS_a@S$xsm z6lU#pn2T>Bc+k{G6U$@kL*JAp2q9zz#BY^b~B(HaEHJQfeau_6B(X~thy4T zd^Y~i+=hSAm!`a7Pnp0dhe!{hogq*P?VQCs*MkgKBLWdH41`sN@Rt=e<0vYDOA>{W z`?l{!WiBhh^|@Y>&prH*0kC=C-;NqM*=#m^0TBq7yzr{CmHx+WA-VTA+p-1CreM9! zq>jq+Ipr1KdjV-LELq_P|8NhfgTF(k2K(`uxq1NEC4BzV+Ue!=R~M0d@e#cKuF}$a zS1Y|+ug2N?DB5+v@U@_I$MAmIy}2r;lZlNO20E3(m^qKY%4S0A9=No=?m7(q_6}07 z{}ohf-^+8)5iH3$K+%>)S`|1H%^B7_boXZP4}O71myV24l_@1lQb)S^qg?qy||z7vb|4 zuIXd~FVT(ad=K?e3j@2hAygkC6kyzJ(X`$yTeao$p__l;FxIG^A1taOE4GTNb=>U(1|`!Y1F`n2secrKZWjVNA-0> zCV}?U`F6=foKK>Y_GM_n3wpt%P(a~xQbe^MgBkYM~zE7A{gMiDaZ;S@MMXUtq^JjA0`3s6G4 zn#THUvmM#^RCm4w&2r$~66!7D9ND!qZwm}t;?BswQ0|)I`NEXY16*UroR9J@DXVrQ z)*{5$$-Y^?)Tji#w4j<;2%+trLwkUgz{_Oc;7?1g1{^?Z8zG({d!}NH-cuLW?FX^h+qW12_Y;0Vi|9w-<8UCa19ZWZ&bxW5=9l{|kA)kES29>7)Pv002ov JPDHLkV1nZkVLt!> literal 0 HcmV?d00001 diff --git a/res/mipmap-xhdpi/ic_launcher_round.png b/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..5733a1203280bd305c4cb87a57ce2545e1004296 GIT binary patch literal 3066 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 IM6N<$f(2{7Z2$lO literal 0 HcmV?d00001 diff --git a/res/mipmap-xhdpi/ic_launcher_round_2.png b/res/mipmap-xhdpi/ic_launcher_round_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7bcaf261cbadd1a7135ee4b863f78cc0fd136c GIT binary patch literal 3619 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 literal 0 HcmV?d00001 diff --git a/res/mipmap-xxhdpi/ic_launcher_round.png b/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..72823c180b251575251c58e03f05d7993f1764b0 GIT binary patch literal 4576 zcmV<65g+b}P)-Z$L-1lq2sq*WTpvRMWP<@OIe>k_8#e|62C@(c z?2?#wmH=zQ!vz@D;o(3MAj?AV3C|dB0yuydynu1AP3&N|Y|9TxC5@(Q|L7JT%QMnQ z8jZR~^_{~3TGQP#_x}3Ut?H^<7M<{1XBXg~fs=tpfE3z)t7`HMYpYMXE=>vGxz2E4 zSjHg-I1*^f_Zn8^@FeYRi*>4{H9V9MQmtf=VP!GyCZJ}=qZ+GX$U|CfTaINd7E&$p zT*nep=@^Km3OE=@0F!_g;FR!Kp}7XA4FCH@pi)Tn+F%pVN?`Xc&e;NJAyrL;MUwz# zgbqyrL&HA}DdN}I0@%PN;O}9CO9-i2OI<*V!XMieIy`qXa6Iq{&^QngDHKZr*abK* z6wc@f+k83jB=9is1&|g}rAtOYp;LM)gk``YU`8=TFb>v*0>)2s_F&@~Xgj$28z;nP);}nr{3FvL$pgvyvbl_DX zl~*7EjSVAR^&sfnOaN>l)q8Oj&~Cu$0$hJ1a5?aXkZM&=dv5E`pwh1Y$~3*T;Tu@i z<%6VWtTX&F2Y3~DUP#p*CjnK5;q=%7+#?~q}mb-0fi#E9k{x{_gf2mFIQ;x+{$v$6M!E9r*?W82QwXZ_zmzgA=O)P5YR;6 z1)!=Q?t3e+NJ#amtwO31 zp6krVvZkVS(r6=ZwgR(-RCf&ITY>Hb^h4l|A|;H5-jO1Bua_E#?!VpDAB9vuA4mZk z@}dm*lyD%`bDg5vwA-6`)5}lCvKJUXMV{s`3KjJorQNN~Vl6yqUufEOrhA@Cw1OxgqXo{Z`QhB&2#9_?5AKDfG+QY|nMxEOrEf zGUo+j{gUAb&voW|u9Ga9fW*CxraNC+oC!?L=xrCi8{er*e+I$oN<-<80?rar^{AI^ z8}S%A5)*sLm$}*?Eem9{4c4xS_NOf{JA=(OQ=kstKDK=09dq*`SF-dY^`ihFsF;Cd@Ql zgPOls&aiKfnzMdWk0VgVfYJlTj)S!^vk%bit#|Y~0u^Cpsv#cK2&p#rCI`C8*vl~c7fIQbJ0}i9NZ|e=Eh67w0>LRZQbO3OUv6~@-W7%GByITP* zHuf@fq8_*+Ujdn>%a9GXTcLQavo`1HcEXr&aFA;|hC0u6#^e-`=Q?{4yt2rG#vUSm zjQ0Qc%L9he!T++j*=xWQa)}_A&XY3&odAr;a-st3;MzM@-inntlHhf}c`sH%;<4+$ zuKo3D90}`tLaG-Db~93)K4}5T%r3p15q&Izxjt5wa5hay^$viLEn9_D3x!k`FcBCLHbRkujQ&>IM zxeGWGbgc`Q1x^C4C)n}O&|MEISw0{16+)_Afjxv&Cl*UQq3<3f*m)^hd5GsawZKhi ze}*Y;zH=iL_LQfT?e|YF)m-}9NNhkC$wYS3?Gx{AU%q&jdH1%HfQ}MUMQWx**el$w|OB!^3f3W0v{--vizdQq79X zmyf04J=durD7Usd@W&j^h>K_djwYx}uvJLa7$;wpL~h}^&IF)_VA`hwb^*%<9i=9^ zqerRbEx2Q)&#_uL5S~83_s$P`>1C;AMh2Js$yD zNcDIr*}CL=H=gSxfUyKqLx%%b0^0~y!k(S=BtIR9!cJ}%i0^}Ck!`)2RZ)#jwLXg9 z-V|Q#Y#Xb*%D09J3(JzVw|qR;Sjk{8 z7z_r3!C)}-ot9VbD{r`HSf#Oqp*tEbsU72;LlQDxrlvk!yr)j5?rD1Ee#e-|(3y@c zP`wMQer{D%zif}$XVi`#m|nhz=T_*3nKh;&h9Q@TUh-T=dlwD8rQ_I_5lB4Pwi2vs zbxPHEuG6yNs;_>{n9L9gXN>1MF9Y8O3v7GyP67(qN-*T_=v2$HhM6@t8S@Q#@k}Hr z?R!k17rl)(_2*myS`M@T=;lUrN?qr<&L6_}Nru6e@3_t^;6>n|j6XMu2U}muDj*@% zLW06hnH&rJpXWOJ8`G9Po9{d!VcB-la~%!b4Rr3A@35arw)rx5W;wPO@V@6dR~QqQ zcGO9I_SR|I_dm$>IU&_ing4HPxscP*jAcOs9|8wOwd9(iPa;}KFgr5WP|jK*)mOTV zKtd`-?mfUP;2VJQT;~|it*AC;k3S7R9DAHMquM9faHp$rz-Kxi$Tj720lLejSQ>a4 zEAg5)qv}L}^=Fy6MKO#x-}GGPUcGhwOZe&T{Fes)t)r>yQb5*_T1k0TR~HK|qWy#L z{ii(FSyVUQY!nu!T&LmkF+TQMWPkj++5mMLukSe|oPU5&qW{cnK{Ku^W98F(UhQNm7hxyw>(wo{@1FMr>GrEDPr0#i$mDCAj7y6m znglS4VC(L_?mXEpq$=}V$LgH_bkz$BnzD!5?+2QDb=&P*FHXa@SGT@7?>X=M#L1nL zIYZ&ta{n2_ybF^16YR45NhqGac5c24kWD<@MxfBq-=`3JR%i{D)k?5|%0ogblP49R zN7dn2&vj;CS+mi)j9`^+q1atWwYux>c-LRD4p>3qx1{`>VCAL@Y|N!_Lw1^8_;3%$?I}y#OJ_SGhE1~S~HB&53DNFxt_Os_ZxXUMl` zZTb$-U-PyafO;WSs?P!nBT*wkQGos|Sg?vPpHSjm1X+@^i7 z>^b?AnX&Tx@|KWFhp+gH$qm3G1Qj=$gjCIgNH8^FPii!9)oJTMsd@QhUIJ^-R8-4~HFQi)DZvq1F zF0OfjcJi#|1ZJ5Q^v z4PfDKYS~=&t)m|I*L*Nqr<9-70hToqtvk;jE{lgh?nj-8(CjHS~A>yjZ` zv*M@0F44s)mc0t?A0(t|=;^7w&SS#i?Wy$kU0I|Jn&r7FUGX&8BX<2kZ^Y9l0fi!3 zfZ5L?=F!%#_BXCNxVNYGNkHKkOikGPF~m0v9TJX1_592NbWtsPSe@f<+qe$DeW-Cp zY}r#t^;uCPP}q#=+B;Uap#95@4`R(8MQ_4(5YpV{dBDjgABtxt1iUh!0t%zi?|?H2 zMqCXsN`lau4Oj0uZ$JeUis*6RRKP5Kj+KNg{4MJz4!D3q5j{^ZZ^cBSIN`VN>0MZP z+kguw?B3rDoJJ`QG?sKEN>p#0eQ4gg==ayap6i?kJZwA@E9!()dF>9_?^7~_RP%r- z1aoW+@!;mjM4(R5=pEodib~ulu;GVh5XqRQnPXT=)QJ>|4aMNv~hNf5Xh0WNac(rza{2oJdf*b+kOR%zbZJ+Hny}VMl zx78-<{^4`KVI?GbHT3q8km_r(Xu`VSb0O6bf)$?&ft4jDnxzC&V3IAm|4E>i(et@lLp|5AV;zBVM5WsZ)|{Waa|;j)9s{-k8;V(6%X6L6 zfg^gD7Gy2D5c?iZm?!N5)T8w?R(WN;PPIh&r>z4X2=kjSfOJQxnj+iHA{Z?E1gIb= z9@Z5%2&rb5oPavh-s~keT~=R%otPhXXGa0;VXv;(Yyp}G_L;a1cwivJ(v^rZigYdl zb_a%q|8(Z3nPX2SE1)b!I*y>2!ZG2Kb{ueI_kE#^_3<4W&vajgB@J9hut{4B@CNXH z)GMoX64FtjeMSH?G9J9cgxtQ><)9Hz7Gn)%dl}qHf|t5GR?$eOwpc^OT-uuJbxL7Z zk4S5*b$Y9JA&IhKox0rZ1SRN_VRN*$glsjMps=bhq*{~hGye}$F9k54_m5ipXtwj@eiqIsH_7=lD& za5sssTyjLi!-becL|LoyNn?pKqJdn)x z9HOuyNXl9*6HS(T$Y+?=W`>wVC&sM>O4}Zj35)O-t|R{3;;ThOUt^fos#sJPhH1$h zfF%MP4fuc=Kpgn8d#t~80}yuq{X7shOzY*L2GC|;{3kx?*r53U8USgSR;h=f@d5MP z2K50&?tc{y;B7Pj8c+*-?0Pt#VOoiN2WXZ1W4n`dzgrKS0c-^72E!w{u=s!xz{M^& z!#!;CO~C&G4+A>@+b}IVZvb)|rMDow3#4J1UdsD2AD%=Ii6c@2bzH0hH2fD zPXNW;#Io0I3fuzR*WVzu=3KF;uDSWer-1|VC>pE>eh)0jC6Ckx^^5$7^YPgi|R`d+WAPwr`X6^jlfR~(^@>3qXInv^j%=_040n{eN&3e zxL#^7%73l9|1?bNj==<2DJunlf8%zf#-jRw+O)@u#V!lZLTJlWJ9%C$t`{26F-on+ z4-7wKgFA?-x)>@6EU#IgUP+9wwzG?{2bI_XDZQGLEALYNy@ zCj+n0VV;nZr0pGgRz0oSA*VyyW3i~-uQ^fH9?0#WGJu_`EplF8 zGED2)0rf!cSW7*iIu&zYPsXD9oB$s2m;~fRRiRWj*CV0C9$aPA25K7U(`OO?4DPe z3(RR#ZTEi}-=Uw0?YNJ!wyWe(?0KKN{rPM*AfNQb^NQEw?&J^tt zlvq^X-t8$IwP#^o%eE2z5M7K~RmP(F$SwhjMfFdS8M0_E=^!nOf?134jhcjvTOib^ zM*c{ElSU>j{0D!IqIpjsTN0gZa4N}6=jqY|eE}%z_#F|9Q1+8GgipSL(i>l)Lvz~US9sp5LPH@ucR6Lku*v~&eE1!tai!v{%bJD5-2gTK-LGvL( zg#->ciHZm6sdy-jR#=)fJehEI1SQu$hX@t!O;voESl4zjS#74;N>Y5qa)Oi3?DKtV z6%#1GbuCWaHj?XC;xz82dD)E_czqy3VUQ|k>fb_2fRxCjm3gy)@|hG}`Y82_XCm|x`Y_aNA+`A}WZgFE zZl8~@5`-R7-2wgNX`F^MXi#+V-Dtzc5jfx|wDPh2eyQ|FYpGv+8Zyy5$9OQYY_A9M z`6~)9xPQOE1E7_UCFK5~5hq_s;`PU{Ui~$8>_cR{9vN>0zfa{&Spj1M8d~WH(0usE zPN87-9r!9H?DtFi$4{kT&RsMwy=o#P_O_Pw#uGAh^m&8w^rYT@mDImhW34u^cW*%i zRVCL|BJ4CK37>W;zRHP2W?qA|(+Hn`!0*I*{c#aKZtmXrA?4sFC9-KZ%}?J%{N)ES zd6Mc|YMD@A?8$9C=&J#Uoc&|8^5H6sIS%^Cvk4t}jwf%= zv-5tmf-*u!o~!zcG>yQ)(;*O40QK(9d}zi5)lVb9VBSQIljhB2%LsE2nZfF9sii=6kd2wj@-IO=S24mQa!Sz0lTJ(+8>^Pa2Hwb znTRjF{>TbsBJTbcC|kG+U->vhq!i) zEvESfiFC)^V@E(h&#)6HN5-2dx%RhcrNi-!I3$OiXPyAmQPyiqkX9qk?kZ%mnU>%G zBD08FfY7x}qY8ltw9fSF@Y7}YA*cNZ+$F`SMCQ2Akd^}u1P+}}aMFy-;=j?806}Q_ z?EL9u$X9^c!(e0YuF5oQyq@@r_aQ=s$V3zI6%T!K!lMAKNMt5*Y5u)LNe5}AksTL` zNDvXwPo0Md=*UD9;Zx@$^b)j4DI!urzG`Ry)Q7Os@bE>DjAQTKj1U?GBZzPb`t;d7 z?v*r@qySRN|9&7PZ%YBBqySP<04e1^eG8I=AQR-1n{Z6pc+u8xN<(C(JzWK@T zxw~H}DRq!rq&Gi(0}cQ4O*WSVCPJG{HY4kn#w~w{v zL{a6P6Pjsg=Yfoeoy|yjqtm#H*f%2ByVQ%Cm0CmA4(jjxBFXn&0$&K3vUYWqL^mR( zBXpa(h0|zx_7-KmA+FS>S82HS%Op3v;0_GSCXy|G?+TzzKpdeV6D_o?xP|(=&Qy8P z&`Wp#XjySL^>_Uj>8iDDH$JU19!$QxC$e??YAmW(0ed$XcGCDNKSj~JW%$P)u56q4 z@yY>dQ#~)@x|mPw0K3{StrNQPKmd2PFZBJScW$KS+9|ZGxJwy0&%I7!&2nlNOwIU~ zPr^f6c)IdHI?#ECkR$PpJe0DV-{|Z$KuS5ThP%%q`Tk!s@7U;kXSnT#X^n2@UpgVo z0y;0jG=aTqBOjj?BDL|a$V9WUdOjq|8($@Mv7h97e+FrHx2@napFpCE4=(F+qPmm> zCWNWGqm9=TmM*Np7d#iRpLB1%V5dhHANMjonKZxCf~T~G7xZYH&HH8Nh;*CkF58>V$> zr$MM&78-Ug?Da<9Ld%4V$>$K*LH59EfjW+2kHUm}pnI3lPMoO&*yBhDo>?JMn)Ii-H&CK<=xxrz9T z_mEuoEKW@fQLxWTzfUtv>&32HxMzUA3Ou#%zBCQN0^b;>4@}(cE7VoEu3LyT{ zuZXYsDbh|Mo2tR*@2>}RykS~Z`vOoULi-QWDeSkOov`p#96;dU=@guQKU&c+^-hdF zz#~&h8qKdGtws`S{)kr8@9)&O$}p{ayN@whsAj=YbL@}bUxJhFzjrH28|*YrLZjeI zS0h4&M9x-TDH~a@Ey4cyJrZxNz~1>!grxS$*YI>=fo2T4p@7S~m=?v~;FC{oOPF)%&4#m+Qp_Pp#F!5ACcxr1EnT+E!>_qs3 zSgV)dG{s22|1!z9*CGl)ghO8Oq8|ch7^bypzX1eLecia1Wc|*QJn^I5dyvUE*dSAY z1Hp;M5}0&SX2w9I6yLD%AOzA*5u9{7TFHq1%{#ZggS}XrHXaiQ3XQQl1|oV|I2=4&^D zQuxCN5k_{h6`2qMQBq35ti@;rSig8FwwL<-%Uq zCmN>J>p3}nb|JB-J`VUOXOj=neR!0~M7!rx1pJvf!lIjJI4A8Oz!#_@l{nIPFj3vx zulM<}aJ#qX04=#$_H^@yKm_%@e<6ME1oJMxlcUo7ErHL>ys$6u>=QsPM9Y9wj+=03 z%T7g7|5*OnKJ&LP*LFJ?OMxoY5;-g(rp2OqpO)F|a~Tzj>Ow0Wr8|wgc4DWCRBPm{ z4m3>b!vXa`ZWxopZvP;TbgouykkdL~z(ZI&kRE7x1UOseLpfVg{AEx9a=pyTVe1pWXVgj(n9Mb!Z_4AWZY84uJUxqcTo z7C2GC<4KhQr+F%bbplZgSPe`hmuEK)j-Cdl1D9ng-2L(l&W>HKmv}OSbrRC10$%`T z0cu0)PFqWW=6@SI^*h6~e%yN4+4Uc-X5qB^Wup08{e8*ADr@ZMf68q_2E}0>T>f~W=RHs-#wZ5113o|> z!qDsn9%^0e7rQJdj0cml3!AkrK|hqtmONwJT&C}`Q)s251HwUwt4)a_U)=OaPcf4~D!`55uk_J404w&)#EIP1=grm2Lwnfs6JAfSlT` z<8hz~*ln2BO#^7RS-^3xT(YJHC zdjPDK7kzRHvZ5tnD)5p!kN{7Y@@pA=W(=tE$scc=2l zwd3!eP7?CcM33^nuS@AfRs}tgXsdo0rKUqYV*<O1Mgc#^Gl}t6td!{{k zVAhNQu7EaDP;uHJ%xyev7lvA|2c%7EPdc(vB!c+1?`mz@rz;v+Kyd@yk-r_V6;=RC zG@G>u{Ud(8e}zV26NKOtojCC3l@Xu4j*Vvrp*{x1VyuTen`f|=gra5>1Pmh~g3zZis|^ds2sx34u97wFk-+bLUJ%dX&q}8daTZZ;cUhw+ z5a^?5U2<>_rwr5;i^A>Y$jhf@IF%xjekn|KZoCLRc`ij;md$^O2M0UQ4`l{VkSf@mX z?*6@taaJIP?`0Diy7c20Y5}P&z8Y64x%G^`ZSXu5BC%5UszTudQn)Pqt zB0tbXzNuY&`IE_ZR=1nME2;$S1DYG}mq$^O^lpj^49cL#O6roh_N;Yrk}(Zm~ENPSt>+)*$c3N87Z zFTMvnOCp-|lu+pF4YrU2U%1EWC;MA`rO_^fi#$(z3vV`Ii`Z)K7q0nm2(!+}2Jtgs zxnR7%#`=|6MpsTC!s$QO)|#-WDTqJs=G}e|XF~rus~Xaix&XP=t1Jmz+a-($9|t;Z zI%GX2q9wL-m$@N|w8)nDgXj-BM9=cxjQ076N&%b6bpje+WM8Uit5U`_}ZS}YNO=tIPy5`aGE z|DQ6&7r5D%+^4B2kiDqSaplJD%>fPm;XMHJ`3%X=LbT|H#zu z=TEQqT*?JwcHlTJxmKg| z^ialVeujGY?X>g44~pc+wC>yckwuSgrERzN1=W@a82j-w-Vr+DnEEXb=8V7h^X|1ohv4%lsc(O-xWgZ`iHx^Q%|gugT}C#fWEtMEWMUw7n6hwCp*tHQONkj8x9 zb==Rs>M~W!_V5{V*U0xW?k{=~_Af0Hv5Q4NaCkQcer;)7I2>ESI&OTFJa2^?NZ--w)*ZHaf9Mit6#l7qU;mYOqz4@s50j) z9XqNA>{pI7)%rd?!ci}Qer2~CBBUJyw$9C8k32q^v`XT+7P2PS&Axk6%}|)YklI%G zcvDGQUoN1&i)BA007-;d3$<(Ia(-sKw&JfpA0RRxPyjbGma^?WI8Ddj40zO@+o&03 zPs0-q^dGX__nV?PRm}y&p%t&!ih^{$=3g3O)GZnqxHGK42o(5 zK{2mfv(5Z_uPYZT(>;h(njg%_HSu;|W8v4cN{{|C%*^J&pc^K<`9XbG@?w2Drc*5n z<#;73!MS*%I=1o8QhhUaKtKVlRSYlJl8L6drhk1iy<+fb_K9s3OX}dy`0El0DN=Uh zc@0ChjFjon6R9rhFt$<3y3Q*>6qZG17zv!C?|mF8`q?Yc-2%Vz)%OE^PM%X~OCGm& zFsHW}u!yd+xecG3-onk6SSPWV5&0E5rp*0zXCi-Bs7g%4E{^OXR|;&j;F~$f`KoQX z{l)I#Og_z=SVNI+jcB80>{{RL1<_?s_kU^v8=(%{i+eI<++Fe?Cw(D7=e&O#Tm%#O zLMl`L>mn}ivMUq8Hz-*|r1 zPAy2zYLyHNxaN3ldn1k%B(GvGbQIs_*!1g;|F5)vX8bKc{S91MSts30mZj{AE?_xL zH`jLikhyhF3+3Z<|J8YA2kcxYUr5UPcqXZ%v+~GShMk?o%x{`3?{Or4IbI)+mO)Xz zE~HghdOj^$$hja~2+dP${$^;W})BGnL&Dh2v4-B63Q-d+3T&4?2o5dbV)(?W&;Fv;N`l4@@lAsm)lP zcYnj14Ob4bp8Uf+cw+1qHZG_!d!N)m0UKYjXr%AT*e}vNrWV5gF&&+yU|@4Ob$jcE?Rkv;FG#25zjH+{x#ni?Yg%~A%v2Mxh!dezPkF&MO!ZT zc*^0*tl#xeQOZ-(yOFO&VKoe;Ezuu*U#YjW6I0@r8+vq=5{$Jpue)osmb`RA)r1ig zk0)gDYkQ7PU0=jo4+_j)S9}kCotw$N2Ck0QaeBawdc&-6ne7IE(vLY0t)To9pdl*O zwU{JMyD5Y7m1ZnzmZcHz1YT1U6>5Y9xhX?NmmZ2D%$xR5di1Aw`PLB0ahOyb4d zJi+-w3N#0l$A*;Hm6yQLMsdF0<23-L`HYDMG{Pk{#l8V!Wgm{FH$t zDDO#mYM;Yv3uxTqQmVTGS`Pwev;A;q_&l#(56_Y7a;0(UL32UmU z#3FT;dwWUN?jrbZ;tvba zRV~?dx0?8^DA~>(Owugn*6UwiMaGS4x;lq{IxEax!JMB2YcGY-s?tKTPG ziGWSy_X}V2$m&FW=@p9#YeUl6d|W@${T@Ur&^$ocN#|_y;uM9MkFn_(uczAUszVKO z@{=Cmn&el`^n=@Qa3$DCvVA;m@H~m=9OqfT7|m#wmpfC5(W&q@C{|3~dwRMt*^g)a z-QsZEB4-Z{X6#sv5O+SB>AvtevRsIVef?&9pt$VkNL7+isDLr%?;{l@-{{V_cU z$Ksp`Mml2GP=YZ(5kUCt3&ouCyhLB8EAI-s)cp*7pKOn!yo3GSIY@){j7)-O%SG$% zp+pBkrk-f>9-E%(qLO(}mraB6;>zgLuvYJYT`=UKT9HMP?`VHo$WsFdXQ#dlD2(+W z-u6+7cfqEVle+q0g#C{rsat_v8%HKlvjfgz)*9I%znid@#w-b6PU#js=|ncRcvxxW OIl$zqg<&1SCFXxvimBxQ literal 0 HcmV?d00001 diff --git a/res/mipmap-xxxhdpi/ic_launcher_round_2.png b/res/mipmap-xxxhdpi/ic_launcher_round_2.png new file mode 100644 index 0000000000000000000000000000000000000000..67fc5b1fc01bd5af6d6cc2d7f7c5a2d5ff4c4612 GIT binary patch literal 5876 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 zimSt5pref_escape_plus_key pref_friendlist_subscribe_key pref_link_account_key + pref_proxy_push_notif_key pref_echo_cancellation_key pref_autostart_key Outbound proxy diff --git a/res/values/strings.xml b/res/values/strings.xml index 776ec20af..8c4aae712 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -331,6 +331,7 @@ Change password Use as default Password changed + Allow push notification SIP Accounts diff --git a/res/xml/account_preferences.xml b/res/xml/account_preferences.xml index 48322744c..6467d2efc 100644 --- a/res/xml/account_preferences.xml +++ b/res/xml/account_preferences.xml @@ -103,6 +103,11 @@ android:key="@string/pref_link_account_key" android:persistent="false"/> + +
0) { for (ProxyConfig lpc : lc.getProxyConfigList()) { - String contactInfos = "app-id=" + appId + ";pn-type=" + getString(R.string.push_type) + ";pn-tok=" + regId + ";pn-silent=1"; - String prevContactParams = lpc.getContactParameters(); - if (prevContactParams == null || prevContactParams.compareTo(contactInfos)!=0) { + if (!lpc.isPushNotificationAllowed()) { lpc.edit(); - lpc.setContactUriParameters(contactInfos); + lpc.setContactUriParameters(null); lpc.done(); if (lpc.getIdentityAddress() != null) - Log.d("Push notif infos added to proxy config " + lpc.getIdentityAddress().asStringUriOnly()); + Log.d("Push notif infos removed from proxy config " + lpc.getIdentityAddress().asStringUriOnly()); + } else { + String contactInfos = "app-id=" + appId + ";pn-type=" + getString(R.string.push_type) + ";pn-tok=" + regId + ";pn-silent=1"; + String prevContactParams = lpc.getContactParameters(); + if (prevContactParams == null || prevContactParams.compareTo(contactInfos) != 0) { + lpc.edit(); + lpc.setContactUriParameters(contactInfos); + lpc.done(); + if (lpc.getIdentityAddress() != null) + Log.d("Push notif infos added to proxy config " + lpc.getIdentityAddress().asStringUriOnly()); + } } } lc.refreshRegisters(); diff --git a/src/android/org/linphone/fragments/AccountPreferencesFragment.java b/src/android/org/linphone/fragments/AccountPreferencesFragment.java index 29cec9696..fd13a8039 100644 --- a/src/android/org/linphone/fragments/AccountPreferencesFragment.java +++ b/src/android/org/linphone/fragments/AccountPreferencesFragment.java @@ -260,6 +260,18 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen return true; } }; + OnPreferenceChangeListener pushNotificationListener = new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + boolean value = (Boolean) newValue; + if (isNewAccount) { + //TODO + } else { + mPrefs.enablePushNotifForProxy(n, value); + } + return true; + } + }; OnPreferenceChangeListener disableChangedListener = new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { @@ -443,6 +455,12 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen Preference linkAccount = advanced.getPreference(10); linkAccount.setOnPreferenceClickListener(linkAccountListener); + CheckBoxPreference pushNotif = (CheckBoxPreference) advanced.getPreference(11); + pushNotif.setOnPreferenceChangeListener(pushNotificationListener); + if(!isNewAccount){ + pushNotif.setChecked(mPrefs.isPushNotifEnabledForProxy(n)); + } + PreferenceCategory manage = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_manage_key)); final CheckBoxPreference disable = (CheckBoxPreference) manage.getPreference(0); disable.setEnabled(true); diff --git a/submodules/externals/zxing-cpp b/submodules/externals/zxing-cpp new file mode 160000 index 000000000..9d5bfe077 --- /dev/null +++ b/submodules/externals/zxing-cpp @@ -0,0 +1 @@ +Subproject commit 9d5bfe077dc53968ea1a4b386be7a2af14121aa0 diff --git a/submodules/linphone b/submodules/linphone index 701685a9f..7705ada69 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 701685a9fca6b420861d1917cbadffae6daee71e +Subproject commit 7705ada69553c274040ce7b3164ea8c1584f7edb diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index 65946f227..0be2e0ed8 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit 65946f227bd94548264e99ea13c662b0b899c18d +Subproject commit 0be2e0ed887ea9db50666d98f0059c92a3f38ad8 From 813cc716c3b27eb7b57a3d5f7be54754973f8255 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 13 Apr 2018 17:47:06 +0200 Subject: [PATCH 31/61] Remove zxing submodule added by mistake --- submodules/externals/zxing-cpp | 1 - 1 file changed, 1 deletion(-) delete mode 160000 submodules/externals/zxing-cpp diff --git a/submodules/externals/zxing-cpp b/submodules/externals/zxing-cpp deleted file mode 160000 index 9d5bfe077..000000000 --- a/submodules/externals/zxing-cpp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9d5bfe077dc53968ea1a4b386be7a2af14121aa0 From ab515273ca18625da73246adda2a21ceaea50ea8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Sun, 15 Apr 2018 19:18:02 +0200 Subject: [PATCH 32/61] Re-enable display of estimated bandwidth, since it is available in the api with the latest liblinphone master merges. --- src/android/org/linphone/call/CallActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/org/linphone/call/CallActivity.java b/src/android/org/linphone/call/CallActivity.java index 54a52d6d1..41bbe4883 100644 --- a/src/android/org/linphone/call/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -1634,7 +1634,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList String.valueOf((int) stats.getUploadBandwidth()) + " kbits/s"); if (isVideo) { formatText(edl, getString(R.string.call_stats_estimated_download), - String.valueOf(0/*(int) stats.getEstimatedDownloadBandwidth()*/) + " kbits/s"); + String.valueOf(stats.getEstimatedDownloadBandwidth()) + " kbits/s"); } formatText(ice, getString(R.string.call_stats_ice), stats.getIceState().toString()); From 39fac5ef87f58fb8679bfa8a2a6238995f3b40f4 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 16 Apr 2018 15:18:15 +0200 Subject: [PATCH 33/61] Updated linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 7705ada69..e220d2ef8 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 7705ada69553c274040ce7b3164ea8c1584f7edb +Subproject commit e220d2ef80d095dfdd725fc15cde76ef4bf8a260 From 7492d94cff72c4df98034557de2eb39470537e4f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 24 Apr 2018 11:02:15 +0200 Subject: [PATCH 34/61] Disabled group chat for 1 to 1 for now --- res/raw/linphonerc_factory | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 97ee6a417..8ae21037f 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -44,7 +44,7 @@ enable_simple_group_chat_message_state=0 [app] activation_code_length=4 -prefer_basic_chat_room=0 +prefer_basic_chat_room=1 [in-app-purchase] server_url=https://subscribe.linphone.org:444/inapp.php From 4eee6bc3dc3a3f96aec4298a37f210de0334bce8 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 25 Apr 2018 16:00:40 +0200 Subject: [PATCH 35/61] Updated IMDN view & text --- res/layout/chat_imdn.xml | 12 +++++++++++- res/values/strings.xml | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/res/layout/chat_imdn.xml b/res/layout/chat_imdn.xml index 26bb71254..3936d40d8 100644 --- a/res/layout/chat_imdn.xml +++ b/res/layout/chat_imdn.xml @@ -26,12 +26,22 @@ android:layout_weight="0.2" android:padding="18dp"/> + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 8c4aae712..70a0169e3 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -220,7 +220,7 @@ Leave Do you want to delete and leave the selected conversations? - Info + Delivery status Registered From e6612833e1333aafd3e3d1bdf77a7b8ccda303e3 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 26 Apr 2018 09:32:23 +0200 Subject: [PATCH 36/61] Hide IMDN context menu for 1to1 chat rooms --- src/android/org/linphone/chat/GroupChatFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 0b11e626b..0b194eb50 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -347,8 +347,8 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con inflater.inflate(R.menu.chat_bubble_menu, menu); } - if (!message.isOutgoing() && mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) { - // Do not show incoming messages IDMN state in 1 to 1 chat room as we don't receive IMDN for them + if (mChatRoom.hasCapability(ChatRoomCapabilities.OneToOne.toInt())) { + // Do not show messages' IDMN state in 1 to 1 chat room as it is already visible in the lower corner of the bubble menu.removeItem(R.id.imdn_infos); } if (!message.hasTextContent()) { From d50abf24fefee464693eade3d7c4997133deb2f8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 26 Apr 2018 16:20:53 +0200 Subject: [PATCH 37/61] update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index e220d2ef8..90ca06096 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit e220d2ef80d095dfdd725fc15cde76ef4bf8a260 +Subproject commit 90ca06096cb4fa875e279f19f1bbcf5830dff4c5 From acc7d1469a1a33dfbd251f94bc400fde64f31f2f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 27 Apr 2018 09:30:06 +0200 Subject: [PATCH 38/61] Disable IMDN agregation for now --- res/raw/linphonerc_factory | 1 + 1 file changed, 1 insertion(+) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index 8ae21037f..d4842aacb 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -41,6 +41,7 @@ max_calls=10 history_max_size=100 enable_basic_to_client_group_chat_room_migration=0 enable_simple_group_chat_message_state=0 +aggregate_imdn=0 [app] activation_code_length=4 From 96217bbc4f5436498f125d43de0c7d530fb8707a Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 27 Apr 2018 14:46:42 +0200 Subject: [PATCH 39/61] Updated submodules & cpim grammar + removed code from IMDN activity as it's now taking cared of in the lib --- res/raw/cpim_grammar | Bin 5239 -> 5346 bytes .../org/linphone/chat/ImdnFragment.java | 3 --- submodules/bctoolbox | 2 +- submodules/belcard | 2 +- submodules/belle-sip | 2 +- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- submodules/oRTP | 2 +- 8 files changed, 6 insertions(+), 9 deletions(-) diff --git a/res/raw/cpim_grammar b/res/raw/cpim_grammar index 6f8b36d954a126b6509342fa2bd3096c72aa2c24..066afb55811392f443765d48c539188ba12c945a 100644 GIT binary patch delta 367 zcmeya@kn!n2cs@)a(-S(YF>$MMrvY8YEdx*5HS7+0u~U9i3=jkz?EE-lg6;wgE4`b zk#+J)7PHAuSvGCnz*@#!&%%|PT3no%o(eYtqL>TaWQZ^ms%i#Cpfwy^X+`N@7WBNoFq0Y@j=m;c~^LNm;4M2{5NKaOD-l<%&`ZOEZfQ+MwQGMYSBmx2Vz( zUvJ*Rd7h0I8W6f=i8-aIlV=DNaC3p(Rh*fg$1qu3uvLNy!3X(?iIG8@k&!`{aq}F( G+e`qn!*!AX delta 239 zcmaE)`CVg!2jk{a#sp?Yw#nC6%viaSi*nK?bF*$1O-xBGDrNwI|3JW%kqQ#nyon2DadMVm>t=SL+e`p5Q#X77 diff --git a/src/android/org/linphone/chat/ImdnFragment.java b/src/android/org/linphone/chat/ImdnFragment.java index a41489930..55374c510 100644 --- a/src/android/org/linphone/chat/ImdnFragment.java +++ b/src/android/org/linphone/chat/ImdnFragment.java @@ -198,7 +198,6 @@ public class ImdnFragment extends Fragment { boolean first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); - if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -222,7 +221,6 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); - if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); @@ -246,7 +244,6 @@ public class ImdnFragment extends Fragment { first = true; for (ParticipantImdnState participant : participants) { Address address = participant.getParticipant().getAddress(); - if (!mMessage.isOutgoing() && address.weakEqual(remoteSender)) continue; LinphoneContact participantContact = ContactsManager.getInstance().findContactFromAddress(address); String participantDisplayName = participantContact != null ? participantContact.getFullName() : LinphoneUtils.getAddressDisplayName(address); diff --git a/submodules/bctoolbox b/submodules/bctoolbox index e9473d2e5..7df8b5ca0 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit e9473d2e5772c9ad1aea83c504b9c6aa9a92bc67 +Subproject commit 7df8b5ca085010ec35103414ed9582412aaff97d diff --git a/submodules/belcard b/submodules/belcard index 8c1027652..7376c8ba9 160000 --- a/submodules/belcard +++ b/submodules/belcard @@ -1 +1 @@ -Subproject commit 8c1027652d3219521a6d9112614066a9cc9f8cb1 +Subproject commit 7376c8ba975617c8b2a7232c3acc428513a4ae8f diff --git a/submodules/belle-sip b/submodules/belle-sip index a9af682b9..cbb4ab4c2 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit a9af682b9931213743c0af65e261e70e2280b1c9 +Subproject commit cbb4ab4c2a58e4fa1954043f6b17266e1685c887 diff --git a/submodules/linphone b/submodules/linphone index 90ca06096..480cca5f5 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 90ca06096cb4fa875e279f19f1bbcf5830dff4c5 +Subproject commit 480cca5f5be39723359a30a319f64f37607cc437 diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index 0be2e0ed8..ad4cdb240 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit 0be2e0ed887ea9db50666d98f0059c92a3f38ad8 +Subproject commit ad4cdb240e553654f87438fb4519754e90d1773d diff --git a/submodules/oRTP b/submodules/oRTP index 996a3d651..1fcd6fd15 160000 --- a/submodules/oRTP +++ b/submodules/oRTP @@ -1 +1 @@ -Subproject commit 996a3d651288e7976581c1b77e2a439c3cfb255d +Subproject commit 1fcd6fd1558f26255ae9dac687191ddf988bfd5b From 2c8e5bfbe11e48206e58f145269e9e4731834a05 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 30 Apr 2018 10:01:11 +0200 Subject: [PATCH 40/61] Updated linphone submodule + improved IMDN view --- res/layout/chat_imdn.xml | 30 +++++++++++++++- .../org/linphone/chat/ImdnFragment.java | 34 ++++++++++++++++--- submodules/linphone | 2 +- 3 files changed, 60 insertions(+), 6 deletions(-) diff --git a/res/layout/chat_imdn.xml b/res/layout/chat_imdn.xml index 3936d40d8..4b94d2c59 100644 --- a/res/layout/chat_imdn.xml +++ b/res/layout/chat_imdn.xml @@ -125,6 +125,34 @@ android:layout_height="wrap_content" android:orientation="vertical"/> + + + + + + + + + + + android:text="@string/error"/> Date: Mon, 30 Apr 2018 10:39:43 +0200 Subject: [PATCH 41/61] Updated linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 0041defd0..716ceeb47 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 0041defd0085c928e6e9dd659f1eae015254cb04 +Subproject commit 716ceeb474a415d685ca0f8377c3bf20819f9866 From bbd2a3de4fac702b81bdf5f7929bd71db2b57620 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 30 Apr 2018 10:59:20 +0200 Subject: [PATCH 42/61] Improved prepare.py script to copy generated cpim grammar to res/raw folder --- prepare.py | 12 ++++++++++++ res/raw/cpim_grammar | Bin 5346 -> 5437 bytes 2 files changed, 12 insertions(+) diff --git a/prepare.py b/prepare.py index 331bd6909..ffad5392d 100755 --- a/prepare.py +++ b/prepare.py @@ -332,6 +332,18 @@ copy-libs: \tif test -d "liblinphone-sdk/android-x86/share/linphonej"; then \\ \t\tcp -R liblinphone-sdk/android-x86/share/linphonej/java/* src/linphone-wrapper; \\ \tfi +\tif test -d "liblinphone-sdk/android-arm/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-arm/share/belr/grammars/cpim_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-armv7/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-armv7/share/belr/grammars/cpim_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-arm64/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-arm64/share/belr/grammars/cpim_grammar res/raw/; \\ +\tfi +\tif test -d "liblinphone-sdk/android-x86/share/belr/grammars"; then \\ +\t\tcp liblinphone-sdk/android-x86/share/belr/grammars/cpim_grammar res/raw/; \\ +\tfi copy-libs-mediastreamer: \trm -rf submodules/mediastreamer2/java/libs/armeabi diff --git a/res/raw/cpim_grammar b/res/raw/cpim_grammar index 066afb55811392f443765d48c539188ba12c945a..c89e4f87f05c19ac615b1ef4b24bc4a8957230ce 100644 GIT binary patch delta 108 zcmaE)xmRmL9iwq#K|!T%MrvY8Y7qkvFtIZv=jWBA=9TD{R2HOKDdeUW7bm8t>L(Xu n<}z?47v-ceY_4Y9$*#uA3Q`XOj4U9M2`Gtd7*wq(=UQ$6>P8+9 delta 19 bcmdn1^+ Date: Mon, 30 Apr 2018 11:08:37 +0200 Subject: [PATCH 43/61] Version bumped to 3.99.4 --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d9841cbe7..2a9256211 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="3995" + android:versionName="3.99.4"> Date: Mon, 30 Apr 2018 14:07:54 +0200 Subject: [PATCH 44/61] Hidden IMDN's Sent state icon --- res/layout/chat_imdn.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/res/layout/chat_imdn.xml b/res/layout/chat_imdn.xml index 4b94d2c59..46a2819ea 100644 --- a/res/layout/chat_imdn.xml +++ b/res/layout/chat_imdn.xml @@ -140,6 +140,7 @@ android:text="@string/sent"/> Date: Thu, 3 May 2018 10:10:18 +0200 Subject: [PATCH 45/61] Updated resources --- libs/gcm.jar | Bin 13662 -> 0 bytes res/drawable-xhdpi/contacts_sip_default.png | Bin 6365 -> 4261 bytes res/drawable-xhdpi/contacts_sip_selected.png | Bin 5284 -> 3501 bytes res/drawable-xhdpi/splashscreen.png | Bin 30169 -> 23756 bytes res/mipmap-xxhdpi/ic_launcher.png | Bin 3951 -> 4524 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 libs/gcm.jar diff --git a/libs/gcm.jar b/libs/gcm.jar deleted file mode 100644 index ac109a830ebe95e89e1456e23328212ad70576dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13662 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 K2s`$_e*GU@T3ng{ diff --git a/res/drawable-xhdpi/contacts_sip_default.png b/res/drawable-xhdpi/contacts_sip_default.png index e1cc47bc9826fe7e8dddad28a9797c4bae0e8f9b..2dad4eb128c87261c8cd0f81628f78074ab89e4d 100644 GIT binary patch literal 4261 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 diff --git a/res/drawable-xhdpi/contacts_sip_selected.png b/res/drawable-xhdpi/contacts_sip_selected.png index 08e20c15fb291929377c161941febc2ab0a596c4..e00dee6a18c8035f94dcc33866bd160a937812b2 100644 GIT binary patch literal 3501 zcmV;e4N~%nP)Dl;}buiW=)91{)O>#Tj7cp8j!vBrtPk=FZ%? z4{Y~Z_x^Eyzu!6M_dWZ!&))m&eNONZpm>hWyk~-Ff?y1`$}Sb~j)GU@EDw3F*1E4@ zlLh%yV|6)2bd=y=Y*xZ!E3im(m(lJDS6lP{fcFP{rlv)yqGrVerUJ``PUw9Bi(@f8I; zo@|_9zAQQpe_Y~YU08_g<=q9EU4VZoQEUvBmSaZ9dvcQlJf3b_>s*MlF`|sBmY@S4 zFHt@}jbCF`R@NZeK`;UPU}Qgabl|LzcjG1lc%11F4ek`}SOsbIB5sm%XPE1`KKs>b zgieRaIR(?PdG9y7B((W@-2)z*Gzo5~@Tb2X=u7NsL71a3h<@%M_%hDL@Lq1aIOP3v z-2xt)oFTZjk6Tt_q2NChJZ+ej)>tdpPR@87ievF-eKjMxQiIuHu8tw-^PdaauzxRY zwS+cpbq9ECHYJ4Oa-(UL>qMYaT+bb_KC|6Sm(rWtN$rk$Bq^!^y?1<)51ItRb-Mc4)j%ma}$@Bdes5p zew{RQ@b!dPdd)hY z9mppbr)$WxhVJyJU0qQ%vwMMdG-t-whBVq5U#KbIafTg}W_EB%xWzjIs%)gA@v(%K zaL!=VzOq2ids6hhgor#lPS;R74sUc!;`wKN=;lGx)|4o_C$w2o6AxLV%jh8vcQVqH z+5sMXCQ*8OSkU8h>|ZV8(+Q6Hjv7(8$!oYf@y^HBQidO#sO?7suH_w*5@z z*$>^4V1n9kcx<*Ew(VBjZoH=k(St)0rHhA3?=1tF`x2Aqgg7H{fliJH46U)G>qX!#0Vs z*XsiA=(mZ|(X{~ltse3%+CCnkaS$)HMWR=$>jLnc_j{BTejgD~J-{>7ue*<=!8ivE zLWXxGUaFx^IJ_~@-_GiDc#(dd0P1fBQO^g7IbxLhpwWpz_@GvXPs%WunHe$zp%sa; zKdlS6Lt;XY<;^d-GM>Db9%|rN@0m5gnqElMJ+b!EL{MCK?mh@F)&%fylQ(gD;?nGR zvT+08qNRz_$u;NhRud8n;q5v+Un?0-!9OOfvF$WiP_k(0@?e6!4#~WcwPf*Q6Qz#~ z$j3j_fQR{(BcI^f1FbSQmav2u=6jJIpJ{_(PN}gtnVGn-uqM8gZggKSy*^2^LrWAZ zDbaLpoRwUZt~|B)lxWW$Z`9!XH3K|0J2*CboId>DvBdDUE^`y2X`FUvRh_%1YY>z1 zD2u~fFIOG#*lKiaac!oDAJE6GZyIh z>rgKAdAd@QZKfc>PLi-)qI#y&=U2VE9P2j{?#6r7pLRv0jc%`!}f79B3?!;dmt zhf&!e54F!^OfPfM1w#=u+AoL4SvD6e>;>#jd_~@|LjrcQsX8pf4gEN+{;OhHXkETf z4`2)B`b|m~DebPuzDW@h9ToDfEO!!#ry3KRwc%&_4pD~rx*Suf2{YVmnVcybSiA+% z*D5i=?&b+?Ifc4%|yAbld!6x^KzJNU6qGsDfl&lau@;KdZd zWgDrSITwbxp59FuT^gMqZuC;`mgdg((lZDBcY^}E)d-F5 zs7J7~K72P}X}2g?JOp6FF*-dHo1D=*;KA;R@?Q?Bxq>UDvwH8XIoQSi-I5t`m821Z zYh#mtOD&w_4y)f+7>5CMN0)2)t#9hjIVNw=fq|w zY&dCjB<0Y+SUi=~`i#wdyPmMlRF375B9e6S#0q`(cg9}{&~ndtgg7bxETHliHwWt z(1#j~Z?wjw71Kf~dId-S#OR_R*6bzz<}>kaMLXmx;s<1mY4 z{^>yIZQLN|PIE2k?%R(o8Q__W+XbH$eM)dBgA6arIXcW8ny|2{4oItg6+B_^yCfA9 z>=))I6AU)s$5i99jIzd5(cw4(dnqj}E*fE*a(w7Do>*UD(7~gxhJ62-AIU(V46r-0 zUvcBdwGPBY!9+~N9@!+cA-%Avf}PRYNVA)r=l(r^cJGF^S3^m6v>&~SJ!o!hdP{MsW%REhF$kUY3TAB9Qc4&`2Ha!WZ)n<{WtcVoKFsrt za+0c2TP+Q*V+Nk2*=-dJc}|0Unw@l5C>9rb%8}tI@v&|F$_w}4L>-pKCZDL1v2~J8 zPh*PU2ju}Cy^$#0t!@F|%uf|ppT-Fm#byiQX^C9=p#XZO{bIBG1-E8Q_^JZYwsQ4ELf>+4=8ctP}nV1?*C z#g(xUqHP2_EAAw^Yf@X=kolsiq0N8x=}Q?v=Vw!z!oSgU8$9=W)vL?W>`DGyHxyS;-ovWwQ(rA497j<>@Oa4kVIQEkVMc`^ z|5eD_d&mG!D*9cH%9h?fDZNcz6@|9TLR&h48eVpkqIX6(&uA55*7iVh-XWKAdGrB&s`8#TG7F%pJT9<x04wL3B_uy&I;Z7>^<9d+7X!6-SSu(e=I1zQQp4IS4C9$7Ct b>xKRo|3WcTDSC_@00000NkvXXu0mjfX|~Tf literal 5284 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�b+g3}0%m4Agl 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 Date: Thu, 3 May 2018 10:15:02 +0200 Subject: [PATCH 46/61] Added back text on launcher & about pages since it's no longer in the logo --- res/layout-land/about.xml | 1 - res/layout-land/launch_screen.xml | 1 - res/layout/about.xml | 1 - res/layout/launch_screen.xml | 1 - 4 files changed, 4 deletions(-) diff --git a/res/layout-land/about.xml b/res/layout-land/about.xml index 21de52645..aeda1db2c 100644 --- a/res/layout-land/about.xml +++ b/res/layout-land/about.xml @@ -73,7 +73,6 @@ diff --git a/res/layout-land/launch_screen.xml b/res/layout-land/launch_screen.xml index e8eb6f9ff..fb015a759 100644 --- a/res/layout-land/launch_screen.xml +++ b/res/layout-land/launch_screen.xml @@ -29,7 +29,6 @@ diff --git a/res/layout/launch_screen.xml b/res/layout/launch_screen.xml index adcc9b998..069555e03 100644 --- a/res/layout/launch_screen.xml +++ b/res/layout/launch_screen.xml @@ -28,7 +28,6 @@ Date: Fri, 4 May 2018 11:13:45 +0200 Subject: [PATCH 47/61] Switched IMDN agregation default value to true --- res/raw/linphonerc_factory | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/raw/linphonerc_factory b/res/raw/linphonerc_factory index d4842aacb..92ee60ca2 100644 --- a/res/raw/linphonerc_factory +++ b/res/raw/linphonerc_factory @@ -41,7 +41,7 @@ max_calls=10 history_max_size=100 enable_basic_to_client_group_chat_room_migration=0 enable_simple_group_chat_message_state=0 -aggregate_imdn=0 +aggregate_imdn=1 [app] activation_code_length=4 From cfc5d0faae0f9d108e05e5f75d6ae0702bfc9eed Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 11:56:40 +0200 Subject: [PATCH 48/61] Updated logo --- res/drawable-xhdpi/linphone_logo_orange.png | Bin 9887 -> 9311 bytes res/mipmap-hdpi/ic_launcher_round.png | Bin 2332 -> 2343 bytes res/mipmap-hdpi/ic_launcher_round_2.png | Bin 2741 -> 0 bytes res/mipmap-mdpi/ic_launcher_round.png | Bin 1491 -> 1467 bytes res/mipmap-mdpi/ic_launcher_round_2.png | Bin 1819 -> 0 bytes res/mipmap-xhdpi/ic_launcher_round.png | Bin 3066 -> 3178 bytes res/mipmap-xhdpi/ic_launcher_round_2.png | Bin 3619 -> 0 bytes res/mipmap-xxhdpi/ic_launcher_round.png | Bin 4576 -> 5416 bytes res/mipmap-xxhdpi/ic_launcher_round_2.png | Bin 5316 -> 0 bytes res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 5107 -> 8083 bytes res/mipmap-xxxhdpi/ic_launcher_round_2.png | Bin 5876 -> 0 bytes 11 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 res/mipmap-hdpi/ic_launcher_round_2.png delete mode 100644 res/mipmap-mdpi/ic_launcher_round_2.png delete mode 100644 res/mipmap-xhdpi/ic_launcher_round_2.png delete mode 100644 res/mipmap-xxhdpi/ic_launcher_round_2.png delete mode 100644 res/mipmap-xxxhdpi/ic_launcher_round_2.png diff --git a/res/drawable-xhdpi/linphone_logo_orange.png b/res/drawable-xhdpi/linphone_logo_orange.png index f5fd6f597dadea749bd59f96b7371f829c4d3b53..a1d0a8bdab6e177847db56989d7a40a4fd7a43cf 100644 GIT binary patch literal 9311 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 E0PAWps{jB1 literal 9887 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 b*ySB@5K!Mfs3QV*zU-bV5cIlA(F*cEScJ%O diff --git a/res/mipmap-hdpi/ic_launcher_round.png b/res/mipmap-hdpi/ic_launcher_round.png index 9396c0edc119518f8fda74476695d18703491e22..a0dc2e060e633b70e8dbc1b38f20b9ee18df531c 100644 GIT binary patch delta 2285 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 diff --git a/res/mipmap-hdpi/ic_launcher_round_2.png b/res/mipmap-hdpi/ic_launcher_round_2.png deleted file mode 100644 index 5933a322138cc9233208bd21e4fac098e9f01268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2741 zcmV;m3QF~fP) zSX*bPwYDmbox*A?HKShUy?yZ%Z+@X0Ehqs zfzf~fh6CZ_4$uNIl=nGG0c-{mKn!TGY^RBCknjiI57-Kf@COFc^?LXffRBNl zmhH%l0`ej40LGr=n3Qkgb1mE1-~7j_o47DCpX8hkrIXEbL9B?* z4^KK}K$h(s1RewwIVm+9>28Xa8&{s9ivjR=U^ls~=c47tPfrPuWjhVM0Fa3g_f{|H zGxby~2=w4$a$QP=RVukMT5b$!S02<#Ev4ukssPTkY$tW>2Z0lS2>?6&iCXjmKtud_ zcUpU0tQ;8COW-u?@@Tm^{iH4yEjP~a^PmX5O+r)?Fwe98SXN5(;iM<+{z5j* zZ>w0nm2|&H^)mN5jL5(5F_!J@Y|VmhX-{;^Whe80EsW9#{pgIJ-(H6!1J1m+G5~_!zSggI(!5o4?MziY(yxJn%i$6Z=4PU zbC-^Ba_#grr0inCJsW5gh$p3T7`xwDQ1{ zTb||MvKtYaeyaeeo?oyneDjm%hbGNx^ExtC1BnKb?>vvQel1Nq-$pMEfUaj};8O~u zi&yQDS9%e~#n%v;cpW0YFQTAdn};Ufeul)rIJMM zc!|*YWu49&GXv-_@yCcg{Ud~F^k}&5bLU#}#!t`4`7#=kLKj_+FnVy}Rtl}44}mdL zGIq+$#%xUkJW<;_SP>)A^)oR$z9zZ#$(}21ckm~WwT4ggJ5i}8I5z6y= z29E2Ynfeh`;nJWMc&?5yPvi1la^Kg-UrKlwUt-N2W3<5C1NL!E}D58|cM@5qbG&;UVN- zb1#9RrCnRobqAo9w32vr`|+ywAZsgd_wG%1E`>*G*Q?+#2V4?YMSL7Mf z0)tCWQvvW%G3dGo1j{Z)<7XcbR>TzLB$Ei~ckbg#L$T1~uxLu>CN@!Aqs6ogCt zxGEANKUCNFr&%=GvyrjdUJ0k^{eMz-|0EKxFF_c_ZoJe14ZyOU3J`x5A%mvvYpJ_; z9I|FluY%L~;gPA9hI!+tE)!iY*>!0`!bgu3h%&f zs&9*s+_VbiI?d~T^}wqwa{lPTfqjYBzXO~FfUcopakPGeDVXtFj7w+d7Mhep?5R6R zZdvK4>n+OC_buBQ*P>Xp9<8hwX5<5upW=HGVH&7-l-SC7)ctxqiMN*LKfL?3u|)?~XUmGqDYt4QtL zLj1)CNPV^$E&qfoFV&XqSgisAh|V+bMzOfn){_vZWCEcF&`ZV=y5L&OsdpjFaMrR( zZeNSL>n)s(E0GP+bU_?!bLHg{%XT)L7|{HJ5|pe!skSRZB|%BF!V>gB=U{wm0ig@Z zvcrvH)i`gj!P)c_vT|2?T^`YPk*g#~?>&N{ORc5x#uEZcCyvHkU`6{!>o!H0|7uTk$5ct`e1ufdpZi9q)}Rwc2_jd1I^9d~2#(Qf9dyzE%(9=O4;W2i!wTG;8~iUa2~@Hcd8j&l z&UhW(!5VNHP@aQwReE0OoRz)^Vy0y$+;#)kUNJL+fhNyP&P9wOxvq8=nKia)Qjsi6;Fm%HGNZEMAkN@wb0oVI)9dr&5K+)a*x({8S0<0!?UVga@A*_r501Pbti|BMq1c%mHriVK9xrBWT*o*3$U) zqsBJ__z5rxB}J>RR7el4Xc)y0eJU~z$RC78`d!y0e#Gl;O$R=(Z0EBRj4uKV7X`(C zQH{|Ft#0L`BnW+xWhWk`tLF}Xi>`}-LWGEPL6&^VTXfajHEfZL9k?09Il!^u{aMR) zW_39rA5s`8$B0n=)v75m86hSD`K@1Dwa5Dp0Na4|{*82alee0MC8GGz{mLKTmB2#M zo6i;b|FY9hXSz4~M9Yl=z#_dR;BcTna5i9|WL$*8bMV|@=)o^kvT-FsGf8g^_zCHa vpDKMohy27fljDj2gGg^tR%zMJI)MKH(zOfpMko7B00000NkvXXu0mjfK_nR) diff --git a/res/mipmap-mdpi/ic_launcher_round.png b/res/mipmap-mdpi/ic_launcher_round.png index 63b55649e1d5628bc24395723494d06304d09674..6822c177e31fe62182a03d9a1d54ab193950dedc 100644 GIT binary patch delta 1402 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 JPDHLkV1nZkVLt!> diff --git a/res/mipmap-xhdpi/ic_launcher_round.png b/res/mipmap-xhdpi/ic_launcher_round.png index 5733a1203280bd305c4cb87a57ce2545e1004296..af7199df705e127090c8352efad410025f9120f4 100644 GIT binary patch delta 3127 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 RBp?6)002ovPDHLkV1i16-{k-R delta 3014 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 IM6N<$f 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 diff --git a/res/mipmap-xxhdpi/ic_launcher_round.png b/res/mipmap-xxhdpi/ic_launcher_round.png index 72823c180b251575251c58e03f05d7993f1764b0..62992b974bea266b72e03365f1c58642bbb6c8c1 100644 GIT binary patch delta 5382 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 delta 4536 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 WF9k54_m5ipXtwj@eiqIsH_7=lD& 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 U&+@7)j{pDw07*qoM6N<$g09$tPyhe` delta 5071 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 Date: Fri, 4 May 2018 11:57:19 +0200 Subject: [PATCH 49/61] Updated gradle to 4.7 --- build.gradle | 18 ++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- libLinphoneAndroidSdk.gradle | 7 +++---- linphoneAndroidSdk.gradle | 10 ++++------ 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/build.gradle b/build.gradle index 215fb852d..47753c428 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.1.0' if (googleFile.exists()) { classpath 'com.google.gms:google-services:3.1.0' } @@ -38,18 +38,16 @@ allprojects { apply plugin: 'com.android.application' dependencies { - androidTestCompile('com.android.support.test.espresso:espresso-core:+') { + androidTestImplementation('com.android.support.test.espresso:espresso-core:+') { exclude module: 'support-annotations' } - androidTestCompile 'com.jayway.android.robotium:robotium-solo:+' - androidTestCompile 'junit:junit:+' - compile 'org.apache.commons:commons-compress:+' + androidTestImplementation 'com.jayway.android.robotium:robotium-solo:5.6.3' + androidTestImplementation 'junit:junit:4.12' + implementation 'org.apache.commons:commons-compress:1.16.1' if (firebaseEnable()) { - compile 'com.google.firebase:firebase-messaging:11.+' - } else { - compile fileTree(include: 'gcm.jar', dir: 'libs') + implementation 'com.google.firebase:firebase-messaging:15.0.2' } - compile 'com.android.support:support-v4:26.0.1' + implementation 'com.android.support:support-v4:26.0.1' } if (firebaseEnable()) { @@ -84,7 +82,6 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.1" applicationId getPackageName() multiDexEnabled true @@ -165,6 +162,7 @@ android { packagingOptions { pickFirst 'META-INF/NOTICE' pickFirst 'META-INF/LICENSE' + pickFirst 'META-INF/MANIFEST.MF' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4348bf926..0ef660aa1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index 79a59d80d..3a75261e4 100644 --- a/libLinphoneAndroidSdk.gradle +++ b/libLinphoneAndroidSdk.gradle @@ -8,7 +8,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.1.0' } } @@ -28,8 +28,8 @@ configurations { apply plugin: 'com.android.library' dependencies { - compile group: 'org.apache.commons', name: 'commons-compress', version: '+' - javadocDeps group: 'org.apache.commons', name: 'commons-compress', version: '+' + implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' + javadocDeps group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' } def srcDir = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper'] @@ -44,7 +44,6 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.0" multiDexEnabled true } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 0aedb70c7..4e811dab4 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -14,7 +14,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.1.0' if (googleFile.exists()) { classpath 'com.google.gms:google-services:3.1.0' } @@ -33,12 +33,11 @@ allprojects { apply plugin: 'com.android.library' dependencies { - compile group: 'org.apache.commons', name: 'commons-compress', version: '+' + implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' if (firebaseEnable()) { - compile 'com.google.firebase:firebase-messaging:11.2.0' + implementation 'com.google.firebase:firebase-messaging:15.0.2' } else { - compile fileTree(include: 'gcm.jar', dir: 'libs') - compile 'com.android.support:support-v4:+' + implementation 'com.android.support:support-v4:26.0.1' } } @@ -68,7 +67,6 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.0" multiDexEnabled true } From 0dc98268c569a7198e4bdb6a1c472fc6f86a72b4 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 13:38:08 +0200 Subject: [PATCH 50/61] Removed all references to old GCM API --- AndroidManifest.xml | 22 ---- build.gradle | 4 +- src/android/org/linphone/gcm/GCMReceiver.java | 31 ------ src/android/org/linphone/gcm/GCMService.java | 105 ------------------ 4 files changed, 2 insertions(+), 160 deletions(-) delete mode 100644 src/android/org/linphone/gcm/GCMReceiver.java delete mode 100644 src/android/org/linphone/gcm/GCMService.java diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 2a9256211..eb5f9c082 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -9,10 +9,6 @@ android:minSdkVersion="16" android:targetSdkVersion="26"/> - - - - @@ -266,24 +262,6 @@ - - - - Date: Fri, 4 May 2018 15:09:20 +0200 Subject: [PATCH 51/61] [Switch submodule branch] Uncommented tunnel related code --- src/android/org/linphone/LinphoneManager.java | 30 +++++++++---------- .../org/linphone/LinphonePreferences.java | 11 ++++--- .../linphone/fragments/SettingsFragment.java | 8 ++--- submodules/belr | 2 +- submodules/linphone | 2 +- 5 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index edfab3b4c..7d67852d3 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -64,7 +64,6 @@ import android.os.Handler; import android.os.PowerManager; import android.os.PowerManager.WakeLock; import android.os.Vibrator; -import android.preference.CheckBoxPreference; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; import android.telephony.TelephonyManager; @@ -100,7 +99,6 @@ import org.linphone.core.Core.LogCollectionUploadState; import org.linphone.core.RegistrationState; import org.linphone.core.ConfiguringState; import org.linphone.core.CoreException; -import org.linphone.core.ErrorInfo; import org.linphone.core.Factory; import org.linphone.core.CoreListener; import org.linphone.core.Event; @@ -110,13 +108,13 @@ import org.linphone.core.InfoMessage; import org.linphone.core.PresenceActivity; import org.linphone.core.ProxyConfig; import org.linphone.core.PublishState; +import org.linphone.core.Tunnel; import org.linphone.core.tools.OpenH264DownloadHelperListener; -import org.linphone.core.PayloadType; import org.linphone.core.PresenceBasicStatus; import org.linphone.core.PresenceModel; import org.linphone.core.Reason; import org.linphone.core.SubscriptionState; -//import org.linphone.core.TunnelConfig; +import org.linphone.core.TunnelConfig; import org.linphone.core.VersionUpdateCheckResult; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; @@ -530,17 +528,18 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou if (!mLc.tunnelAvailable()) return; - /*NetworkInfo info = mConnectivityManager.getActiveNetworkInfo(); - mLc.tunnelCleanServers(); + NetworkInfo info = mConnectivityManager.getActiveNetworkInfo(); + Tunnel tunnel = mLc.getTunnel(); + tunnel.cleanServers(); TunnelConfig config = mPrefs.getTunnelConfig(); if (config.getHost() != null) { - mLc.tunnelAddServer(config); + tunnel.addServer(config); manageTunnelServer(info); - }*/ // TODO FIXME + } } private boolean isTunnelNeeded(NetworkInfo info) { - /*if (info == null) { + if (info == null) { Log.i("No connectivity: tunnel should be disabled"); return false; } @@ -555,7 +554,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou && getString(R.string.tunnel_mode_entry_value_3G_only).equals(pref)) { Log.i("need tunnel: 'no wifi' connection"); return true; - }*/ // TODO FIXME + } return false; } @@ -563,19 +562,20 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou private void manageTunnelServer(NetworkInfo info) { if (mLc == null) return; if (!mLc.tunnelAvailable()) return; + Tunnel tunnel = mLc.getTunnel(); - /*Log.i("Managing tunnel"); + Log.i("Managing tunnel"); if (isTunnelNeeded(info)) { Log.i("Tunnel need to be activated"); - mLc.tunnelSetMode(Core.TunnelMode.enable); + tunnel.setMode(Tunnel.Mode.Enable); } else { Log.i("Tunnel should not be used"); String pref = mPrefs.getTunnelMode(); - mLc.tunnelSetMode(Core.TunnelMode.disable); + tunnel.setMode(Tunnel.Mode.Disable); if (getString(R.string.tunnel_mode_entry_value_auto).equals(pref)) { - mLc.tunnelSetMode(Core.TunnelMode.auto); + tunnel.setMode(Tunnel.Mode.Auto); } - }*/ // TODO FIXME + } } public synchronized final void destroyCore() { diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 44e308cd8..d36a974e7 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -38,6 +38,8 @@ import org.linphone.core.NatPolicy; import org.linphone.core.ProxyConfig; import org.linphone.core.Config; //import org.linphone.core.TunnelConfig; +import org.linphone.core.Tunnel; +import org.linphone.core.TunnelConfig; import org.linphone.core.VideoActivationPolicy; import org.linphone.mediastream.Log; import org.linphone.purchase.Purchasable; @@ -1290,12 +1292,13 @@ public class LinphonePreferences { // End of advanced settings // Tunnel settings - /*private TunnelConfig tunnelConfig = null; + private TunnelConfig tunnelConfig = null; public TunnelConfig getTunnelConfig() { if(getLc().tunnelAvailable()) { - if(tunnelConfig == null) { - TunnelConfig servers[] = getLc().tunnelGetServers(); + Tunnel tunnel = getLc().getTunnel(); + if (tunnelConfig == null) { + TunnelConfig servers[] = tunnel.getServers(); if(servers.length > 0) { tunnelConfig = servers[0]; } else { @@ -1349,7 +1352,7 @@ public class LinphonePreferences { public void setTunnelMode(String mode) { getConfig().setString("app", "tunnel", mode); LinphoneManager.getInstance().initTunnelFromConf(); - }*/ + } // End of tunnel settings public boolean isProvisioningLoginViewEnabled() { diff --git a/src/android/org/linphone/fragments/SettingsFragment.java b/src/android/org/linphone/fragments/SettingsFragment.java index bf8ebad74..f036b03bd 100644 --- a/src/android/org/linphone/fragments/SettingsFragment.java +++ b/src/android/org/linphone/fragments/SettingsFragment.java @@ -290,16 +290,16 @@ public class SettingsFragment extends PreferencesListFragment { return; } - /*setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_host_key, mPrefs.getTunnelHost()); + setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_host_key, mPrefs.getTunnelHost()); setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_port_key, String.valueOf(mPrefs.getTunnelPort())); ListPreference tunnelModePref = (ListPreference) findPreference(getString(R.string.pref_tunnel_mode_key)); String tunnelMode = mPrefs.getTunnelMode(); tunnelModePref.setSummary(tunnelMode); - tunnelModePref.setValue(tunnelMode);*/ + tunnelModePref.setValue(tunnelMode); } private void setTunnelPreferencesListener() { - /*findPreference(getString(R.string.pref_tunnel_host_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + findPreference(getString(R.string.pref_tunnel_host_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String host = newValue.toString(); @@ -329,7 +329,7 @@ public class SettingsFragment extends PreferencesListFragment { preference.setSummary(mode); return true; } - });*/ + }); } private void initAccounts() { diff --git a/submodules/belr b/submodules/belr index c65f14509..8e841b047 160000 --- a/submodules/belr +++ b/submodules/belr @@ -1 +1 @@ -Subproject commit c65f14509eeec3192cd1170646b700e9428ac292 +Subproject commit 8e841b047641b1812a83880a90e89d702747ca5b diff --git a/submodules/linphone b/submodules/linphone index 716ceeb47..36aa0bfd0 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 716ceeb474a415d685ca0f8377c3bf20819f9866 +Subproject commit 36aa0bfd0e18a2ff7316ea0013ea7313b5f09b6c From bedfcaedccfa537d51c1f5824836ab7432813b2c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 15:35:44 +0200 Subject: [PATCH 52/61] Updated linphone with compil fixes for tunnel --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 36aa0bfd0..db008cd32 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 36aa0bfd0e18a2ff7316ea0013ea7313b5f09b6c +Subproject commit db008cd32f829b64577052786d1ca75a72ee765c From 6e3746aaaa385dceb5055653cd24aacba1d1a793 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 15:55:11 +0200 Subject: [PATCH 53/61] Fixed tunnel --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index db008cd32..d9df13ba3 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit db008cd32f829b64577052786d1ca75a72ee765c +Subproject commit d9df13ba3d89e298f5fc1915a69073b05366e348 From 0cbe6609cd795a83b3420329b5b16693680d7091 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 15:56:03 +0200 Subject: [PATCH 54/61] Fixed issue with unread message count --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index d9df13ba3..6a5190d94 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d9df13ba3d89e298f5fc1915a69073b05366e348 +Subproject commit 6a5190d9475681451f029d76969c0718286868a0 From 60c7f2b5673133e378b7ae7d080ebfcd4f7c0b01 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 4 May 2018 16:56:02 +0200 Subject: [PATCH 55/61] Fixed issue with group chat notifications --- src/android/org/linphone/LinphoneManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 7d67852d3..1c7b2b107 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1111,9 +1111,9 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou } else { String subject = cr.getSubject(); if (contact != null) { - LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asString(), contact.getFullName(), contact.getThumbnailUri(), textMessage); + LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), contact.getFullName(), contact.getThumbnailUri(), textMessage); } else { - LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asString(), from.getUsername(), null, textMessage); + LinphoneService.instance().displayGroupChatMessageNotification(subject, cr.getPeerAddress().asStringUriOnly(), from.getUsername(), null, textMessage); } } } From d6dfe28336a62c587529e765e666f6ef24c16077 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 7 May 2018 10:49:31 +0200 Subject: [PATCH 56/61] Rollback firebase to 12.0.1 --- build.gradle | 2 +- linphoneAndroidSdk.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 393558930..f35eb40de 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ dependencies { androidTestImplementation 'junit:junit:4.12' implementation 'org.apache.commons:commons-compress:1.16.1' if (firebaseEnable()) { - implementation 'com.google.firebase:firebase-messaging:15.0.2' + implementation 'com.google.firebase:firebase-messaging:12.0.1' } implementation 'com.android.support:support-v4:26.0.1' } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 4e811dab4..c9f951068 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -35,7 +35,7 @@ apply plugin: 'com.android.library' dependencies { implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' if (firebaseEnable()) { - implementation 'com.google.firebase:firebase-messaging:15.0.2' + implementation 'com.google.firebase:firebase-messaging:12.0.1' } else { implementation 'com.android.support:support-v4:26.0.1' } From 5058890443086b5a6ccd5aea906ae5542801cca2 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 9 May 2018 12:51:44 +0200 Subject: [PATCH 57/61] Updated bctoolbox & liblinphone to fix certificate directory issue --- submodules/bctoolbox | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 7df8b5ca0..acf772700 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 7df8b5ca085010ec35103414ed9582412aaff97d +Subproject commit acf7727002fa4837a25582b5c798516b6b288fac diff --git a/submodules/linphone b/submodules/linphone index 6a5190d94..1f5c297c2 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 6a5190d9475681451f029d76969c0718286868a0 +Subproject commit 1f5c297c224816abf90e621b909f4cb7ab60ac09 From ef0b58db16be6521f0a81a13b77fdda3b6d64dc6 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 11 May 2018 11:43:02 +0200 Subject: [PATCH 58/61] Revert "Rollback firebase to 12.0.1" This reverts commit d6dfe28336a62c587529e765e666f6ef24c16077. Firebase 12 has something incompatible with gradle-3.7 (missing mandatory Manifest-Version attribute) --- build.gradle | 2 +- linphoneAndroidSdk.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index f35eb40de..393558930 100644 --- a/build.gradle +++ b/build.gradle @@ -45,7 +45,7 @@ dependencies { androidTestImplementation 'junit:junit:4.12' implementation 'org.apache.commons:commons-compress:1.16.1' if (firebaseEnable()) { - implementation 'com.google.firebase:firebase-messaging:12.0.1' + implementation 'com.google.firebase:firebase-messaging:15.0.2' } implementation 'com.android.support:support-v4:26.0.1' } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index c9f951068..4e811dab4 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -35,7 +35,7 @@ apply plugin: 'com.android.library' dependencies { implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' if (firebaseEnable()) { - implementation 'com.google.firebase:firebase-messaging:12.0.1' + implementation 'com.google.firebase:firebase-messaging:15.0.2' } else { implementation 'com.android.support:support-v4:26.0.1' } From 43a6dc4d8239ac51c82c1d209845099a2d46d3bd Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 17 May 2018 13:29:39 +0200 Subject: [PATCH 59/61] Fixed height of Sent header in IMDN view --- res/layout/chat_imdn.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/layout/chat_imdn.xml b/res/layout/chat_imdn.xml index 46a2819ea..21c5f59ae 100644 --- a/res/layout/chat_imdn.xml +++ b/res/layout/chat_imdn.xml @@ -140,7 +140,7 @@ android:text="@string/sent"/> Date: Thu, 17 May 2018 14:38:09 +0200 Subject: [PATCH 60/61] Fixing magic search bar --- gradle/wrapper/gradle-wrapper.properties | 4 +- libLinphoneAndroidSdk.gradle | 5 +- liblinphone_tester/build.gradle | 4 +- src/android/org/linphone/LinphoneManager.java | 10 ++- .../linphone/chat/ChatCreationFragment.java | 18 ++++- .../org/linphone/chat/GroupChatFragment.java | 21 ++++-- .../org/linphone/chat/GroupInfoFragment.java | 21 +++--- .../org/linphone/contacts/ContactAddress.java | 22 ++++-- .../contacts/SearchContactsListAdapter.java | 68 +++++++++++++------ submodules/linphone | 2 +- 10 files changed, 124 insertions(+), 51 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0ef660aa1..40f16998a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Tue Aug 29 16:02:50 CEST 2017 +#Wed May 16 15:22:42 CEST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index 3a75261e4..c50010b49 100644 --- a/libLinphoneAndroidSdk.gradle +++ b/libLinphoneAndroidSdk.gradle @@ -28,8 +28,8 @@ configurations { apply plugin: 'com.android.library' dependencies { - implementation group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' - javadocDeps group: 'org.apache.commons', name: 'commons-compress', version: '1.16.1' + compile 'org.apache.commons:commons-compress:1.16.1' + javadocDeps 'org.apache.commons:commons-compress:1.16.1' } def srcDir = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper'] @@ -44,6 +44,7 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 + buildToolsVersion "26.0.0" multiDexEnabled true } diff --git a/liblinphone_tester/build.gradle b/liblinphone_tester/build.gradle index 856d366f1..8df31bee5 100644 --- a/liblinphone_tester/build.gradle +++ b/liblinphone_tester/build.gradle @@ -29,11 +29,11 @@ allprojects { apply plugin: 'com.android.application' dependencies { - androidTestCompile group: 'org.apache.commons', name: 'commons-compress', version: '+' + androidTestCompile 'org.apache.commons:commons-compress:1.16.1' androidTestCompile group: 'junit', name: 'junit', version: '+' androidTestCompile group: 'com.jayway.android.robotium', name: 'robotium', version: '+' androidTestCompile fileTree(dir: 'libs', include: 'android-junit-report*.jar') - compile group: 'org.apache.commons', name: 'commons-compress', version: '+' + compile 'org.apache.commons:commons-compress:1.16.1' compile group: 'junit', name: 'junit', version: '+' compile group: 'com.jayway.android.robotium', name: 'robotium-solo', version: '+' compile fileTree(dir: 'libs', include: 'android-junit-report*.jar') diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 1c7b2b107..dfed7d63e 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -373,7 +373,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou public void changeStatusToOnThePhone() { Core lc = getLcIfManagerNotDestroyedOrNull(); if (lc == null) return; - + if (isInstanciated() && isPresenceModelActivitySet() && lc.getPresenceModel().getActivity().getType() != PresenceActivity.Type.OnThePhone) { lc.getPresenceModel().getActivity().setType(PresenceActivity.Type.OnThePhone); } else if (isInstanciated() && !isPresenceModelActivitySet()) { @@ -687,7 +687,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou Class firebaseClass = Class.forName("com.google.firebase.iid.FirebaseInstanceId"); Object firebaseInstance = firebaseClass.getMethod("getInstance").invoke(null); final String refreshedToken = (String)firebaseClass.getMethod("getToken").invoke(firebaseInstance); - + //final String refreshedToken = com.google.firebase.iid.FirebaseInstanceId.getInstance().getToken(); if (refreshedToken != null) { Log.i("[Push Notification] current token is: " + refreshedToken); @@ -1620,6 +1620,12 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou Log.d("Notify received for event "+eventName); if (content!=null) Log.d("with content "+content.getType()+"/"+content.getSubtype()+" data:"+content.getStringBuffer()); } + + @Override + public void onSubscribeReceived(Core lc, Event lev, String subscribeEvent, Content body) { + + } + @Override public void onPublishStateChanged(Core lc, Event ev, PublishState state) { Log.d("Publish state changed to " + state + " for event name " + ev.getName()); diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 23a934d57..fef50b4fe 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -41,11 +41,13 @@ import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.contacts.ContactAddress; import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneNumberOrAddress; import org.linphone.contacts.SearchContactsListAdapter; import org.linphone.core.Address; import org.linphone.core.ChatRoom; import org.linphone.core.ChatRoomListenerStub; import org.linphone.core.Core; +import org.linphone.core.Factory; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; import org.linphone.ui.ContactSelectView; @@ -249,12 +251,22 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen private int getIndexOfCa(ContactAddress ca, List caList) { for (int i = 0 ; i < caList.size() ; i++) { - if (caList.get(i).getAddressAsDisplayableString().compareTo(ca.getAddressAsDisplayableString()) == 0) - return i; + if (ca.getAddress() != null && ca.getAddress().getUsername() != null) { + if (caList.get(i).getAddressAsDisplayableString().compareTo(ca.getAddressAsDisplayableString()) == 0) + return i; + } else if (ca.getPhoneNumber() != null && caList.get(i).getPhoneNumber() !=null) { + if (ca.getPhoneNumber().compareTo(caList.get(i).getPhoneNumber()) == 0) + return i; + } } return -1; } + private void resetAndResearch() { + ContactsManager.getInstance().getMagicSearch().resetSearchCache(); + mSearchAdapter.searchContacts(mSearchField.getText().toString(), mContactsList); + } + private void addSelectedContactAddress(ContactAddress ca) { View viewContact = LayoutInflater.from(LinphoneActivity.instance()).inflate(R.layout.contact_selected, null); if (ca.getContact() != null) { @@ -323,6 +335,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen mLinphoneContactsButton.setEnabled(true); mLinphoneContactsSelected.setVisibility(View.INVISIBLE); updateList(); + resetAndResearch(); } else if (id == R.id.linphone_contacts) { mSearchAdapter.setOnlySipContact(true); mLinphoneContactsSelected.setVisibility(View.VISIBLE); @@ -330,6 +343,7 @@ public class ChatCreationFragment extends Fragment implements View.OnClickListen mAllContactsButton.setEnabled(mOnlyDisplayLinphoneContacts = true); mAllContactsSelected.setVisibility(View.INVISIBLE); updateList(); + resetAndResearch(); } else if (id == R.id.back) { if (LinphoneActivity.instance().isTablet()) { LinphoneActivity.instance().goToChatList(); diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index 0b194eb50..0a8297be1 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -69,7 +69,6 @@ import org.linphone.core.ChatRoomCapabilities; import org.linphone.core.ChatRoomListener; import org.linphone.core.Content; import org.linphone.core.Core; -import org.linphone.core.Event; import org.linphone.core.EventLog; import org.linphone.core.Factory; import org.linphone.core.LimeState; @@ -160,7 +159,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con String displayName = LinphoneUtils.getAddressDisplayName(a); c.setFullName(displayName); } - ContactAddress ca = new ContactAddress(c, a.asString(), c.isFriend(), p.isAdmin()); + ContactAddress ca = new ContactAddress(c, a.asString(), "", c.isFriend(), p.isAdmin()); participants.add(ca); } LinphoneActivity.instance().goToChatGroupInfos(mRemoteSipAddress.asString(), participants, mChatRoom.getSubject(), mChatRoom.getMe() != null ? mChatRoom.getMe().isAdmin() : false, false); @@ -697,7 +696,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con public void onConferenceAddressGeneration(ChatRoom cr) { } - + @Override public void onParticipantDeviceFetchRequested(ChatRoom cr, Address addr) { @@ -705,7 +704,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con @Override public void onParticipantRegistrationSubscriptionRequested(ChatRoom cr, Address participantAddr){ } - + @Override public void onParticipantRegistrationUnsubscriptionRequested(ChatRoom cr, Address participantAddr){ } @@ -752,7 +751,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } } - @Override + /*@Override public void onAllInformationReceived(ChatRoom cr) { // Currently flexisip doesn't send the participants list in the INVITE // So we have to refresh the display when information is available @@ -763,7 +762,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } getContactsForParticipants(); displayChatRoomHeader(); - } + }*/ @Override public void onChatMessageReceived(ChatRoom cr, EventLog event) { @@ -853,6 +852,16 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con } + @Override + public void onConferenceJoined(ChatRoom cr, EventLog eventLog) { + + } + + @Override + public void onConferenceLeft(ChatRoom cr, EventLog eventLog) { + + } + @Override public void onParticipantRemoved(ChatRoom cr, EventLog event) { getContactsForParticipants(); diff --git a/src/android/org/linphone/chat/GroupInfoFragment.java b/src/android/org/linphone/chat/GroupInfoFragment.java index 07275fb4d..1b58b4dee 100644 --- a/src/android/org/linphone/chat/GroupInfoFragment.java +++ b/src/android/org/linphone/chat/GroupInfoFragment.java @@ -348,7 +348,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { String displayName = LinphoneUtils.getAddressDisplayName(a); c.setFullName(displayName); } - ContactAddress ca = new ContactAddress(c, a.asString(), c.isFriend(), p.isAdmin()); + ContactAddress ca = new ContactAddress(c, a.asString(), "", c.isFriend(), p.isAdmin()); mParticipants.add(ca); } @@ -448,6 +448,16 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { } + @Override + public void onConferenceJoined(ChatRoom cr, EventLog eventLog) { + + } + + @Override + public void onConferenceLeft(ChatRoom cr, EventLog eventLog) { + + } + @Override public void onParticipantDeviceAdded(ChatRoom cr, EventLog event_log) { @@ -458,16 +468,11 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { } - @Override - public void onAllInformationReceived(ChatRoom cr) { - - } - @Override public void onStateChanged(ChatRoom cr, ChatRoom.State newState) { } - + @Override public void onParticipantDeviceFetchRequested(ChatRoom cr, Address addr) { @@ -475,7 +480,7 @@ public class GroupInfoFragment extends Fragment implements ChatRoomListener { @Override public void onParticipantRegistrationSubscriptionRequested(ChatRoom cr, Address participantAddr){ } - + @Override public void onParticipantRegistrationUnsubscriptionRequested(ChatRoom cr, Address participantAddr){ } diff --git a/src/android/org/linphone/contacts/ContactAddress.java b/src/android/org/linphone/contacts/ContactAddress.java index e244dbb02..8d1bfa4f8 100644 --- a/src/android/org/linphone/contacts/ContactAddress.java +++ b/src/android/org/linphone/contacts/ContactAddress.java @@ -31,6 +31,7 @@ public class ContactAddress implements Serializable { private LinphoneContact contact; private SearchResult result; private String address; + private String phoneNumber; private boolean isLinphoneContact; private boolean isSelect = false; private boolean isAdmin = false; @@ -69,11 +70,13 @@ public class ContactAddress implements Serializable { } public String getAddressAsDisplayableString() { + Address addr = getAddress(); + if (addr != null && addr.getUsername() != null) return addr.asStringUriOnly(); return address; } public Address getAddress() { - String presence = contact.getPresenceModelForUriOrTel(address); + String presence = contact.getPresenceModelForUriOrTel((phoneNumber != null && !phoneNumber.isEmpty()) ? phoneNumber: address); Address addr = Factory.instance().createAddress(presence != null ? presence : address); // Remove the user=phone URI param if existing, it will break everything otherwise if (addr.hasUriParam("user")) { @@ -82,6 +85,10 @@ public class ContactAddress implements Serializable { return addr; } + public String getPhoneNumber() { + return phoneNumber; + } + public void setSelect(boolean select) { isSelect = select; } @@ -90,16 +97,19 @@ public class ContactAddress implements Serializable { return isLinphoneContact; } - public ContactAddress(LinphoneContact c, String a, boolean isLC){ + private void init(LinphoneContact c, String a, String pn, boolean isLC) { this.contact = c; this.address = a; + this.phoneNumber = pn; this.isLinphoneContact = isLC; } - public ContactAddress(LinphoneContact c, String a, boolean isLC, boolean isAdmin){ - this.contact = c; - this.address = a; - this.isLinphoneContact = isLC; + public ContactAddress(LinphoneContact c, String a, String pn, boolean isLC) { + init(c, a, pn, isLC); + } + + public ContactAddress(LinphoneContact c, String a, String pn, boolean isLC, boolean isAdmin) { + init(c, a, pn, isLC); this.isAdmin = isAdmin; } diff --git a/src/android/org/linphone/contacts/SearchContactsListAdapter.java b/src/android/org/linphone/contacts/SearchContactsListAdapter.java index 44a988a33..fa454258f 100644 --- a/src/android/org/linphone/contacts/SearchContactsListAdapter.java +++ b/src/android/org/linphone/contacts/SearchContactsListAdapter.java @@ -33,6 +33,7 @@ import org.linphone.LinphoneUtils; import org.linphone.R; import org.linphone.activities.LinphoneActivity; import org.linphone.core.Address; +import org.linphone.core.ProxyConfig; import org.linphone.core.SearchResult; import java.util.ArrayList; @@ -87,8 +88,13 @@ public class SearchContactsListAdapter extends BaseAdapter { private boolean contactIsSelected(ContactAddress ca) { for (ContactAddress c : contactsSelected) { Address addr = c.getAddress(); - if (addr == null) continue; - if (addr.asStringUriOnly().compareTo(ca.getAddress().asStringUriOnly()) == 0) return true; + if (addr.getUsername() != null && ca.getAddress() != null) { + if (addr.asStringUriOnly().compareTo(ca.getAddress().asStringUriOnly()) == 0) return true; + } else { + if (c.getPhoneNumber() != null && ca.getPhoneNumber() != null) { + if (c.getPhoneNumber().compareTo(ca.getPhoneNumber()) == 0) return true; + } + } } return false; } @@ -122,11 +128,18 @@ public class SearchContactsListAdapter extends BaseAdapter { for (LinphoneContact contact : contacts) { for (LinphoneNumberOrAddress noa : contact.getNumbersOrAddresses()) { if (!mOnlySipContact || (mOnlySipContact && (noa.isSIPAddress() || contact.getPresenceModelForUriOrTel(noa.getValue()) != null))) { - Address address = LinphoneManager.getLc().interpretUrl(noa.getValue()); - if (address != null) { - ContactAddress ca = new ContactAddress(contact, address.asString(), contact.isFriend()); - list.add(ca); + ContactAddress ca = null; + if (noa.isSIPAddress()) { + Address address = LinphoneManager.getLc().interpretUrl(noa.getValue()); + if (address != null) { + ca = new ContactAddress(contact, address.asString(), "", contact.isFriend()); + } + } else { + ProxyConfig prx = LinphoneManager.getLc().getDefaultProxyConfig(); + String number = (prx != null) ? prx.normalizePhoneNumber(noa.getValue()) : noa.getValue(); + ca = new ContactAddress(contact, "", number, contact.isFriend()); } + if (ca != null) list.add(ca); } } } @@ -166,8 +179,12 @@ public class SearchContactsListAdapter extends BaseAdapter { search = search.trim(); List result = new ArrayList<>(); - SearchResult[] results = ContactsManager.getInstance().getMagicSearch().getContactListFromFilter(search, ""); + String domain = ""; + ProxyConfig prx = LinphoneManager.getLc().getDefaultProxyConfig(); + if (prx != null) domain = prx.getDomain(); + SearchResult[] results = ContactsManager.getInstance().getMagicSearch().getContactListFromFilter(search, mOnlySipContact ? domain :""); for (SearchResult sr : results) { + boolean found = false; LinphoneContact contact = ContactsManager.getInstance().findContactFromAddress(sr.getAddress()); if (contact == null) { contact = new LinphoneContact(); @@ -176,21 +193,23 @@ public class SearchContactsListAdapter extends BaseAdapter { contact.refresh(); } } - if (sr.getAddress() != null) { - if (contact.getFullName() == null) { - contact.setFullName(search); - } - - boolean found = false; + if (sr.getAddress() != null || sr.getPhoneNumber() != null) { for (ContactAddress ca : result) { - if (ca.getAddress().asStringUriOnly().equals(sr.getAddress().asStringUriOnly())) { + String normalizedPhoneNumber = (ca.getPhoneNumber() != null) ? prx.normalizePhoneNumber(ca.getPhoneNumber()) : null; + if ((sr.getAddress() != null && ca.getAddress() != null + && ca.getAddress().asStringUriOnly().equals(sr.getAddress().asStringUriOnly())) + || (sr.getPhoneNumber() != null && normalizedPhoneNumber != null + && sr.getPhoneNumber().equals(normalizedPhoneNumber))) { found = true; break; } } - if (!found) { - result.add(new ContactAddress(contact, sr.getAddress().asStringUriOnly(), contact.isFriend())); - } + } + if (!found) { + result.add(new ContactAddress(contact, + (sr.getAddress() != null) ? sr.getAddress().asStringUriOnly() : "", + sr.getPhoneNumber(), + contact.isFriend())); } } @@ -215,7 +234,7 @@ public class SearchContactsListAdapter extends BaseAdapter { } ContactAddress contact = getItem(position); - final String a = contact.getAddressAsDisplayableString(); + final String a = (contact.getAddressAsDisplayableString().isEmpty()) ? contact.getPhoneNumber() : contact.getAddressAsDisplayableString(); LinphoneContact c = contact.getContact(); holder.avatar.setImageBitmap(ContactsManager.getInstance().getDefaultAvatarBitmap()); @@ -223,11 +242,20 @@ public class SearchContactsListAdapter extends BaseAdapter { LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), holder.avatar, c.getThumbnailUri()); } - String address = null; + String address = contact.getAddressAsDisplayableString(); if (c != null && c.getFullName() != null) { - address = c.getPresenceModelForUriOrTel(a); + if (address == null) + address = c.getPresenceModelForUriOrTel(a); holder.name.setVisibility(View.VISIBLE); holder.name.setText(c.getFullName()); + } else if (contact.getAddress() != null) { + if (contact.getAddress().getUsername() != null) { + holder.name.setVisibility(View.VISIBLE); + holder.name.setText(contact.getAddress().getUsername()); + } else if (contact.getAddress().getDisplayName() != null) { + holder.name.setVisibility(View.VISIBLE); + holder.name.setText(contact.getAddress().getDisplayName()); + } } else { holder.name.setVisibility(View.GONE); } diff --git a/submodules/linphone b/submodules/linphone index 1f5c297c2..64fc28497 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 1f5c297c224816abf90e621b909f4cb7ab60ac09 +Subproject commit 64fc28497ffb0cf93ec851f2f2f6cfd72f116c3a From 3a39acdf136e2c01bab0d554c54c1dbec82d67ee Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 17 May 2018 14:38:28 +0200 Subject: [PATCH 61/61] Using new function for background and foreground --- src/android/org/linphone/LinphoneService.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index af710db1b..3f0a4bdaa 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -264,6 +264,9 @@ public final class LinphoneService extends Service { if (LinphoneManager.isInstanciated()) LinphoneManager.getInstance().subscribeFriendList(false); } + if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) { + LinphoneManager.getLcIfManagerNotDestroyedOrNull().enterBackground(); + } } protected void onForegroundMode() { @@ -272,6 +275,9 @@ public final class LinphoneService extends Service { if (LinphoneManager.isInstanciated()) LinphoneManager.getInstance().subscribeFriendList(true); } + if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null) { + LinphoneManager.getLcIfManagerNotDestroyedOrNull().enterForeground(); + } } private void setupActivityMonitor(){