mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-18 11:58:09 +00:00
58 lines
2.3 KiB
Java
58 lines
2.3 KiB
Java
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());
|
|
}
|
|
}
|