From 3de51146b759f8f3526d81f8e30bc8d16b49ac79 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 24 Sep 2018 10:16:51 +0200 Subject: [PATCH] Fixes & improvements from github pull requests --- src/android/org/linphone/LinphoneManager.java | 11 ++++++++++- src/android/org/linphone/LinphoneService.java | 11 +++++++---- .../org/linphone/activities/LinphoneActivity.java | 2 +- .../linphone/activities/LinphoneLauncherActivity.java | 2 ++ 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 374919686..ee89c269c 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -1358,7 +1358,8 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou mAudioManager.setMode(MODE_RINGTONE); try { - if ((mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE || mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) && mVibrator != null) { + if ((mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE || mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) + && mVibrator != null) { long[] patern = {0, 1000, 1000}; mVibrator.vibrate(patern, 1); } @@ -1418,6 +1419,14 @@ public class LinphoneManager implements CoreListener, SensorEventListener, Accou } } + public boolean hasLinphoneAccount() { + for (ProxyConfig proxyConfig : mLc.getProxyConfigList()) { + if (getString(R.string.default_domain).equals(proxyConfig.getIdentityAddress().getDomain())) { + return true; + } + } + return false; + } public static String extractADisplayName(Resources r, Address address) { if (address == null) return r.getString(R.string.unknown_incoming_call_name); diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index 327f0fb11..e9a8a396b 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -426,10 +426,13 @@ public final class LinphoneService extends Service { } //make sure the application will at least wakes up every 10 mn - Intent keepAliveIntent = new Intent(this, KeepAliveReceiver.class); - PendingIntent keepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, keepAliveIntent, PendingIntent.FLAG_ONE_SHOT); - AlarmManager alarmManager = ((AlarmManager) this.getSystemService(Context.ALARM_SERVICE)); - Compatibility.scheduleAlarm(alarmManager, AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 600000, keepAlivePendingIntent); + if (LinphonePreferences.instance().isBackgroundModeEnabled() && + (!LinphonePreferences.instance().isPushNotificationEnabled() || !LinphoneManager.getInstance().hasLinphoneAccount())) { + Intent keepAliveIntent = new Intent(this, KeepAliveReceiver.class); + PendingIntent keepAlivePendingIntent = PendingIntent.getBroadcast(this, 0, keepAliveIntent, PendingIntent.FLAG_ONE_SHOT); + AlarmManager alarmManager = ((AlarmManager) this.getSystemService(Context.ALARM_SERVICE)); + Compatibility.scheduleAlarm(alarmManager, AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 600000, keepAlivePendingIntent); + } return START_REDELIVER_INTENT; } diff --git a/src/android/org/linphone/activities/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java index a240d2021..d6c8eafab 100644 --- a/src/android/org/linphone/activities/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -996,8 +996,8 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick // changeCurrentFragment(FragmentsAvailable.DIALER, extras); AddressType address = new AddressText(this, null); - address.setDisplayedName(name); address.setText(number); + address.setDisplayedName(name); LinphoneManager.getInstance().newOutgoingCall(address); } diff --git a/src/android/org/linphone/activities/LinphoneLauncherActivity.java b/src/android/org/linphone/activities/LinphoneLauncherActivity.java index 69ba51db6..5f61caf34 100644 --- a/src/android/org/linphone/activities/LinphoneLauncherActivity.java +++ b/src/android/org/linphone/activities/LinphoneLauncherActivity.java @@ -73,6 +73,8 @@ public class LinphoneLauncherActivity extends Activity { addressToCall = addressToCall.replace("%3A", ":"); if (addressToCall.startsWith("sip:")) { addressToCall = addressToCall.substring("sip:".length()); + } else if (addressToCall.startsWith("tel:")) { + addressToCall = addressToCall.substring("tel:".length()); } } } else if (Intent.ACTION_VIEW.equals(action)) {