From dbd04292e426ed07e4e02b3f9bea89253682a0c3 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 21 Feb 2018 14:31:22 +0100 Subject: [PATCH 01/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] [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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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/35] 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 8291b882167893f4a8b4f08fc01658f6660d02fe Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 30 May 2018 17:39:10 +0200 Subject: [PATCH 29/35] 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 3eaea1ad3d7fcfd29567561e85004335e2cd78c2 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 4 Jun 2018 17:04:13 +0200 Subject: [PATCH 30/35] 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 5d4297e96b71c5b764121e8f73f7383b8b66bdc1 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Wed, 6 Jun 2018 09:24:22 +0200 Subject: [PATCH 31/35] 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 d98ad81dcda9699711956d23168518fac53b383e Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Thu, 7 Jun 2018 11:45:57 +0200 Subject: [PATCH 32/35] 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 33/35] 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 34/35] 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 35/35] 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 = []