diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6b6830645..d2a9a64a3 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionCode="1106" android:versionName="1.1.6" android:installLocation="auto"> diff --git a/src/org/linphone/LinphonePreferencesActivity.java b/src/org/linphone/LinphonePreferencesActivity.java index 06739fd5a..2717256cd 100644 --- a/src/org/linphone/LinphonePreferencesActivity.java +++ b/src/org/linphone/LinphonePreferencesActivity.java @@ -96,7 +96,7 @@ public class LinphonePreferencesActivity extends PreferenceActivity implements E detectAudioCodec(pref_codec_amr_key,"AMR",8000); // No video - if (Version.sdkStrictlyBelow(5) || !Version.hasNeon() || !Hacks.hasCamera()) { + if (!Version.isVideoCapable()) { uncheckAndDisableCheckbox(pref_video_enable_key); } if (prefs().getBoolean(LinphoneActivity.PREF_FIRST_LAUNCH,true)) { diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index 4e5f7c067..17aa7e569 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -25,6 +25,7 @@ import org.linphone.LinphoneManager.NewOutgoingCallUiListener; import org.linphone.core.Hacks; import org.linphone.core.LinphoneCall; import org.linphone.core.Log; +import org.linphone.core.Version; import org.linphone.core.LinphoneCall.State; import org.linphone.core.LinphoneCore.GlobalState; import org.linphone.core.LinphoneCore.RegistrationState; @@ -234,8 +235,9 @@ public final class LinphoneService extends Service implements LinphoneServiceLis .setClass(this, LinphoneActivity.class) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } else if (state == LinphoneCall.State.StreamsRunning) { - if (!VideoCallActivity.launched && LinphoneActivity.isInstanciated() + if (Version.isVideoCapable() && getResources().getBoolean(R.bool.use_video_activity) + && !VideoCallActivity.launched && LinphoneActivity.isInstanciated() && call.getCurrentParamsCopy().getVideoEnabled()) { // Do not call if video activity already launched as it would cause a pause() of the launched one // and a race condition with capture surfaceview leading to a crash diff --git a/src/org/linphone/core/Version.java b/src/org/linphone/core/Version.java index 6bf12be45..61a92b40b 100644 --- a/src/org/linphone/core/Version.java +++ b/src/org/linphone/core/Version.java @@ -65,5 +65,8 @@ public class Version { if (hasNeon == null) hasNeon = nativeHasNeon(); return hasNeon; } + public static boolean isVideoCapable() { + return !Version.sdkStrictlyBelow(5) && Version.hasNeon() && Hacks.hasCamera(); + } }