diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index b06b66025..7e82ea52d 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -23,6 +23,7 @@ import java.io.IOException; import org.linphone.LinphoneManager.LinphoneServiceListener; import org.linphone.LinphoneManager.NewOutgoingCallUiListener; import org.linphone.core.LinphoneCall; +import org.linphone.core.LinphoneCoreFactoryImpl; import org.linphone.core.Log; import org.linphone.core.OnlineStatus; import org.linphone.core.LinphoneCall.State; @@ -258,6 +259,15 @@ public final class LinphoneService extends Service implements LinphoneServiceLis // and a race condition with capture surfaceview leading to a crash LinphoneActivity.instance().startVideoActivity(); } + else if (VideoCallActivity.launched && LinphoneActivity.isInstanciated() + && !call.getCurrentParamsCopy().getVideoEnabled()) { + LinphoneActivity.instance().finishVideoActivity(); + } + } else if (state == LinphoneCall.State.CallUpdatedByRemote) { + if (VideoCallActivity.launched && LinphoneActivity.isInstanciated() + && !call.getCurrentParamsCopy().getVideoEnabled()) { + LinphoneActivity.instance().finishVideoActivity(); + } } mHandler.post(new Runnable() {