diff --git a/src/org/linphone/InCallActivity.java b/src/org/linphone/InCallActivity.java index b4bac9c8e..ce34bb30f 100644 --- a/src/org/linphone/InCallActivity.java +++ b/src/org/linphone/InCallActivity.java @@ -320,7 +320,6 @@ public class InCallActivity extends FragmentActivity implements hideOrDisplayCallOptions(); } } - private void switchVideo(final boolean displayVideo) { final LinphoneCall call = LinphoneManager.getLc().getCurrentCall(); @@ -334,20 +333,19 @@ public class InCallActivity extends FragmentActivity implements if (!displayVideo) { LinphoneCallParams params = call.getCurrentParamsCopy(); params.setVideoEnabled(false); - LinphoneManager.getLc().updateCall(call, params); - replaceFragmentVideoByAudio(); - video.setBackgroundResource(R.drawable.video_on); + + replaceFragmentVideoByAudio(); setCallControlsVisibleAndRemoveCallbacks(); } else { LinphoneManager.getInstance().addVideo(); isSpeakerEnabled = true; LinphoneManager.getInstance().routeAudioToSpeaker(); speaker.setBackgroundResource(R.drawable.speaker_on); + video.setBackgroundResource(R.drawable.video_off); replaceFragmentAudioByVideo(); - video.setBackgroundResource(R.drawable.video_off); displayVideoCallControlsIfHidden(); } } @@ -928,14 +926,15 @@ public class InCallActivity extends FragmentActivity implements }.start(); } }); - } else if (remoteVideo && !LinphoneManager.getLc().isInConference() && autoAcceptCameraPolicy) { - mHandler.post(new Runnable() { - @Override - public void run() { - acceptCallUpdate(true); - } - }); - } + } +// else if (remoteVideo && !LinphoneManager.getLc().isInConference() && autoAcceptCameraPolicy) { +// mHandler.post(new Runnable() { +// @Override +// public void run() { +// acceptCallUpdate(true); +// } +// }); +// } } transfer.setEnabled(LinphoneManager.getLc().getCurrentCall() != null); diff --git a/src/org/linphone/LinphoneService.java b/src/org/linphone/LinphoneService.java index d121aaf98..452929e66 100644 --- a/src/org/linphone/LinphoneService.java +++ b/src/org/linphone/LinphoneService.java @@ -554,12 +554,9 @@ public final class LinphoneService extends Service implements LinphoneServiceLis boolean remoteVideo = call.getRemoteParams().getVideoEnabled(); boolean localVideo = call.getCurrentParamsCopy().getVideoEnabled(); boolean autoAcceptCameraPolicy = LinphoneManager.getInstance().isAutoAcceptCamera(); - if (remoteVideo && !localVideo && !autoAcceptCameraPolicy) { + if (remoteVideo && !localVideo && !autoAcceptCameraPolicy && !LinphoneManager.getLc().isInConference()) { try { LinphoneManager.getLc().deferCallUpdate(call); - -// if (incallListener() != null) -// incallListener().onCallStateChanged(call, state, message); } catch (LinphoneCoreException e) { e.printStackTrace(); } diff --git a/submodules/linphone b/submodules/linphone index 8bec813e5..5f348a03c 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 8bec813e52a4949f723b94918f4eb37ac5faad86 +Subproject commit 5f348a03c29f71c9d536a7dd3baf257259de8f39 diff --git a/tests/src/org/linphone/test/AccountsTest.java b/tests/src/org/linphone/test/AccountsTest.java index 35bf3f6ce..58929d984 100644 --- a/tests/src/org/linphone/test/AccountsTest.java +++ b/tests/src/org/linphone/test/AccountsTest.java @@ -28,6 +28,7 @@ public class AccountsTest extends } private void selectItemInListOnUIThread(final int item) { + solo.sleep(500); getActivity().runOnUiThread(new Runnable() { @Override public void run() { @@ -119,7 +120,6 @@ public class AccountsTest extends Assert.assertTrue(solo.searchText("junit@test.linphone.org")); solo.clickOnText("junit@test.linphone.org"); - solo.sleep(500); selectItemInListOnUIThread(6); solo.clickOnText(context.getString(R.string.pref_default_account)); int defaultAccount = prefs.getInt(context.getString(R.string.pref_default_account_key), 0); @@ -141,7 +141,6 @@ public class AccountsTest extends Assert.assertTrue(solo.searchText("wizard15@sip.linphone.org")); solo.clickOnText("wizard15@sip.linphone.org"); - solo.sleep(500); selectItemInListOnUIThread(7); solo.clickOnText(context.getString(R.string.pref_delete_account)); diff --git a/tests/src/org/linphone/test/AudioAndVideoCodecsTest.java b/tests/src/org/linphone/test/AudioAndVideoCodecsTest.java index f23a103f4..4ca196f4f 100644 --- a/tests/src/org/linphone/test/AudioAndVideoCodecsTest.java +++ b/tests/src/org/linphone/test/AudioAndVideoCodecsTest.java @@ -16,7 +16,7 @@ import android.widget.ListView; import com.jayway.android.robotium.solo.Solo; public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2 { - private static final String sipAdressToCall = "miaou@sip.linphone.org"; + private static final String sipAdressToCall = "cotcot@sip.linphone.org"; private Solo solo; @SuppressWarnings("deprecation") @@ -25,6 +25,7 @@ public class AudioAndVideoCodecsTest extends ActivityInstrumentationTestCase2
  • { + private static final String sipAdressToCall = "cotcot@sip.linphone.org"; + private Solo solo; + + @SuppressWarnings("deprecation") + public SignalingTest() { + super("org.linphone", LinphoneActivity.class); + } + + private void selectItemInListOnUIThread(final int item) { + solo.sleep(500); + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + ListView list = (ListView) solo.getView(android.R.id.list); + list.setSelection(item); + } + }); + } + + private void goToNetworkSettings() { + Context context = getActivity(); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + solo.clickOnView(solo.getView(R.id.settings)); + + selectItemInListOnUIThread(18); + solo.clickOnText(context.getString(R.string.pref_network_title)); + solo.sleep(500); + } + + private void goToDialerAndOutgoingCall() { + solo.clickOnView(solo.getView(R.id.dialer)); + solo.clickOnView(solo.getView(R.id.Adress)); + solo.enterText((EditText) solo.getView(R.id.Adress), sipAdressToCall); + solo.clickOnView(solo.getView(R.id.Call)); + + solo.waitForActivity("InCallActivity", 2000); + solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); + solo.waitForText("03", 1, 5000); + solo.clickOnView(solo.getView(R.id.hangUp)); + + solo.waitForActivity("LinphoneActivity", 2000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + solo = new Solo(getInstrumentation(), getActivity()); + } + + public void testARegistrationUDP() { + Context context = getActivity(); + goToNetworkSettings(); + + solo.clickOnText(context.getString(R.string.pref_transport_udp)); + solo.goBack(); + solo.goBack(); + + Assert.assertTrue(solo.searchText(context.getString(R.string.status_connected, 2000))); + } + + public void testBOutgoingCallUDP() { + goToDialerAndOutgoingCall(); + } + + public void testCRegistrationTCP() { + Context context = getActivity(); + goToNetworkSettings(); + + solo.clickOnText(context.getString(R.string.pref_transport_tcp)); + solo.goBack(); + solo.goBack(); + + Assert.assertTrue(solo.searchText(context.getString(R.string.status_connected, 2000))); + } + + public void testDOutgoingCallTCP() { + goToDialerAndOutgoingCall(); + } + + public void testERegistrationTLS() { + Context context = getActivity(); + goToNetworkSettings(); + + solo.clickOnText(context.getString(R.string.pref_transport_tls)); + solo.goBack(); + solo.goBack(); + + Assert.assertTrue(solo.searchText(context.getString(R.string.status_connected, 2000))); + } + + public void testFOutgoingCallTLS() { + goToDialerAndOutgoingCall(); + } + + @Override + public void tearDown() throws Exception { + solo.finishOpenedActivities(); + } +}