From dbd04292e426ed07e4e02b3f9bea89253682a0c3 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 21 Feb 2018 14:31:22 +0100 Subject: [PATCH 01/81] Updated cmake builder --- submodules/cmake-builder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/cmake-builder b/submodules/cmake-builder index 8560844ab..d16688298 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit 8560844abe7e5ad04721b23ca01e269cfa57f2bf +Subproject commit d16688298e83a496753c9d0c200962a1ed7dbc87 From 1ec45b7308417ab32fc1f2ede4fe6c0b48da1d3d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 23 Feb 2018 14:36:36 +0100 Subject: [PATCH 02/81] Do not remove AuthInfo on registrationStateChanged cb when state is Cleared --- src/android/org/linphone/LinphoneActivity.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/android/org/linphone/LinphoneActivity.java b/src/android/org/linphone/LinphoneActivity.java index 151f01cc3..47be7c8c4 100644 --- a/src/android/org/linphone/LinphoneActivity.java +++ b/src/android/org/linphone/LinphoneActivity.java @@ -221,12 +221,6 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick @Override public void registrationState(LinphoneCore lc, LinphoneProxyConfig proxy, LinphoneCore.RegistrationState state, String smessage) { LinphoneAuthInfo authInfo = lc.findAuthInfo(proxy.getIdentity(), proxy.getRealm(), proxy.getDomain()); - if (state.equals(RegistrationState.RegistrationCleared)) { - if (lc != null) { - if (authInfo != null) - lc.removeAuthInfo(authInfo); - } - } refreshAccounts(); From 5f8c7111156744e95d215f179084a718456f8e83 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 27 Feb 2018 15:55:28 +0100 Subject: [PATCH 03/81] Fixing crash in file sharing --- src/android/org/linphone/ChatFragment.java | 6 ++++-- src/android/org/linphone/LinphoneUtils.java | 6 +----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/android/org/linphone/ChatFragment.java b/src/android/org/linphone/ChatFragment.java index 325bfddcf..52d1ce43d 100644 --- a/src/android/org/linphone/ChatFragment.java +++ b/src/android/org/linphone/ChatFragment.java @@ -784,8 +784,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC private void sendImageMessage(String path, int imageSize) { if(path.contains("file://")) { path = path.split("file:///", 2)[1]; + } else if (path.contains("content://")){ + path = LinphoneUtils.getFilePath(this.getActivity().getApplicationContext(), Uri.parse(path)); } - if(path.contains("%20")) { + if(path != null && path.contains("%20")) { path = path.replace("%20", "-"); } LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); @@ -844,7 +846,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } else if (path.contains("content://")){ path = LinphoneUtils.getFilePath(this.getActivity().getApplicationContext(), Uri.parse(path)); } - if(path.contains("%20")) { + if(path != null && path.contains("%20")) { path = path.replace("%20", "-"); } LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 02aa76f85..11b038af2 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -748,11 +748,7 @@ public final class LinphoneUtils { if ("com.android.externalstorage.documents".equals(uri.getAuthority())) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.split(":"); - final String type = split[0]; - - if ("primary".equalsIgnoreCase(type)) { - return Environment.getExternalStorageDirectory() + "/" + split[1]; - } + if (split.length >= 1) return Environment.getExternalStorageDirectory() + "/" + split[1]; // TODO handle non-primary volumes } From 061395a5b4fd655bcb2fcf1ad3619f7a3e04accd Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 1 Mar 2018 11:22:52 +0100 Subject: [PATCH 04/81] Update submodule linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index fd4827f90..7c26561a9 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit fd4827f907e7b24ae97e675f52204a321ec1ce57 +Subproject commit 7c26561a9f3551c47282d0585c05446d16d80555 From fa61b7b56a6715e1d66b95ccee56c840dad39a5d Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 1 Mar 2018 11:54:01 +0100 Subject: [PATCH 05/81] Updating submodule linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 7c26561a9..5b13469ea 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 7c26561a9f3551c47282d0585c05446d16d80555 +Subproject commit 5b13469eafbda3e5148b69e158aa58ce9d5dd66c From 9931fcf146c8e246ca208218eddc81d335b099e2 Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Fri, 2 Mar 2018 15:42:04 +0100 Subject: [PATCH 06/81] ms2: fix of audio filter to rockchip --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index e20c2ed9a..e5789c2e4 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit e20c2ed9a7397e5d6cc9ed4cbf3539761ae35111 +Subproject commit e5789c2e4ce0464cbaf67cd0ca6602f0b713bcf2 From f45bff8bdecc6ad4862387499568f1cb03254bab Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Mon, 5 Mar 2018 15:23:08 +0100 Subject: [PATCH 07/81] ms2: fix of audio filter to rockchip (2) --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index e5789c2e4..8fc51ef9d 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit e5789c2e4ce0464cbaf67cd0ca6602f0b713bcf2 +Subproject commit 8fc51ef9d85899227b6dd7e7be3ffa2a46180ee1 From c89344b535a5b476be9a8c89a2cf57ded32f80ce Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 13 Mar 2018 10:20:31 +0100 Subject: [PATCH 08/81] Changing Android Support V4 version --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 782f277b5..12f99fdd4 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:27.1.0' } } From 5f2b1dbab33d59526b0430d54b63b3349d5d1800 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 21 Mar 2018 17:21:27 +0100 Subject: [PATCH 09/81] Update submodule linphone Fixing leak during file transfert --- submodules/linphone | 2 +- test.patch | 23 ----------------------- 2 files changed, 1 insertion(+), 24 deletions(-) delete mode 100644 test.patch diff --git a/submodules/linphone b/submodules/linphone index 5b13469ea..7c712bbec 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 5b13469eafbda3e5148b69e158aa58ce9d5dd66c +Subproject commit 7c712bbec36bba2164b11def1cec7becba3da40c diff --git a/test.patch b/test.patch deleted file mode 100644 index 667714692..000000000 --- a/test.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/AndroidManifest.xml b/AndroidManifest.xml -index 9ee95b62..bb763a24 100755 ---- a/AndroidManifest.xml -+++ b/AndroidManifest.xml -@@ -287,15 +287,15 @@ - - - -- - -- -+ --> - - Date: Wed, 21 Feb 2018 14:58:50 +0100 Subject: [PATCH 10/81] Fix firebase. If the token is changed by the system while core is not yet instanciated, it was never saved and lost for ever. --- AndroidManifest.xml | 2 +- src/android/org/linphone/LinphoneManager.java | 6 ++++++ src/android/org/linphone/LinphonePreferences.java | 12 ++++++++---- .../org/linphone/firebase/FirebaseIdService.java | 9 ++------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3565d458b..ebe4b8bb2 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -293,7 +293,7 @@ - + diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 5384178ae..eeb2d007c 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -802,6 +802,12 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } catch (Exception e1) { Log.i("[Push Notification] Assuming GCM jar is not provided."); } + }else if (getString(R.string.push_type).equals("firebase")){ + final String refreshedToken = FirebaseInstanceId.getInstance().getToken(); + if (refreshedToken != null) { + Log.i("[Push Notification] current token is: " + refreshedToken); + LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); + } } } diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 9c863b584..e086718b4 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1166,10 +1166,14 @@ public class LinphonePreferences { if (regId != null && lc.getProxyConfigList().length > 0) { for (LinphoneProxyConfig lpc : lc.getProxyConfigList()) { String contactInfos = "app-id=" + appId + ";pn-type=" + getString(R.string.push_type) + ";pn-tok=" + regId + ";pn-silent=1"; - lpc.edit(); - lpc.setContactUriParameters(contactInfos); - lpc.done(); - Log.d("Push notif infos added to proxy config " + lpc.getAddress().asStringUriOnly()); + + String prevContactParams = lpc.getContactParameters(); + if (prevContactParams == null || prevContactParams.compareTo(contactInfos)!=0) { + lpc.edit(); + lpc.setContactUriParameters(contactInfos); + lpc.done(); + Log.d("Push notif infos added to proxy config " + lpc.getIdentity()); + } } lc.refreshRegisters(); } diff --git a/src/android/org/linphone/firebase/FirebaseIdService.java b/src/android/org/linphone/firebase/FirebaseIdService.java index 0c1b01976..a48ce0dcd 100644 --- a/src/android/org/linphone/firebase/FirebaseIdService.java +++ b/src/android/org/linphone/firebase/FirebaseIdService.java @@ -30,15 +30,10 @@ public class FirebaseIdService extends FirebaseInstanceIdService { @Override public void onTokenRefresh() { // Get updated InstanceID token. - String refreshedToken = FirebaseInstanceId.getInstance().getToken(); + final String refreshedToken = FirebaseInstanceId.getInstance().getToken(); android.util.Log.i("FirebaseIdService", "[Push Notification] Refreshed token: " + refreshedToken); - sendRegistrationToServer(refreshedToken); - } - - private void sendRegistrationToServer(final String refreshedToken) { - android.util.Log.i("FirebaseIdService", "[Push Notification] Send token to server: " + refreshedToken); - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); From 133fdb350f0a2ffc57fe1a6e948dfdc20a118212 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 23 Mar 2018 16:24:33 +0100 Subject: [PATCH 11/81] 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 | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index eeb2d007c..f6b5026f7 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -803,10 +803,18 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag Log.i("[Push Notification] Assuming GCM jar is not provided."); } }else if (getString(R.string.push_type).equals("firebase")){ - final String refreshedToken = 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 a48ce0dcd..eacaf3b21 100644 --- a/src/android/org/linphone/firebase/FirebaseIdService.java +++ b/src/android/org/linphone/firebase/FirebaseIdService.java @@ -33,7 +33,7 @@ public class FirebaseIdService extends FirebaseInstanceIdService { final String refreshedToken = FirebaseInstanceId.getInstance().getToken(); android.util.Log.i("FirebaseIdService", "[Push Notification] Refreshed token: " + refreshedToken); - LinphoneUtils.dispatchOnUIThread(new Runnable() { + UIThreadDispatcher.dispatch(new Runnable() { @Override public void run() { LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); From 34e9e8e7a12c90ec9c512dad48b2f212a2c2a99d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 27 Mar 2018 17:17:18 +0200 Subject: [PATCH 12/81] Fixed picking file from download on Samsung s8 with Oreo --- src/android/org/linphone/LinphoneUtils.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 11b038af2..b924f1fd8 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -756,10 +756,16 @@ public final class LinphoneUtils { else if ("com.android.providers.downloads.documents".equals(uri.getAuthority())) { final String id = DocumentsContract.getDocumentId(uri); - final Uri contentUri = ContentUris.withAppendedId( - Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); + try { + final Uri contentUri = ContentUris.withAppendedId( + Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); - return getDataColumn(context, contentUri, null, null); + return getDataColumn(context, contentUri, null, null); + } catch (NumberFormatException nfe) { + if (id.startsWith("raw:")) { + return id.substring(4); + } + } } // MediaProvider else if ("com.android.providers.media.documents".equals(uri.getAuthority())) { From 5c4122de2f22ec2ce3d3ad6dd65c62c5594c97e1 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 30 Mar 2018 14:53:15 +0200 Subject: [PATCH 13/81] [Switch submodule branch] Switch back to srtp 1 while there is still some interoperability issues with version 2. --- submodules/externals/srtp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/srtp b/submodules/externals/srtp index 451b1daa3..a752d47da 160000 --- a/submodules/externals/srtp +++ b/submodules/externals/srtp @@ -1 +1 @@ -Subproject commit 451b1daa314dfdb20d59433a92dda0319b5d8c11 +Subproject commit a752d47da1a80e634f81a57bb975b6a80fc14ffa From e77a1fac8ea89c8d225c517b450a64de4862ca43 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 30 Mar 2018 17:31:29 +0200 Subject: [PATCH 14/81] update mediastreamer2 (fixes ICE issues) --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index 8fc51ef9d..b83f3f885 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit 8fc51ef9d85899227b6dd7e7be3ffa2a46180ee1 +Subproject commit b83f3f885025ed28075499547f502dd05d316c52 From da8ba6c92c5c48ef839475842292b7ccccb5a4d8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 2 Apr 2018 18:25:01 +0200 Subject: [PATCH 15/81] update submodules for new certificate regexp matching feature. --- submodules/bctoolbox | 2 +- submodules/belle-sip | 2 +- submodules/externals/mbedtls | 2 +- submodules/linphone | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 25e640640..b41ca6b5d 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 25e640640000e2ea691c4eb6137e8edebf6b3a52 +Subproject commit b41ca6b5d85780990c2986f861b2f7832cb79e2e diff --git a/submodules/belle-sip b/submodules/belle-sip index dd5de8022..a9af682b9 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit dd5de8022ff5a1ef4ea2d4b2a5761658f1c6010c +Subproject commit a9af682b9931213743c0af65e261e70e2280b1c9 diff --git a/submodules/externals/mbedtls b/submodules/externals/mbedtls index d9385339a..cb152c35d 160000 --- a/submodules/externals/mbedtls +++ b/submodules/externals/mbedtls @@ -1 +1 @@ -Subproject commit d9385339a5c2979786cfc844c0527593c14662c5 +Subproject commit cb152c35ddf7cc837221072e7dc99809f0f7c885 diff --git a/submodules/linphone b/submodules/linphone index 7c712bbec..149a7304d 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 7c712bbec36bba2164b11def1cec7becba3da40c +Subproject commit 149a7304dec5b5ccf5b8d2f093e92c3699c27d0a From 506d1a2f8b446b8c68d7af7498a74f09ca7056d4 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 4 Apr 2018 10:57:12 +0200 Subject: [PATCH 16/81] Update linphoneAndroidSdk build script --- linphoneAndroidSdk.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index c699b2c4a..95d200f43 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -16,7 +16,7 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:2.3.3' if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.1.0' + classpath 'com.google.gms:google-services:3+' } } } @@ -35,7 +35,7 @@ apply plugin: 'com.android.library' dependencies { compile group: 'org.apache.commons', name: 'commons-compress', version: '+' if (firebaseEnable()) { - compile 'com.google.firebase:firebase-messaging:11.2.0' + compile 'com.google.firebase:firebase-messaging:11.+' } else { compile fileTree(include: 'gcm.jar', dir: 'libs') compile 'com.android.support:support-v4:+' @@ -86,7 +86,7 @@ android { sourceSets { main { - manifest.srcFile 'AndroidManifestLibrary.xml' + manifest.srcFile 'AndroidManifestSdk.xml' java.srcDirs = srcDirs resources.srcDirs = srcDirs aidl.srcDirs = srcDirs From 5f6419de8714777fefc30663a2d87ec9f6cf6184 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 5 Apr 2018 12:08:13 +0200 Subject: [PATCH 17/81] Add manifest for linphone-android SDK. --- AndroidManifestSdk.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 AndroidManifestSdk.xml diff --git a/AndroidManifestSdk.xml b/AndroidManifestSdk.xml new file mode 100755 index 000000000..396525785 --- /dev/null +++ b/AndroidManifestSdk.xml @@ -0,0 +1,11 @@ + + + + + From 0c75b90d9f2ed01e897f2f492ae9264593997eb4 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 16 Apr 2018 14:58:20 +0200 Subject: [PATCH 18/81] Set push informations in contact param when using account builder --- src/android/org/linphone/LinphonePreferences.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index e086718b4..1b77c993c 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -373,6 +373,13 @@ public class LinphonePreferences { prxCfg.setQualityReportingCollector(tempQualityReportingCollector); prxCfg.setQualityReportingInterval(tempQualityReportingInterval); + String regId = LinphonePreferences.instance().getPushNotificationRegistrationID(); + String appId = LinphonePreferences.instance().getString(R.string.push_sender_id); + if (regId != null && LinphonePreferences.instance().isPushNotificationEnabled()) { + String contactInfos = "app-id=" + appId + ";pn-type=" + LinphonePreferences.instance().getString(R.string.push_type) + ";pn-tok=" + regId + ";pn-silent=1"; + prxCfg.setContactUriParameters(contactInfos); + } + if(tempPrefix != null){ prxCfg.setDialPrefix(tempPrefix); } From 4a1cc7891c5fd79ef616822c68320e41ca1daaa8 Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Mon, 23 Apr 2018 17:26:57 +0200 Subject: [PATCH 19/81] update ms2 --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index b83f3f885..8ac3702d8 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit b83f3f885025ed28075499547f502dd05d316c52 +Subproject commit 8ac3702d83f11c377048375ebd911600354446fe From 4e957bf756320936b30e18bc6537561264d8f61d Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Tue, 24 Apr 2018 09:24:22 +0200 Subject: [PATCH 20/81] update submodule linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 149a7304d..4f85b8a5d 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 149a7304dec5b5ccf5b8d2f093e92c3699c27d0a +Subproject commit 4f85b8a5d6eb943c70a161fe91bae0fc67d5daa5 From 41f11491698513a886152672b3cca129f64f84a6 Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Wed, 25 Apr 2018 15:41:04 +0200 Subject: [PATCH 21/81] update submodules linphone,ms2 --- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/linphone b/submodules/linphone index 4f85b8a5d..b9829e15a 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 4f85b8a5d6eb943c70a161fe91bae0fc67d5daa5 +Subproject commit b9829e15a7034f66d2ee46a46c508db9eb74619b diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index 8ac3702d8..ad4cdb240 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit 8ac3702d83f11c377048375ebd911600354446fe +Subproject commit ad4cdb240e553654f87438fb4519754e90d1773d From 5de105539d4fc3a12a8effc5f5a68eb34e1131e0 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 30 Apr 2018 17:03:18 +0200 Subject: [PATCH 22/81] update linphone submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index b9829e15a..1801bce2e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit b9829e15a7034f66d2ee46a46c508db9eb74619b +Subproject commit 1801bce2ebec682c356be5169eae6ee8ab01fe86 From c11779ba739dfcc5e04c8e5397ed3e8cb053e172 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 15 May 2018 09:21:19 +0200 Subject: [PATCH 23/81] Upgrade gradle version to fix build --- build.gradle | 4 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- libLinphoneAndroidSdk.gradle | 2 +- linphoneAndroidSdk.gradle | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 12f99fdd4..4c713c592 100644 --- a/build.gradle +++ b/build.gradle @@ -19,9 +19,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.3.1' if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.+' + classpath 'com.google.gms:google-services:3.3.1' } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4348bf926..6c60389b4 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.4-all.zip diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index 21393b4e8..afef88498 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.3.1' } } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 95d200f43..dcae82b4a 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -14,9 +14,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.3' + classpath 'com.android.tools.build:gradle:3.3.1' if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3+' + classpath 'com.google.gms:google-services:3.3.1' } } } From 7f330a7bc48c7b334eda20555ed95e1af508fd6f Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 15 May 2018 11:16:01 +0200 Subject: [PATCH 24/81] Fixing gradle tools version --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4c713c592..2349481f1 100644 --- a/build.gradle +++ b/build.gradle @@ -19,9 +19,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.1' + classpath 'com.android.tools.build:gradle:3.1.0' if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.3.1' + classpath 'com.google.gms:google-services:3.1.0' } } } From 446fdc3070f4df76d9184dbcd5d8f7ab90c9f277 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 15 May 2018 12:01:35 +0200 Subject: [PATCH 25/81] Updating android build tools version --- build.gradle | 3 ++- libLinphoneAndroidSdk.gradle | 2 +- linphoneAndroidSdk.gradle | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 2349481f1..1b12172b7 100644 --- a/build.gradle +++ b/build.gradle @@ -87,7 +87,7 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.1" + buildToolsVersion "27.0.3" applicationId getPackageName() multiDexEnabled true @@ -168,6 +168,7 @@ android { packagingOptions { pickFirst 'META-INF/NOTICE' pickFirst 'META-INF/LICENSE' + exclude 'META-INF/MANIFEST.MF' } } diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index afef88498..bab391983 100644 --- a/libLinphoneAndroidSdk.gradle +++ b/libLinphoneAndroidSdk.gradle @@ -49,7 +49,7 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.0" + buildToolsVersion "27.0.3" multiDexEnabled true } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index dcae82b4a..2c3f7413f 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -73,7 +73,7 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { compileSdkVersion 26 - buildToolsVersion "26.0.0" + buildToolsVersion "27.0.3" multiDexEnabled true } From fce5ae1ac0f868a534250b9f34716d3ef62a5add Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 15 May 2018 12:02:03 +0200 Subject: [PATCH 26/81] Adding message for the start of service from push --- src/android/org/linphone/firebase/FirebaseMessaging.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/android/org/linphone/firebase/FirebaseMessaging.java b/src/android/org/linphone/firebase/FirebaseMessaging.java index c3141f4cc..fbb395e6d 100644 --- a/src/android/org/linphone/firebase/FirebaseMessaging.java +++ b/src/android/org/linphone/firebase/FirebaseMessaging.java @@ -39,6 +39,7 @@ public class FirebaseMessaging extends FirebaseMessagingService { android.util.Log.i("FirebaseMessaging","[Push Notification] Received"); if (!LinphoneService.isReady()) { + android.util.Log.i("FirebaseMessaging","[Push Notification] Starting Service"); startService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class)); } else if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0) { UIThreadDispatcher.dispatch(new Runnable(){ From 73e803670ad0ac447dfbb6d00f0298e74646cbc1 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 15 May 2018 13:30:21 +0200 Subject: [PATCH 27/81] Fixing gradle tools version for sdk --- libLinphoneAndroidSdk.gradle | 2 +- linphoneAndroidSdk.gradle | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index bab391983..042ba6bb8 100644 --- a/libLinphoneAndroidSdk.gradle +++ b/libLinphoneAndroidSdk.gradle @@ -8,7 +8,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.1' + classpath 'com.android.tools.build:gradle:3.1.0' } } diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 2c3f7413f..96c5a5196 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -14,9 +14,9 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.1' + classpath 'com.android.tools.build:gradle:3.1.0' if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.3.1' + classpath 'com.google.gms:google-services:3.1.0' } } } From 115f74d08acdd603ba1e9a07080b4302c85c8b61 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 25 May 2018 15:58:27 +0200 Subject: [PATCH 28/81] update belle-sip and linphone submodules. --- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/belle-sip b/submodules/belle-sip index a9af682b9..411e1c3ea 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit a9af682b9931213743c0af65e261e70e2280b1c9 +Subproject commit 411e1c3ea8752927cff2ebb2c0170351f3879bab diff --git a/submodules/linphone b/submodules/linphone index 1801bce2e..a8acaa214 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 1801bce2ebec682c356be5169eae6ee8ab01fe86 +Subproject commit a8acaa2149887ea384346d1334e7bc40851a2062 From 13b3b980c4b22ebf7a58daaac12e4a8538b05d05 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 29 May 2018 17:18:34 +0200 Subject: [PATCH 29/81] Update copyright year --- res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 65bbb6b91..72e66e0ba 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12,7 +12,7 @@ Linphone Android %s Linphone Core %s - GNU General Public License V2\n © 2010-2017 Belledonne Communications + GNU General Public License V2\n © 2010-2018 Belledonne Communications www.linphone.org linphone contacts From 13e210f8cfe51e58e3a00d6a2d16ac963b77d274 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 30 May 2018 09:22:42 +0200 Subject: [PATCH 30/81] Update submodules --- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/linphone b/submodules/linphone index d0b5c85d1..79c58c14a 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d0b5c85d13bc8e855d5a2437088230d2511e04ab +Subproject commit 79c58c14aaaa6437175dc54358d63a154595c836 diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index ad4cdb240..f6e4cc214 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit ad4cdb240e553654f87438fb4519754e90d1773d +Subproject commit f6e4cc2142821b2c8ac80c644405d9cd42b3216e From 05b17a685d9ce7041a72da186599b4d54304a610 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 30 May 2018 10:12:09 +0200 Subject: [PATCH 31/81] Update version number --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3583d1d66..608f79ddc 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="3997" + android:versionName="3.99.6"> Date: Mon, 28 May 2018 09:59:57 +0200 Subject: [PATCH 32/81] Upgrade srtp to 2.2.x --- submodules/externals/srtp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/srtp b/submodules/externals/srtp index 4a5ea6a64..a1e31c958 160000 --- a/submodules/externals/srtp +++ b/submodules/externals/srtp @@ -1 +1 @@ -Subproject commit 4a5ea6a64043038f4a4ac0f18d54db02a08d9b92 +Subproject commit a1e31c958811b2a03571f5d824913be940288e93 From 807bf7bbcd78e9720db60f57dc4dbfd7b2ada102 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 30 May 2018 16:41:21 +0200 Subject: [PATCH 33/81] update submodules (fix crash) [--force] --- submodules/bctoolbox | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 06cd2b314..48ac645ca 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 06cd2b31438ac632520ebce25796cf6e2ab5a759 +Subproject commit 48ac645caa629a65fb164882aeddab7eb13a56a9 diff --git a/submodules/linphone b/submodules/linphone index 79c58c14a..63732921f 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 79c58c14aaaa6437175dc54358d63a154595c836 +Subproject commit 63732921f9f113c99578dfd71bb249d8c0422423 From 8291b882167893f4a8b4f08fc01658f6660d02fe Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 30 May 2018 17:39:10 +0200 Subject: [PATCH 34/81] update linphone [--force] --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index a8acaa214..64cb3ebcf 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit a8acaa2149887ea384346d1334e7bc40851a2062 +Subproject commit 64cb3ebcf69a0d0dfea196cfa14b3627c9112d9b From 0868eb9839bb433e89cf70e22a6f4e97eed7f166 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 30 May 2018 15:55:58 +0200 Subject: [PATCH 35/81] fix cpim tester crashes --- .../src/org/linphone/tester/LogsActivity.java | 2 +- .../src/org/linphone/tester/TestUnit.java | 34 +++---------------- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/liblinphone_tester/src/org/linphone/tester/LogsActivity.java b/liblinphone_tester/src/org/linphone/tester/LogsActivity.java index 40c7062cf..b4021760b 100644 --- a/liblinphone_tester/src/org/linphone/tester/LogsActivity.java +++ b/liblinphone_tester/src/org/linphone/tester/LogsActivity.java @@ -23,7 +23,7 @@ public class LogsActivity extends Activity { @Override public void run() { - String res_path = mLogsActivity.getFilesDir().getAbsolutePath()+"/config_files"; + String res_path = mLogsActivity.getFilesDir().getAbsolutePath(); String write_path = mLogsActivity.getCacheDir().getPath(); tester = new TesterLogger(mLogsActivity); List list = new LinkedList(Arrays.asList(new String[]{"tester", "--verbose", "--resource-dir", res_path, "--writable-dir", write_path})); diff --git a/liblinphone_tester/src/org/linphone/tester/TestUnit.java b/liblinphone_tester/src/org/linphone/tester/TestUnit.java index da92a72e4..eefe4f675 100644 --- a/liblinphone_tester/src/org/linphone/tester/TestUnit.java +++ b/liblinphone_tester/src/org/linphone/tester/TestUnit.java @@ -32,37 +32,13 @@ public class TestUnit extends AndroidTestCase { } static public void copyAssetsFromPackage(Context ctx) throws IOException { - copyAssetsFromPackage(ctx,"config_files"); + //copy sdk assets + org.linphone.core.tools.AndroidPlatformHelper.copyAssetsFromPackage(ctx,"org.linphone.core","."); + //copy tester assets + org.linphone.core.tools.AndroidPlatformHelper.copyAssetsFromPackage(ctx,"config_files","."); } - public static void copyAssetsFromPackage(Context ctx,String fromPath) throws IOException { - new File(ctx.getFilesDir().getPath()+"/"+fromPath).mkdir(); - - for (String f :ctx.getAssets().list(fromPath)) { - String current_name=fromPath+"/"+f; - InputStream lInputStream; - try { - lInputStream = ctx.getAssets().open(current_name); - } catch (IOException e) { - //probably a dir - new File(ctx.getFilesDir().getPath()+"/"+current_name).mkdir(); - copyAssetsFromPackage(ctx,current_name); - continue; - } - FileOutputStream lOutputStream = new FileOutputStream(new File(ctx.getFilesDir().getPath()+"/"+current_name));//ctx.openFileOutput (fromPath+"/"+f, 0); - - - int readByte; - byte[] buff = new byte[8048]; - while (( readByte = lInputStream.read(buff)) != -1) { - lOutputStream.write(buff,0, readByte); - } - lOutputStream.flush(); - lOutputStream.close(); - lInputStream.close(); - } - } @Override protected void setUp() throws Exception { super.setUp(); @@ -80,7 +56,7 @@ public class TestUnit extends AndroidTestCase { @Override protected void runTest() { - String res_path = getContext().getFilesDir().getPath()+"/config_files"; + String res_path = getContext().getFilesDir().getPath(); String write_path = getContext().getCacheDir().getPath(); Tester tester = new Tester(); From d462f5aab7e1a443cfb4b02e8b8f1f056d315d4b Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 31 May 2018 13:57:24 +0200 Subject: [PATCH 36/81] update linphone [--force] --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 63732921f..2f5ddf8f1 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 63732921f9f113c99578dfd71bb249d8c0422423 +Subproject commit 2f5ddf8f1434a032bbc2658983525b8a41355400 From 4c9d3271d7b0151d7eb5b1ea702c97bfcd785835 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 31 May 2018 14:19:37 +0200 Subject: [PATCH 37/81] Update version number --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 608f79ddc..6f320cbb5 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="3998" + android:versionName="3.99.7"> Date: Fri, 1 Jun 2018 09:06:44 +0200 Subject: [PATCH 38/81] add db resources to tester --- liblinphone_tester/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/liblinphone_tester/Makefile b/liblinphone_tester/Makefile index 90d0fb69f..e78471ae5 100644 --- a/liblinphone_tester/Makefile +++ b/liblinphone_tester/Makefile @@ -57,6 +57,7 @@ copy-files: ../submodules/linphone/tester/tester_hosts cp -rf ../submodules/linphone/tester/rcfiles assets/config_files cp -rf ../submodules/linphone/tester/sounds assets/config_files cp -rf ../submodules/linphone/tester/vcards assets/config_files + cp -rf ../submodules/linphone/tester/db assets/config_files mkdir -p res/raw if test -d "../liblinphone-sdk/android-arm/share/belr/grammars"; then \ cp ../liblinphone-sdk/android-arm/share/belr/grammars/*_grammar res/raw/; \ From 99dd1167a5988fe998be73c514aefd097f06ea5a Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 4 Jun 2018 11:33:18 +0200 Subject: [PATCH 39/81] Fix contacts duplication --- src/android/org/linphone/contacts/ContactsManager.java | 10 +++++++++- src/android/org/linphone/contacts/LinphoneContact.java | 7 +++++++ .../org/linphone/contacts/LinphoneNumberOrAddress.java | 7 +++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/android/org/linphone/contacts/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java index 0a60449eb..2fee4e56b 100644 --- a/src/android/org/linphone/contacts/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -264,7 +264,15 @@ public class ContactsManager extends ContentObserver { } public synchronized void setContacts(List c) { - contacts = c; + if (contacts.isEmpty()) { + contacts = c; + } else { + for (LinphoneContact contact : c) { + if (!contacts.contains(contact)) { + contacts.add(contact); + } + } + } } public synchronized void setSipContacts(List c) { diff --git a/src/android/org/linphone/contacts/LinphoneContact.java b/src/android/org/linphone/contacts/LinphoneContact.java index 0b83dffa8..0c5f5399a 100644 --- a/src/android/org/linphone/contacts/LinphoneContact.java +++ b/src/android/org/linphone/contacts/LinphoneContact.java @@ -75,6 +75,13 @@ public class LinphoneContact implements Serializable, Comparable Date: Mon, 4 Jun 2018 12:00:23 +0200 Subject: [PATCH 40/81] Fix go to chat from notification --- src/android/org/linphone/activities/LinphoneActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index 5ddcf8380..9ae6da739 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -371,7 +371,8 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick } private void changeCurrentFragment(FragmentsAvailable newFragmentType, Bundle extras, boolean withoutAnimation) { - if (newFragmentType == currentFragment && newFragmentType != FragmentsAvailable.CHAT) { + if (newFragmentType == currentFragment && newFragmentType != FragmentsAvailable.CHAT + && newFragmentType != FragmentsAvailable.GROUP_CHAT) { return; } From 3eaea1ad3d7fcfd29567561e85004335e2cd78c2 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 4 Jun 2018 17:04:13 +0200 Subject: [PATCH 41/81] Update submodule mediastreamer2 --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index ad4cdb240..601a833ea 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit ad4cdb240e553654f87438fb4519754e90d1773d +Subproject commit 601a833ea05f2b3264101d41ed16962d58e7c255 From 1f449c88afb47fd4dc1a36d297649f1cfab9448d Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 5 Jun 2018 12:06:44 +0200 Subject: [PATCH 42/81] Fix No more close app after first login --- src/android/org/linphone/assistant/AssistantActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/org/linphone/assistant/AssistantActivity.java b/src/android/org/linphone/assistant/AssistantActivity.java index 409c7f3d6..3ed24da84 100644 --- a/src/android/org/linphone/assistant/AssistantActivity.java +++ b/src/android/org/linphone/assistant/AssistantActivity.java @@ -677,7 +677,7 @@ private static AssistantActivity instance; private void goToLinphoneActivity() { mPrefs.firstLaunchSuccessful(); - setResult(Activity.RESULT_OK, new Intent().putExtra("isNewProxyConfig", true)); + startActivity(new Intent().setClass(this, LinphoneActivity.class).putExtra("isNewProxyConfig", true)); finish(); } From 56445fc96a6f093a2a62829039e8386ff8e2bfb3 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 5 Jun 2018 13:26:42 +0200 Subject: [PATCH 43/81] Fix crash in chat when no user do not have proxy --- src/android/org/linphone/chat/GroupChatFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/org/linphone/chat/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java index b8792d393..b7b42af43 100644 --- a/src/android/org/linphone/chat/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -491,7 +491,7 @@ public class GroupChatFragment extends Fragment implements ChatRoomListener, Con //TODO error return; } - Address proxyConfigContact = core.getDefaultProxyConfig().getContact(); + Address proxyConfigContact = (core.getDefaultProxyConfig() != null) ? core.getDefaultProxyConfig().getContact() : null; if (proxyConfigContact != null) { mChatRoom = core.findOneToOneChatRoom(proxyConfigContact, mRemoteSipAddress); } From ad40d0c8ff77114d1eade4c085229c25b41039ea Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 5 Jun 2018 13:27:08 +0200 Subject: [PATCH 44/81] Update submodule linphone --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 2f5ddf8f1..e9a88353a 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 2f5ddf8f1434a032bbc2658983525b8a41355400 +Subproject commit e9a88353a0eb7c99647aeea8c4630aaa50cf4cf9 From 8101b195fa2a4f47852250ad68d5949cee4f619f Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 5 Jun 2018 18:15:40 +0200 Subject: [PATCH 45/81] fix liblinphone sdk aar creation --- prepare.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index 1e8134542..768cbb222 100755 --- a/prepare.py +++ b/prepare.py @@ -372,7 +372,8 @@ liblinphone-android-sdk: java-clean build copy-libs \t./gradlew -q androidJavadocsJar \t./gradlew -q sourcesJar \t./gradlew -q assembleRelease -\t@mv $(TOPDIR)/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar +\t.@mkdir -p $(TOPDIR)/bin/outputs/aar +\t@mv $(TOPDIR)/liblinphone-sdk/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar \t./gradlew -q sdkZip linphone-android-sdk: java-clean build copy-libs From dbb7ca059f849506582a91d24b51abf8a6405c40 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 6 Jun 2018 08:18:27 +0200 Subject: [PATCH 46/81] update prepare.py --- prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index 768cbb222..c5162c9f6 100755 --- a/prepare.py +++ b/prepare.py @@ -372,7 +372,7 @@ liblinphone-android-sdk: java-clean build copy-libs \t./gradlew -q androidJavadocsJar \t./gradlew -q sourcesJar \t./gradlew -q assembleRelease -\t.@mkdir -p $(TOPDIR)/bin/outputs/aar +\t.mkdir -p $(TOPDIR)/bin/outputs/aar \t@mv $(TOPDIR)/liblinphone-sdk/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar \t./gradlew -q sdkZip From 5d4297e96b71c5b764121e8f73f7383b8b66bdc1 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 6 Jun 2018 09:24:22 +0200 Subject: [PATCH 47/81] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 36c677fde..113bde647 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![pipeline status](https://gitlab.linphone.org/BC/public/linphone-android/badges/master/pipeline.svg)](https://gitlab.linphone.org/BC/public/linphone-android/commits/master) + Linphone is a free VoIP and video softphone based on the SIP protocol. # COMPILATION INSTRUCTIONS From e7d511f020abc908aa6d724e25ff129aeda935cc Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 6 Jun 2018 09:29:44 +0200 Subject: [PATCH 48/81] fix prepare.py 2 --- prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index c5162c9f6..30479e28d 100755 --- a/prepare.py +++ b/prepare.py @@ -372,7 +372,7 @@ liblinphone-android-sdk: java-clean build copy-libs \t./gradlew -q androidJavadocsJar \t./gradlew -q sourcesJar \t./gradlew -q assembleRelease -\t.mkdir -p $(TOPDIR)/bin/outputs/aar +\tmkdir -p $(TOPDIR)/bin/outputs/aar \t@mv $(TOPDIR)/liblinphone-sdk/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar \t./gradlew -q sdkZip From 8ce3bc21faf5cd5e058ad414ad538d75130312a6 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 7 Jun 2018 09:06:01 +0200 Subject: [PATCH 49/81] Update version number --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6f320cbb5..5e12ef105 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="3999" + android:versionName="3.99.8"> Date: Thu, 7 Jun 2018 11:17:31 +0200 Subject: [PATCH 50/81] Fix not send expires at 0 on device shutdown if push or background mode enabled --- src/android/org/linphone/LinphoneManager.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index dfed7d63e..41c65f2f2 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -906,13 +906,24 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou } } + private void destroyLinphoneCore() { + if (LinphonePreferences.instance() != null) { + // We set network reachable at false before destroy LC to not send register with expires at 0 + if (LinphonePreferences.instance().isPushNotificationEnabled() + || LinphonePreferences.instance().isBackgroundModeEnabled()) { + mLc.setNetworkReachable(false); + } + } + mLc = null; + } + @TargetApi(Build.VERSION_CODES.HONEYCOMB) private void doDestroy() { ContactsManagerDestroy(); BluetoothManagerDestroy(); try { mTimer.cancel(); - mLc = null; + destroyLinphoneCore(); } catch (RuntimeException e) { Log.e(e); @@ -947,7 +958,6 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou } catch (Exception e) { Log.e(e); } - mLc = null; instance = null; } } From d98ad81dcda9699711956d23168518fac53b383e Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 7 Jun 2018 11:45:57 +0200 Subject: [PATCH 51/81] Enable ndk 16 --- prepare.py | 2 +- submodules/externals/libvpx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/prepare.py b/prepare.py index 992d8fd0a..873f886b4 100755 --- a/prepare.py +++ b/prepare.py @@ -104,7 +104,7 @@ class AndroidPreparator(prepare.Preparator): def __init__(self, targets=android_targets): prepare.Preparator.__init__(self, targets, default_targets=['armv7', 'arm64', 'x86'], virtual_targets=android_virtual_targets) self.min_supported_ndk = 11 - self.max_supported_ndk = 15 + self.max_supported_ndk = 17 self.unsupported_ndk_version = None self.min_cmake_version = "3.7" self.release_with_debug_info = True diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx index 22aa947d5..f16168c8e 160000 --- a/submodules/externals/libvpx +++ b/submodules/externals/libvpx @@ -1 +1 @@ -Subproject commit 22aa947d577adbdd9cbfa7bb92da599254bcfb8f +Subproject commit f16168c8ef95bf00d4e7d702832f8771646686ba From e81757739cb99ff38788cf90fc1fd99c1638d185 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 7 Jun 2018 11:47:10 +0200 Subject: [PATCH 52/81] Fix not send expires at 0 on device shutdown if push or background mode enabled --- src/android/org/linphone/LinphoneManager.java | 61 +++++-------------- 1 file changed, 14 insertions(+), 47 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index f6b5026f7..75ea762f8 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -700,53 +700,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } } - public synchronized final void destroyLinphoneCore() { - sExited = true; - ContactsManagerDestroy(); - BluetoothManagerDestroy(); - try { - mTimer.cancel(); - mLc.destroy(); - } - catch (RuntimeException e) { - Log.e(e); - } - finally { - try { - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) { - mServiceContext.unregisterReceiver(mNetworkReceiver); - } - } catch (Exception e) { - Log.e(e); - } - try { - mServiceContext.unregisterReceiver(mHookReceiver); - } catch (Exception e) { - Log.e(e); - } - try { - mServiceContext.unregisterReceiver(mCallReceiver); - } catch (Exception e) { - Log.e(e); - } - try { - mServiceContext.unregisterReceiver(mKeepAliveReceiver); - } catch (Exception e) { - Log.e(e); - } - try { - dozeManager(false); - } catch (IllegalArgumentException iae) { - Log.e(iae); - }catch (Exception e) { - Log.e(e); - } - mLc = null; - } - } public void restartLinphoneCore() { - destroyLinphoneCore(); + doDestroy(); startLibLinphone(mServiceContext); sExited = false; } @@ -807,7 +763,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag 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); @@ -1050,13 +1006,24 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } } + private void destroyLinphoneCore() { + if (LinphonePreferences.instance() != null) { + // We set network reachable at false before destroy LC to not send register with expires at 0 + if (LinphonePreferences.instance().isPushNotificationEnabled() + || LinphonePreferences.instance().isBackgroundModeEnabled()) { + mLc.setNetworkReachable(false); + } + } + mLc = null; + } + @TargetApi(Build.VERSION_CODES.HONEYCOMB) private void doDestroy() { ContactsManagerDestroy(); BluetoothManagerDestroy(); try { mTimer.cancel(); - mLc.destroy(); + destroyLinphoneCore(); } catch (RuntimeException e) { Log.e(e); From 048f01ff5a00ba812b56c860290e12a9fd4c8fe5 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 7 Jun 2018 11:54:19 +0200 Subject: [PATCH 53/81] Fix last commit --- 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 75ea762f8..ddad0d5d5 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1014,7 +1014,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag mLc.setNetworkReachable(false); } } - mLc = null; + mLc.destroy(); } @TargetApi(Build.VERSION_CODES.HONEYCOMB) From ae70d532ecf376b16e689addcaacce01641cad30 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 7 Jun 2018 14:18:38 +0200 Subject: [PATCH 54/81] Do not attempt to use google json (firebase) in a gradle library. The google-service plugin is made for applications only. Otherwise you'll get obscure compilation errors. --- gradle/wrapper/gradle-wrapper.properties | 3 ++- linphoneAndroidSdk.gradle | 28 +++++------------------- 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6c60389b4..c0ca5dfd3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-all.zip + diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 96c5a5196..648645072 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -1,12 +1,8 @@ // Project information buildDir = 'bin' -def firebaseEnable() { - File googleFile = new File('google-services.json') - return googleFile.exists() -} + buildscript { - File googleFile = new File('google-services.json') repositories { jcenter() mavenCentral() @@ -15,9 +11,6 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' - if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.1.0' - } } } @@ -34,16 +27,7 @@ apply plugin: 'com.android.library' dependencies { compile group: 'org.apache.commons', name: 'commons-compress', version: '+' - if (firebaseEnable()) { - compile 'com.google.firebase:firebase-messaging:11.+' - } else { - compile fileTree(include: 'gcm.jar', dir: 'libs') - compile 'com.android.support:support-v4:+' - } -} - -if (firebaseEnable()) { - apply plugin: 'com.google.gms.google-services' + compile 'com.android.support:support-v4:26.0.2' } @@ -56,11 +40,9 @@ def srcDirs = ['submodules/mediastreamer2/java/src', def excludeFiles = [] // Exclude firebase file if not enable -if (!firebaseEnable()) { - excludeFiles.add('**/Firebase*') -} else { - excludeFiles.add('**/gcm*') -} + +excludeFiles.add('**/Firebase*') +excludeFiles.add('**/gcm*') excludeFiles.add('**/mediastream/MediastreamerActivity.java') def excludePackage = [] From 9b5f01341bfe67c144387c799f6b25beb85005a7 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 7 Jun 2018 14:18:38 +0200 Subject: [PATCH 55/81] Do not attempt to use google json (firebase) in a gradle library. The google-service plugin is made for applications only. Otherwise you'll get obscure compilation errors. --- linphoneAndroidSdk.gradle | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 4e811dab4..874c962f8 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -1,12 +1,8 @@ // Project information buildDir = 'bin' -def firebaseEnable() { - File googleFile = new File('google-services.json') - return googleFile.exists() -} + buildscript { - File googleFile = new File('google-services.json') repositories { jcenter() mavenCentral() @@ -15,9 +11,6 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' - if (googleFile.exists()) { - classpath 'com.google.gms:google-services:3.1.0' - } } } @@ -33,28 +26,17 @@ allprojects { 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' - } else { - implementation 'com.android.support:support-v4:26.0.1' - } -} - -if (firebaseEnable()) { - apply plugin: 'com.google.gms.google-services' + compile group: 'org.apache.commons', name: 'commons-compress', version: '+' + compile 'com.android.support:support-v4:26.0.2' } def srcDirs = ['submodules/mediastreamer2/java/src', 'src/linphone-wrapper', 'src/android'] def excludeFiles = [] -// Exclude firebase file if not enable -if (!firebaseEnable()) { - excludeFiles.add('**/Firebase*') -} else { - excludeFiles.add('**/gcm*') -} + +excludeFiles.add('**/Firebase*') +excludeFiles.add('**/gcm*') excludeFiles.add('**/mediastream/MediastreamerActivity.java') def excludePackage = [] From 07fe05e532bdfb6e0abbce08404679c059f9c0df Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 7 Jun 2018 19:49:55 +0200 Subject: [PATCH 56/81] Update linphone (fixes no video issue when an incoming call is received just after starting) --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index e9a88353a..b1e084c4c 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit e9a88353a0eb7c99647aeea8c4630aaa50cf4cf9 +Subproject commit b1e084c4c842b6dd5722f418184bf6ec228e5058 From d2ede2973d548a5c0016a31fe1a9692b37e18335 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Fri, 8 Jun 2018 09:31:36 +0200 Subject: [PATCH 57/81] Fix contacts management --- src/android/org/linphone/contacts/ContactsManager.java | 8 ++++---- .../org/linphone/contacts/LinphoneNumberOrAddress.java | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/android/org/linphone/contacts/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java index 2fee4e56b..dd493f25b 100644 --- a/src/android/org/linphone/contacts/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -264,7 +264,7 @@ public class ContactsManager extends ContentObserver { } public synchronized void setContacts(List c) { - if (contacts.isEmpty()) { + if (contacts.isEmpty() || contacts.size() > c.size()) { contacts = c; } else { for (LinphoneContact contact : c) { @@ -273,10 +273,11 @@ public class ContactsManager extends ContentObserver { } } } + Collections.sort(contacts); } public synchronized void setSipContacts(List c) { - if (sipContacts.isEmpty()) { + if (sipContacts.isEmpty() || sipContacts.size() > c.size()) { sipContacts = c; } else { for (LinphoneContact contact : c) { @@ -285,6 +286,7 @@ public class ContactsManager extends ContentObserver { } } } + Collections.sort(sipContacts); } public synchronized void refreshSipContact(Friend lf) { @@ -466,8 +468,6 @@ public class ContactsManager extends ContentObserver { Log.w("[Permission] Read contacts permission wasn't granted, only fetch Friends"); } - Collections.sort(contacts); - Collections.sort(sipContacts); setContacts(contacts); setSipContacts(sipContacts); diff --git a/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java index dd63e581a..f40f75d45 100644 --- a/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java +++ b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java @@ -40,7 +40,7 @@ public class LinphoneNumberOrAddress implements Serializable, Comparable Date: Fri, 8 Jun 2018 10:58:26 +0200 Subject: [PATCH 58/81] Fix conference audio --- src/android/org/linphone/call/CallActivity.java | 12 ++++++------ .../org/linphone/fragments/HistoryListFragment.java | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/android/org/linphone/call/CallActivity.java b/src/android/org/linphone/call/CallActivity.java index fba1bb537..4cdd20c31 100644 --- a/src/android/org/linphone/call/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -229,7 +229,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList boolean remoteVideo = call.getRemoteParams().videoEnabled(); boolean localVideo = call.getCurrentParams().videoEnabled(); boolean autoAcceptCameraPolicy = LinphonePreferences.instance().shouldAutomaticallyAcceptVideoRequests(); - if (remoteVideo && !localVideo && !autoAcceptCameraPolicy && !(LinphoneManager.getLc().getConference() != null)) { + if (remoteVideo && !localVideo && !autoAcceptCameraPolicy && !LinphoneManager.getLc().isInConference()) { showAcceptCallUpdateDialog(); createTimerForDialog(SECONDS_BEFORE_DENYING_CALL_UPDATE); } @@ -591,7 +591,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList private void enableAndRefreshInCallActions() { int confsize = 0; - if( LinphoneManager.getLc().getConference() != null) { + if(LinphoneManager.getLc().isInConference()) { confsize = LinphoneManager.getLc().getConferenceSize() - (LinphoneManager.getLc().getConference() != null ? 1 : 0); } @@ -951,7 +951,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList if (currentCall != null) { lc.terminateCall(currentCall); - } else if (lc.getConference() != null) { + } else if (lc.isInConference()) { lc.terminateConference(); } else { lc.terminateAllCalls(); @@ -1412,7 +1412,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList } public void refreshCallList(Resources resources) { - isConferenceRunning = LinphoneManager.getLc().getConference() != null; + isConferenceRunning = LinphoneManager.getLc().isInConference(); List pausedCalls = LinphoneUtils.getCallsInState(LinphoneManager.getLc(), Arrays.asList(State.PausedByRemote)); //MultiCalls @@ -1489,7 +1489,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList private void exitConference(final Call call){ Core lc = LinphoneManager.getLc(); - if (call.getConference() != null) { + if (lc.isInConference()) { lc.removeFromConference(call); if (lc.getConferenceSize() <= 1) { lc.leaveConference(); @@ -1506,7 +1506,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList Core lc = LinphoneManager.getLc(); conferenceStatus = (ImageView) findViewById(R.id.conference_pause); if(conferenceStatus != null) { - if (lc.getConference() != null) { + if (lc.isInConference()) { conferenceStatus.setImageResource(R.drawable.pause_big_over_selected); lc.leaveConference(); } else { diff --git a/src/android/org/linphone/fragments/HistoryListFragment.java b/src/android/org/linphone/fragments/HistoryListFragment.java index c6cd2baf7..70cb2e7a0 100644 --- a/src/android/org/linphone/fragments/HistoryListFragment.java +++ b/src/android/org/linphone/fragments/HistoryListFragment.java @@ -476,7 +476,7 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On LinphoneContact c = ContactsManager.getInstance().findContactFromAddress(address); String displayName = null; - final String sipUri = address.asString(); + final String sipUri = (address != null) ? address.asString() : ""; if (c != null) { displayName = c.getFullName(); LinphoneUtils.setThumbnailPictureFromUri(LinphoneActivity.instance(), holder.contactPicture, c.getThumbnailUri()); From 6032adb676d9447251399756d45d5364da3398c3 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 11 Jun 2018 13:43:43 +0200 Subject: [PATCH 59/81] Enhance video preference --- src/android/org/linphone/fragments/SettingsFragment.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/android/org/linphone/fragments/SettingsFragment.java b/src/android/org/linphone/fragments/SettingsFragment.java index f036b03bd..284d3a99b 100644 --- a/src/android/org/linphone/fragments/SettingsFragment.java +++ b/src/android/org/linphone/fragments/SettingsFragment.java @@ -840,6 +840,12 @@ public class SettingsFragment extends PreferencesListFragment { public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enable = (Boolean) newValue; mPrefs.enableVideo(enable); + if (!enable) { + mPrefs.setInitiateVideoCall(false); + mPrefs.setAutomaticallyAcceptVideoRequests(false); + ((CheckBoxPreference) findPreference(getString(R.string.pref_video_initiate_call_with_video_key))).setChecked(mPrefs.shouldInitiateVideoCall()); + ((CheckBoxPreference) findPreference(getString(R.string.pref_video_automatically_accept_video_key))).setChecked(mPrefs.shouldAutomaticallyAcceptVideoRequests()); + } return true; } }); From b7a548c8afd9f131f6f024634e61d5f822255f70 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 11 Jun 2018 13:44:36 +0200 Subject: [PATCH 60/81] Disable password change in account preference since it's no more working --- .../fragments/AccountPreferencesFragment.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/android/org/linphone/fragments/AccountPreferencesFragment.java b/src/android/org/linphone/fragments/AccountPreferencesFragment.java index fd13a8039..245a46841 100644 --- a/src/android/org/linphone/fragments/AccountPreferencesFragment.java +++ b/src/android/org/linphone/fragments/AccountPreferencesFragment.java @@ -40,6 +40,8 @@ import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; @@ -49,6 +51,7 @@ import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; +import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; @@ -350,7 +353,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen accountCreator = LinphoneManager.getLc().createAccountCreator(LinphonePreferences.instance().getXmlrpcUrl()); accountCreator.setListener(this); - PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_sipaccount_key)); + final PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().findPreference(getString(R.string.pref_sipaccount_key)); EditTextPreference username = (EditTextPreference) account.getPreference(0); username.setOnPreferenceChangeListener(usernameChangedListener); if (!isNewAccount){ @@ -485,8 +488,10 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen mainAccount.setEnabled(!mainAccount.isChecked()); } + //final AccountCreatorListener fragment = this; + final Preference changePassword = manage.getPreference(2); - if (mPrefs.getAccountDomain(n).compareTo(getString(R.string.default_domain)) == 0) { + /*if (mPrefs.getAccountDomain(n).compareTo(getString(R.string.default_domain)) == 0) { changePassword.setEnabled(!isNewAccount); changePassword.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { @@ -501,15 +506,19 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen dialog.dismiss(); } }); - /*alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { + + alert.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { AccountCreator.PasswordStatus status = accountCreator.setPassword(pass1.getText().toString()); if (status.equals(AccountCreator.PasswordStatus.Ok)) { if (pass1.getText().toString().compareTo(pass2.getText().toString()) == 0) { accountCreator.setUsername(mPrefs.getAccountUsername(n)); + accountCreator.setDomain(mPrefs.getAccountDomain(n)); accountCreator.setHa1(mPrefs.getAccountHa1(n)); - AccountCreator.Status req_status = accountCreator.updatePassword(pass1.getText().toString()); + accountCreator.setListener(fragment); + accountCreator.setPassword(pass1.getText().toString()); + AccountCreator.Status req_status = accountCreator.updateAccount(); if (!req_status.equals(AccountCreator.Status.RequestOk)) { LinphoneUtils.displayErrorAlert(LinphoneUtils.errorForStatus(req_status) , LinphoneActivity.instance()); @@ -532,14 +541,14 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen } });*/ // TODO FIXME - alert.setView(layout); + /*alert.setView(layout); alert.show(); return true; } }); - } else { + } else {*/ changePassword.setEnabled(false); - } + //} final Preference delete = manage.getPreference(3); delete.setEnabled(!isNewAccount); From 9aae5a679455493772f69c00fa0601f99822047c Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 11 Jun 2018 13:45:17 +0200 Subject: [PATCH 61/81] Update version number --- AndroidManifest.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 5e12ef105..84c64b18e 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2,8 +2,8 @@ + android:versionCode="4001" + android:versionName="4.0.0"> Date: Mon, 11 Jun 2018 15:36:06 +0200 Subject: [PATCH 62/81] Update readme, version, config files --- AndroidManifest.xml | 2 +- AndroidManifestSdk.xml | 2 +- README.md | 11 +++-------- build.gradle | 4 ++-- liblinphone-sdk/AndroidManifestLibrary.xml | 6 +++--- liblinphone-sdk/build.gradle | 4 ++-- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 3baba3a38..c83fd6e85 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -7,7 +7,7 @@ + android:targetSdkVersion="28"/> diff --git a/AndroidManifestSdk.xml b/AndroidManifestSdk.xml index 6a132d3d1..17de7b7ee 100755 --- a/AndroidManifestSdk.xml +++ b/AndroidManifestSdk.xml @@ -7,5 +7,5 @@ + android:targetSdkVersion="28"/> diff --git a/README.md b/README.md index 113bde647..df4f16c35 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,11 @@ Linphone is a free VoIP and video softphone based on the SIP protocol. ## To build liblinphone for Android, you must: -1. Download the Android sdk (API 26.0.1 at max) with platform-tools and tools updated to latest revision, then add both 'tools' and 'platform-tools' folders in your path and the android-sdk folder to ANDROID_HOME environment variable. +1. Download the Android sdk (API 28.0.0 at max) with platform-tools and tools updated to latest revision, then add both 'tools' and 'platform-tools' folders in your path and the android-sdk folder to ANDROID_HOME environment variable. -2. Download the Android ndk (version r11c or 15) from google and add it to your path (no symlink !!!) and ANDROID_NDK environment variable. +2. Download the Android ndk (version 16) from google and add it to your path (no symlink !!!) and ANDROID_NDK environment variable. -3. Install _yasm_, _nasm_ (For OpenH224 support only), _python_, _pkg_config_ and _cmake(>=3.7)_. +3. Install _yasm_, _nasm_ (For OpenH224 support only), _python_, _pkg_config_ and _cmake(>=3.10)_. * On 64 bits linux systems you'll need the _ia32-libs_ package. * With the latest Debian (multiarch), you need this: * `dpkg --add-architecture i386` @@ -67,11 +67,6 @@ You can speed up the compilation by using ccache (compiler cache, see [ccache.sa To enable firebase in Linphone, just add your 'google-service.json' in project root, add your key at 'push_sender_id' and add 'firebase' at 'push_type' in 'res/values/non_localizable_custom.xml' Be sure to have all services for Firebase in your 'AndroidManifest.xml' -## Google - -To enable google push in Linphone, remove 'google-service.json' file if it exist, add your key at 'push_sender_id' and add 'google' at 'push_type' in 'res/values/non_localizable_custom.xml' -Be sure to have every permissions and services for GCM in your 'AndroidManifest.xml' - # TROUBLESHOOTING If you encounter the following issue: diff --git a/build.gradle b/build.gradle index 16902bf25..cc77667aa 100644 --- a/build.gradle +++ b/build.gradle @@ -78,8 +78,8 @@ excludePackage.add('**/LICENSE.txt') android { defaultConfig { - compileSdkVersion 26 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.0" applicationId getPackageName() multiDexEnabled true diff --git a/liblinphone-sdk/AndroidManifestLibrary.xml b/liblinphone-sdk/AndroidManifestLibrary.xml index 1d333c9de..650cbb6e1 100755 --- a/liblinphone-sdk/AndroidManifestLibrary.xml +++ b/liblinphone-sdk/AndroidManifestLibrary.xml @@ -2,10 +2,10 @@ + android:versionCode="4001" + android:versionName="4.0.0"> + android:targetSdkVersion="28"/> diff --git a/liblinphone-sdk/build.gradle b/liblinphone-sdk/build.gradle index fc7b6a88d..e8b6d6fb7 100644 --- a/liblinphone-sdk/build.gradle +++ b/liblinphone-sdk/build.gradle @@ -72,8 +72,8 @@ android { } defaultConfig { - compileSdkVersion 26 - buildToolsVersion "27.0.3" + compileSdkVersion 28 + buildToolsVersion "28.0.0" multiDexEnabled true } From 742d7fd43d036d8e9ecf4ee9be5357a647fb9448 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 12 Jun 2018 11:13:04 +0200 Subject: [PATCH 63/81] update ms2 (ICE fix) --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index 9add24c20..b542daaf6 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit 9add24c2041e1bcf7b51ae580575ef56aa408f3e +Subproject commit b542daaf60d8c1f686eb4f1fb6c063fd386a76a5 From 648b4ae71b9bbb271639fe109e556eafe31e59c7 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 12 Jun 2018 15:37:48 +0200 Subject: [PATCH 64/81] Fix crash when call stats are displayed at the same time as the call is terminated. --- src/android/org/linphone/call/CallActivity.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/android/org/linphone/call/CallActivity.java b/src/android/org/linphone/call/CallActivity.java index 4cdd20c31..2fe3a2db2 100644 --- a/src/android/org/linphone/call/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -71,6 +71,7 @@ import org.linphone.activities.LinphoneActivity; import org.linphone.activities.LinphoneGenericActivity; import org.linphone.core.Address; import org.linphone.core.Call; +import org.linphone.core.CallListenerStub; import org.linphone.core.Call.State; import org.linphone.core.CallParams; import org.linphone.core.CallStats; @@ -138,6 +139,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList private TimerTask mTask; private HashMap mEncoderTexts; private HashMap mDecoderTexts; + private CallListenerStub mCallListener; private boolean oldIsSpeakerEnabled = false; @@ -1706,6 +1708,16 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList final View videoLayout = view.findViewById(R.id.callStatsVideo); final View audioLayout = view.findViewById(R.id.callStatsAudio); + mCallListener = new CallListenerStub(){ + public void onStateChanged(Call call, Call.State cstate, String message){ + if (cstate == Call.State.End || cstate == Call.State.Error){ + if (mTimer != null) { + Log.i("Call is terminated, stopping timer in charge of stats refreshing."); + mTimer.cancel(); + } + } + } + }; mTimer = new Timer(); mTask = new TimerTask() { @@ -1762,6 +1774,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList }); } }; + call.addListener(mCallListener); mTimer.scheduleAtFixedRate(mTask, 0, 1000); } From 3c472514ce28087412c2aa8c968f02ce2cbc3185 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 13 Jun 2018 11:38:47 +0200 Subject: [PATCH 65/81] [Switch submodule branch] Update linphone submodule. --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index c448d2e00..a5dce4038 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c448d2e0018ca9baa45afe216241fc354cc4edef +Subproject commit a5dce40387dfb8102aa2408122e3f0fb6fe25a50 From a1060304e13539d8a464fc6374cbb1084f4a197e Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 13 Jun 2018 13:50:55 +0200 Subject: [PATCH 66/81] Update ms2 submodule. --- submodules/mediastreamer2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index b542daaf6..a9f96ff70 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit b542daaf60d8c1f686eb4f1fb6c063fd386a76a5 +Subproject commit a9f96ff708f451d2568d1aa70ea40149d6f8d0ea From 554e77397757b3d3d6d52b0c7579772b72de675c Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 13 Jun 2018 15:01:30 +0200 Subject: [PATCH 67/81] Edit prepare.py to build sdk in debug --- liblinphone-sdk/build.gradle | 23 ++++++++++++++++++++++- prepare.py | 10 ++++------ 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/liblinphone-sdk/build.gradle b/liblinphone-sdk/build.gradle index e8b6d6fb7..c1692f802 100644 --- a/liblinphone-sdk/build.gradle +++ b/liblinphone-sdk/build.gradle @@ -68,13 +68,34 @@ android { buildTypes { release {} - debug{} + debug {} } defaultConfig { compileSdkVersion 28 buildToolsVersion "28.0.0" multiDexEnabled true + setProperty("archivesBaseName", "liblinphone-sdk") + } + + // Signing + signingConfigs { + release { + storeFile file(RELEASE_STORE_FILE) + storePassword RELEASE_STORE_PASSWORD + keyAlias RELEASE_KEY_ALIAS + keyPassword RELEASE_KEY_PASSWORD + } + } + buildTypes { + release { + signingConfig signingConfigs.release + } + packaged { + initWith release + signingConfig null + matchingFallbacks = ['debug', 'release'] + } } lintOptions { diff --git a/prepare.py b/prepare.py index ee5063a73..4ad88b5e0 100755 --- a/prepare.py +++ b/prepare.py @@ -368,12 +368,10 @@ generate-javadoc: \t./gradlew -q androidJavadocsJar \t./gradlew -q sourcesJar -liblinphone-android-sdk: java-clean build copy-libs -\t./gradlew -q androidJavadocsJar -\t./gradlew -q sourcesJar -\t./gradlew -q assembleRelease -\tmkdir -p $(TOPDIR)/bin/outputs/aar -\t@mv $(TOPDIR)/liblinphone-sdk/bin/outputs/aar/*.aar $(TOPDIR)/bin/outputs/aar/liblinphone-sdk.aar +debug-sdk: java-clean build copy-libs generate-javadoc generate-apk +\t./gradlew -q sdkZip + +release-sdk: java-clean build copy-libs generate-javadoc release \t./gradlew -q sdkZip linphone-android-sdk: java-clean build copy-libs From 7432b9c698bd43139f6af598766949af9bb5c16f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Turnel?= Date: Fri, 15 Jun 2018 15:07:43 +0200 Subject: [PATCH 68/81] Fix some type of files treated as images Such as .pcapng which is a Wireshark format that couldn't be sent. --- src/android/org/linphone/LinphoneUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 00933b03b..badb3532e 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -415,7 +415,7 @@ public final class LinphoneUtils { String extension = LinphoneUtils.getExtensionFromFileName(path); if(extension != null) extension = extension.toLowerCase(); - return (extension != null && extension.matches(".*(png|jpg|jpeg|bmp|gif).*")); + return (extension != null && extension.matches("(png|jpg|jpeg|bmp|gif)")); } public static void recursiveFileRemoval(File root) { From 1c1c76a4367ae78e0599bc23eb87a14f44bbc01f Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 15 Jun 2018 16:09:23 +0200 Subject: [PATCH 69/81] Add release notes for 4.0.0 --- CHANGELOG.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26e8b01c2..b6801e467 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,27 @@ Group changes to describe their impact on the project, as follows: Added for new features. Changed for changes in existing functionality. - Deprecated for once-stable features removed in upcoming releases.é + Deprecated for once-stable features removed in upcoming releases. Removed for deprecated features removed in this release. Fixed for any bug fixes. Security to invite users to upgrade in case of vulnerabilities. ## [Incomming] +## [4.0.0] - 2018-06-15 + +### Added +- Group chat between linphone.org SIP accounts. +- new JAVA/JNI wrapper. This new wrapper is automatically generated from liblinphone C API. It breaks compatibility with previous, hand-made wrapper. + (more information about new wrapper [here.](https://wiki.linphone.org/xwiki/wiki/public/view/Lib/Linphone%20%28Android%29%20Java%20wrapper/) ) + +### Deprecated +- hand-made java API in submodules/linphone/java is deprecated. However it is still possible to use it by checking out the 3.4.x branch of linphone-android. + +### Fixed +- issue with changing push notification token not passed to library, possibly resulting in a loss of incoming calls. + + ## [3.3.0] - 2017-10-18 ### Added From fab3081b601cd349365bc36abc14efcf15c03dcb Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Fri, 15 Jun 2018 22:10:28 +0200 Subject: [PATCH 70/81] Fix loading of plugins. --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index a5dce4038..142fdca15 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit a5dce40387dfb8102aa2408122e3f0fb6fe25a50 +Subproject commit 142fdca15504216b6a52e08594c2e35872b0cdbf From 060e37054cf81df606b10b09f3bd7d092bc0158c Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Sun, 17 Jun 2018 11:46:28 +0200 Subject: [PATCH 71/81] Fix compilation errors and crashes. --- src/android/org/linphone/LinphoneManager.java | 3 +++ submodules/bctoolbox | 2 +- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index e9638139f..677f41225 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1770,4 +1770,7 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou mUnreadChatsPerRoom.put(key, 1); } } + + public void onQrcodeFound(Core lc, String something){ + } } diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 48ac645ca..3eef7b372 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 48ac645caa629a65fb164882aeddab7eb13a56a9 +Subproject commit 3eef7b37214cc8a3fc1453fe92ac483a6b388f08 diff --git a/submodules/linphone b/submodules/linphone index 142fdca15..634aaf3cb 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 142fdca15504216b6a52e08594c2e35872b0cdbf +Subproject commit 634aaf3cbfcb08e0d1a1c0c92cf5243b893011a4 diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index a9f96ff70..e02b12e57 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit a9f96ff708f451d2568d1aa70ea40149d6f8d0ea +Subproject commit e02b12e579faee6c792bcf34c6cca9ac20f88251 From 59def5f64f1c3613b7b6b63668280003b6c52f71 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 18 Jun 2018 10:02:42 +0200 Subject: [PATCH 72/81] restaure target liblinphone-android-sdk for bacward compatibility --- prepare.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare.py b/prepare.py index 4ad88b5e0..a16d7c6b9 100755 --- a/prepare.py +++ b/prepare.py @@ -371,7 +371,7 @@ generate-javadoc: debug-sdk: java-clean build copy-libs generate-javadoc generate-apk \t./gradlew -q sdkZip -release-sdk: java-clean build copy-libs generate-javadoc release +liblinphone-android-sdk: java-clean build copy-libs generate-javadoc release \t./gradlew -q sdkZip linphone-android-sdk: java-clean build copy-libs From be1c96a2be701fbe6a7d5b39596630f7799a0aa4 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 18 Jun 2018 11:58:57 +0200 Subject: [PATCH 73/81] Directly use source path of java wrapper's non-generated classes. --- liblinphone-sdk/build.gradle | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/liblinphone-sdk/build.gradle b/liblinphone-sdk/build.gradle index c1692f802..ab99818cc 100644 --- a/liblinphone-sdk/build.gradle +++ b/liblinphone-sdk/build.gradle @@ -54,7 +54,7 @@ else { } srcDir += [rootSdk+'/share/linphonej/java/org/linphone/core/'] - +srcDir += ['../submodules/linphone/wrappers/java/classes/'] def excludePackage = [] diff --git a/submodules/linphone b/submodules/linphone index 634aaf3cb..c5115f63e 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 634aaf3cbfcb08e0d1a1c0c92cf5243b893011a4 +Subproject commit c5115f63e14796bff6054a9697a0305a7e9b0c20 From 6e0f455ca63b8951535e36b9b04c9b26fdf1db36 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 19 Jun 2018 13:00:36 +0200 Subject: [PATCH 74/81] add zxing submodule + fix armv5/gcc build --- .gitmodules | 3 +++ submodules/externals/zxing-cpp | 1 + submodules/linphone | 2 +- submodules/oRTP | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) create mode 160000 submodules/externals/zxing-cpp diff --git a/.gitmodules b/.gitmodules index 48a6bfc5b..9bdd3f034 100644 --- a/.gitmodules +++ b/.gitmodules @@ -117,3 +117,6 @@ [submodule "submodules/externals/soci"] path = submodules/externals/soci url = git://git.linphone.org/soci +[submodule "submodules/externals/zxing-cpp"] + path = submodules/externals/zxing-cpp + url = gitosis@git.linphone.org:zxing-cpp.git diff --git a/submodules/externals/zxing-cpp b/submodules/externals/zxing-cpp new file mode 160000 index 000000000..0f267e5fb --- /dev/null +++ b/submodules/externals/zxing-cpp @@ -0,0 +1 @@ +Subproject commit 0f267e5fb66d45b32fba302bef0028dcf0dda84f diff --git a/submodules/linphone b/submodules/linphone index c5115f63e..d643672e8 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit c5115f63e14796bff6054a9697a0305a7e9b0c20 +Subproject commit d643672e81e63dbdb41edb91160f188ae5cb7ff7 diff --git a/submodules/oRTP b/submodules/oRTP index 1fcd6fd15..3afc47570 160000 --- a/submodules/oRTP +++ b/submodules/oRTP @@ -1 +1 @@ -Subproject commit 1fcd6fd1558f26255ae9dac687191ddf988bfd5b +Subproject commit 3afc47570a1c9f34bd2f1a759ae00fb7ecd26a0e From 4898b21d85d14e7a971c4487051ae2b754cf0a2c Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 19 Jun 2018 13:03:33 +0200 Subject: [PATCH 75/81] fix .gitmodules --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 9bdd3f034..cdfee6b31 100644 --- a/.gitmodules +++ b/.gitmodules @@ -119,4 +119,4 @@ url = git://git.linphone.org/soci [submodule "submodules/externals/zxing-cpp"] path = submodules/externals/zxing-cpp - url = gitosis@git.linphone.org:zxing-cpp.git + url = git://git.linphone.org/zxing-cpp.git From b7df48ba7aaba30865a00077bacd6743f3aed400 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 19 Jun 2018 13:48:30 +0200 Subject: [PATCH 76/81] update linphone's submodule --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index d643672e8..f9384facd 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d643672e81e63dbdb41edb91160f188ae5cb7ff7 +Subproject commit f9384facd9e19c79cad20c14f7596e7c18d7b20c From 530c02996b1a16d83a8f84a9c023df72efb31f3c Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 19 Jun 2018 22:35:24 +0200 Subject: [PATCH 77/81] Fix Null pointer exception when putting the call on hold. --- src/android/org/linphone/call/CallActivity.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/android/org/linphone/call/CallActivity.java b/src/android/org/linphone/call/CallActivity.java index 2fe3a2db2..e97a50ef5 100644 --- a/src/android/org/linphone/call/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -140,6 +140,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList private HashMap mEncoderTexts; private HashMap mDecoderTexts; private CallListenerStub mCallListener; + private Call mCallDisplayedInStats; private boolean oldIsSpeakerEnabled = false; @@ -1675,9 +1676,16 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList } public void initCallStatsRefresher(final Call call, final View view) { + if (mCallDisplayedInStats == call) return; + if (mTimer != null && mTask != null) { - return; + mTimer.cancel(); + mTimer = null; + mTask = null; } + mCallDisplayedInStats = call; + + if (call == null) return; final TextView titleAudio = (TextView) view.findViewById(R.id.call_stats_audio); final TextView titleVideo = (TextView) view.findViewById(R.id.call_stats_video); @@ -1742,7 +1750,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList public void run() { if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() == null) return; synchronized(LinphoneManager.getLc()) { - if (LinphoneActivity.isInstanciated()) { + if (LinphoneActivity.isInstanciated() && call.getState() != Call.State.Released) { CallParams params = call.getCurrentParams(); if (params != null) { CallStats audioStats = call.getStats(StreamType.Audio); From e2d2d60d739c44e215c87e939b652e0baa59c49b Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Wed, 20 Jun 2018 09:08:12 +0200 Subject: [PATCH 78/81] fix gradle build --- liblinphone-sdk/build.gradle | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/liblinphone-sdk/build.gradle b/liblinphone-sdk/build.gradle index ab99818cc..9889fe322 100644 --- a/liblinphone-sdk/build.gradle +++ b/liblinphone-sdk/build.gradle @@ -94,7 +94,7 @@ android { packaged { initWith release signingConfig null - matchingFallbacks = ['debug', 'release'] + //matchingFallbacks = ['debug', 'release'] } } diff --git a/submodules/linphone b/submodules/linphone index f9384facd..e289a58a4 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f9384facd9e19c79cad20c14f7596e7c18d7b20c +Subproject commit e289a58a44bc4f91dd0d0130ff8121d75903a576 From 439e0a40920370f554d2dbe5e58f58726e8c88a0 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 25 Jun 2018 10:43:32 +0200 Subject: [PATCH 79/81] update submodule linphone & belle-sip --- submodules/belle-sip | 2 +- submodules/linphone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/belle-sip b/submodules/belle-sip index d7b16228a..0f999ecc3 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit d7b16228a2746644a5dea76be9fff45708773130 +Subproject commit 0f999ecc3d304923b6338d3f48d44ac8ddfd9be8 diff --git a/submodules/linphone b/submodules/linphone index e289a58a4..b085154c6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit e289a58a44bc4f91dd0d0130ff8121d75903a576 +Subproject commit b085154c6f21aee15f5b8af0fbe601d026b0167f From 5b491da363e27136ccf55663cba1dc33b6c680a1 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Tue, 26 Jun 2018 14:44:26 +0200 Subject: [PATCH 80/81] Update submodules -bctoolbox -belcard -belle-sip -belr -linphone -mediastreamer2 --- submodules/bctoolbox | 2 +- submodules/belcard | 2 +- submodules/belr | 2 +- submodules/linphone | 2 +- submodules/mediastreamer2 | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/submodules/bctoolbox b/submodules/bctoolbox index 3eef7b372..ed53ae3c9 160000 --- a/submodules/bctoolbox +++ b/submodules/bctoolbox @@ -1 +1 @@ -Subproject commit 3eef7b37214cc8a3fc1453fe92ac483a6b388f08 +Subproject commit ed53ae3c9da4fb15c13454153383014b3257939a diff --git a/submodules/belcard b/submodules/belcard index b1622d7dd..ab5416d66 160000 --- a/submodules/belcard +++ b/submodules/belcard @@ -1 +1 @@ -Subproject commit b1622d7ddf1cbe6a0f929537861dfa8b45b293c4 +Subproject commit ab5416d66620f32ff6882b6e29dec63203dbca41 diff --git a/submodules/belr b/submodules/belr index 8e841b047..cfad8fcc2 160000 --- a/submodules/belr +++ b/submodules/belr @@ -1 +1 @@ -Subproject commit 8e841b047641b1812a83880a90e89d702747ca5b +Subproject commit cfad8fcc28c7cdba69684c8e35846711aaa16775 diff --git a/submodules/linphone b/submodules/linphone index b085154c6..61e38e370 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit b085154c6f21aee15f5b8af0fbe601d026b0167f +Subproject commit 61e38e3704e1a37c9e884897ca5597158725b202 diff --git a/submodules/mediastreamer2 b/submodules/mediastreamer2 index e02b12e57..54a79f731 160000 --- a/submodules/mediastreamer2 +++ b/submodules/mediastreamer2 @@ -1 +1 @@ -Subproject commit e02b12e579faee6c792bcf34c6cca9ac20f88251 +Subproject commit 54a79f731fea61d345dfff4f8fcb2fc390c2fed7 From 47605e22951161830f644bf850415bd2c149b9a8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 26 Jun 2018 16:04:33 +0200 Subject: [PATCH 81/81] Set release notes for 4.0.1 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6801e467..ccc840914 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,13 @@ Group changes to describe their impact on the project, as follows: ## [Incomming] +## [4.0.1] - 2018-06-26 + +### Fixed +- fix loading of plugins +- fix issue with video stream, not started when receiving an incoming call just after the app is launched +- fix issue with TURN + ## [4.0.0] - 2018-06-15 ### Added