diff --git a/app/src/main/java/org/linphone/LinphoneActivity.java b/app/src/main/java/org/linphone/LinphoneActivity.java
index 48feceacb..5418acbc7 100644
--- a/app/src/main/java/org/linphone/LinphoneActivity.java
+++ b/app/src/main/java/org/linphone/LinphoneActivity.java
@@ -366,6 +366,14 @@ public class LinphoneActivity extends LinphoneGenericActivity
ActivityCompat.requestPermissions(
this, permissions, PERMISSIONS_READ_EXTERNAL_STORAGE_DEVICE_RINGTONE);
}
+ } else {
+ if (getResources().getBoolean(R.bool.check_for_update_when_app_starts)) {
+ String url = LinphonePreferences.instance().getCheckReleaseUrl();
+ if (url != null && !url.isEmpty()) {
+ LinphoneManager.getLcIfManagerNotDestroyedOrNull()
+ .checkForUpdate(BuildConfig.VERSION_NAME);
+ }
+ }
}
if (checkPermission(Manifest.permission.READ_CONTACTS)) {
@@ -609,6 +617,16 @@ public class LinphoneActivity extends LinphoneGenericActivity
@Override
public void onRequestPermissionsResult(
int requestCode, String[] permissions, int[] grantResults) {
+
+ // If permission was asked we wait here for the results so dialogs won't conflict
+ if (getResources().getBoolean(R.bool.check_for_update_when_app_starts)) {
+ String url = LinphonePreferences.instance().getCheckReleaseUrl();
+ if (url != null && !url.isEmpty()) {
+ LinphoneManager.getLcIfManagerNotDestroyedOrNull()
+ .checkForUpdate(BuildConfig.VERSION_NAME);
+ }
+ }
+
if (permissions.length <= 0) return;
int readContactsI = -1;
diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java
index 4a6bcf27c..2f69ab4c1 100644
--- a/app/src/main/java/org/linphone/LinphoneManager.java
+++ b/app/src/main/java/org/linphone/LinphoneManager.java
@@ -739,8 +739,6 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou
+ getString(R.string.linphone_sdk_branch)
+ ")");
- mCore.checkForUpdate(androidVersion);
-
// mCore.setChatDatabasePath(mChatDatabaseFile);
mCore.setCallLogsDatabasePath(mCallLogDatabaseFile);
mCore.setFriendsDatabasePath(mFriendsDatabaseFile);
diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
index 4ba635d55..37d8678cb 100644
--- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java
+++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
@@ -958,6 +958,10 @@ public class LinphonePreferences {
getConfig().setBool("app", "show_service_notification", enable);
}
+ public String getCheckReleaseUrl() {
+ return getConfig().getString("misc", "version_check_url_root", null);
+ }
+
public boolean isOverlayEnabled() {
return getConfig().getBool("app", "display_overlay", false);
}
diff --git a/app/src/main/res/values/non_localizable_custom.xml b/app/src/main/res/values/non_localizable_custom.xml
index 2f4223597..d0503dd40 100644
--- a/app/src/main/res/values/non_localizable_custom.xml
+++ b/app/src/main/res/values/non_localizable_custom.xml
@@ -129,6 +129,7 @@
true
true
+ true
1000
7000