From ebaeaa47cd9036ea4e9a189099977898acc0c03d Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 29 Jan 2014 12:00:48 +0100 Subject: [PATCH] Updated liblinphone to reduce the list of android supported video resolutions + call transfer test added --- submodules/linphone | 2 +- tests/src/org/linphone/test/Transfer.java | 58 +++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 tests/src/org/linphone/test/Transfer.java diff --git a/submodules/linphone b/submodules/linphone index 809123e95..d8fcf36e4 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 809123e9500c15663d51b32c7129ae150f00a6da +Subproject commit d8fcf36e4b7dadaf11073e20cbb9429edd583d7c diff --git a/tests/src/org/linphone/test/Transfer.java b/tests/src/org/linphone/test/Transfer.java new file mode 100644 index 000000000..806ba1928 --- /dev/null +++ b/tests/src/org/linphone/test/Transfer.java @@ -0,0 +1,58 @@ +package org.linphone.test; + +import junit.framework.Assert; + +import org.linphone.InCallActivity; +import org.linphone.LinphoneActivity; +import org.linphone.LinphoneManager; +import org.linphone.core.LinphoneCall; +import org.linphone.mediastream.Log; + +import android.test.suitebuilder.annotation.LargeTest; +import android.test.suitebuilder.annotation.MediumTest; +import android.test.suitebuilder.annotation.SmallTest; + +public class Transfer extends SampleTest { + @SmallTest + @MediumTest + @LargeTest + public void testACallTransfer() { + solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain)); + solo.clickOnView(solo.getView(org.linphone.R.id.Call)); + + assertCallIsCorrectlyRunning(); + + solo.clickOnView(solo.getView(org.linphone.R.id.options)); + solo.clickOnView(solo.getView(org.linphone.R.id.transfer)); + solo.waitForActivity("LinphoneActivity", 5000); + solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); + + solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain)); + solo.clickOnView(solo.getView(org.linphone.R.id.Call)); // Transfer button as the same id, only the image changes + + solo.sleep(2000); + Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() > 0); + Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() > 0); + LinphoneTestManager.getLc(1).terminateAllCalls(); + solo.sleep(500); + Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() == 0); + Assert.assertTrue(LinphoneTestManager.getLc(2).getCallsNb() == 0); + } + + private void assertCallIsCorrectlyRunning() { + solo.waitForActivity("InCallActivity", 5000); + solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); + + solo.sleep(2000); + LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; + + int retry = 0; + while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) { + solo.sleep(1000); + retry++; + Log.w("Call in progress but not running, retry = " + retry); + } + + Assert.assertEquals(LinphoneCall.State.StreamsRunning, call.getState()); + } +}