diff --git a/app/build.gradle b/app/build.gradle
index 272e09b4c..3dcc79e6f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -10,7 +10,7 @@ static def firebaseEnabled() {
}
task getGitVersion() {
- def gitVersion = "4.4.1"
+ def gitVersion = "4.4.2"
def gitVersionStream = new ByteArrayOutputStream()
def gitCommitsCount = new ByteArrayOutputStream()
def gitCommitHash = new ByteArrayOutputStream()
@@ -100,7 +100,7 @@ android {
defaultConfig {
minSdkVersion 23
targetSdkVersion 29
- versionCode 4401
+ versionCode 4402
versionName "${project.version}"
applicationId getPackageName()
multiDexEnabled true
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 05f552aef..807bd1582 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -215,6 +215,12 @@
android:name=".service.LinphoneService"
android:label="@string/service_name" />
+
+
diff --git a/app/src/main/java/org/linphone/LinphoneManager.java b/app/src/main/java/org/linphone/LinphoneManager.java
index d71104c9c..82e47236e 100644
--- a/app/src/main/java/org/linphone/LinphoneManager.java
+++ b/app/src/main/java/org/linphone/LinphoneManager.java
@@ -371,6 +371,12 @@ public class LinphoneManager implements SensorEventListener {
mCore.migrateLogsFromRcToDb();
+ // Migration code
+ if (mCore.getConfig().getBool("app", "incoming_call_vibration", true)) {
+ mCore.setVibrationOnIncomingCallEnabled(true);
+ mCore.getConfig().setBool("app", "incoming_call_vibration", false);
+ }
+
// Migrate existing linphone accounts to have conference factory uri and LIME X3Dh url set
String uri = getString(R.string.default_conference_factory_uri);
for (ProxyConfig lpc : mCore.getProxyConfigList()) {
diff --git a/app/src/main/java/org/linphone/compatibility/ApiTwentyOnePlus.java b/app/src/main/java/org/linphone/compatibility/ApiTwentyOnePlus.java
index f72a344dd..761830adb 100644
--- a/app/src/main/java/org/linphone/compatibility/ApiTwentyOnePlus.java
+++ b/app/src/main/java/org/linphone/compatibility/ApiTwentyOnePlus.java
@@ -26,7 +26,6 @@ import android.app.PendingIntent;
import android.content.ContentProviderClient;
import android.content.Context;
import android.graphics.Bitmap;
-import android.os.Vibrator;
import android.view.WindowManager;
import androidx.core.content.ContextCompat;
import org.linphone.R;
@@ -243,9 +242,4 @@ class ApiTwentyOnePlus {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
}
-
- public static void vibrate(Vibrator vibrator) {
- long[] pattern = {0, 1000, 1000};
- vibrator.vibrate(pattern, 1);
- }
}
diff --git a/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java b/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
index 8d58f9e71..edac738a4 100644
--- a/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
+++ b/app/src/main/java/org/linphone/compatibility/ApiTwentySixPlus.java
@@ -33,10 +33,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
-import android.media.AudioAttributes;
import android.os.Build;
-import android.os.VibrationEffect;
-import android.os.Vibrator;
import android.provider.Settings;
import android.widget.RemoteViews;
import org.linphone.R;
@@ -334,15 +331,4 @@ class ApiTwentySixPlus {
activity.enterPictureInPictureMode();
}
}
-
- public static void vibrate(Vibrator vibrator) {
- long[] timings = {0, 1000, 1000};
- int[] amplitudes = {0, VibrationEffect.DEFAULT_AMPLITUDE, 0};
- VibrationEffect effect = VibrationEffect.createWaveform(timings, amplitudes, 1);
- AudioAttributes audioAttrs =
- new AudioAttributes.Builder()
- .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
- .build();
- vibrator.vibrate(effect, audioAttrs);
- }
}
diff --git a/app/src/main/java/org/linphone/compatibility/Compatibility.java b/app/src/main/java/org/linphone/compatibility/Compatibility.java
index 9b421d576..f8d189bc8 100644
--- a/app/src/main/java/org/linphone/compatibility/Compatibility.java
+++ b/app/src/main/java/org/linphone/compatibility/Compatibility.java
@@ -30,7 +30,6 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Build;
-import android.os.Vibrator;
import android.provider.Settings;
import android.service.notification.StatusBarNotification;
import org.linphone.core.Address;
@@ -327,12 +326,4 @@ public class Compatibility {
return new StatusBarNotification[0];
}
-
- public static void vibrate(Vibrator vibrator) {
- if (Version.sdkAboveOrEqual(Version.API26_O_80)) {
- ApiTwentySixPlus.vibrate(vibrator);
- } else {
- ApiTwentyOnePlus.vibrate(vibrator);
- }
- }
}
diff --git a/app/src/main/java/org/linphone/settings/LinphonePreferences.java b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
index 48fb666e9..1e412c1bc 100644
--- a/app/src/main/java/org/linphone/settings/LinphonePreferences.java
+++ b/app/src/main/java/org/linphone/settings/LinphonePreferences.java
@@ -1152,13 +1152,12 @@ public class LinphonePreferences {
}
public boolean isIncomingCallVibrationEnabled() {
- if (getConfig() == null) return true;
- return getConfig().getBool("app", "incoming_call_vibration", true);
+ if (getLc() == null) return false;
+ return getLc().isVibrationOnIncomingCallEnabled();
}
public void enableIncomingCallVibration(boolean enable) {
- if (getConfig() == null) return;
- getConfig().setBool("app", "incoming_call_vibration", enable);
+ getLc().setVibrationOnIncomingCallEnabled(enable);
}
public boolean isBisFeatureEnabled() {