diff --git a/submodules/linphone b/submodules/linphone index 68a23b44b..dbba820b5 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 68a23b44b0ad8d2cf57ff1b93b6abfd510f14779 +Subproject commit dbba820b5a0b0bf587ed614f6cecd9259f6bae2d diff --git a/tests/Makefile b/tests/Makefile index 791b1af86..cdc238939 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -7,7 +7,7 @@ run-basic-tests: $(SDK_PATH)/android update test-project --path . -m ../ ant debug ant installd - ant test + adb shell am instrument -w -e size small org.linphone.test/android.test.InstrumentationTestRunner run-all-tests: $(SDK_PLATFORM_TOOLS_PATH)/adb uninstall org.linphone.test diff --git a/tests/res/values/config.xml b/tests/res/values/config.xml index 6942f8fc5..5e90f0d2a 100644 --- a/tests/res/values/config.xml +++ b/tests/res/values/config.xml @@ -13,19 +13,19 @@ wizard42 wizard42@linphone.org - viish - lucifer + wizard13 + wizard13 sip.linphone.org - Cot + Wizard +33952636505 - viish@sip.linphone.org + wizard@sip.linphone.org Ping! Pong! - elviish - lucifer + wizard16 + wizard16 sip.linphone.org \ No newline at end of file diff --git a/tests/src/org/linphone/test/AccountAssistant.java b/tests/src/org/linphone/test/AccountAssistant.java index 0e7b809ef..dc0126743 100644 --- a/tests/src/org/linphone/test/AccountAssistant.java +++ b/tests/src/org/linphone/test/AccountAssistant.java @@ -4,13 +4,12 @@ import junit.framework.Assert; import org.linphone.LinphoneActivity; import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.core.LinphoneCore.RegistrationState; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.video.capture.hwconf.Hacks; import org.linphone.setup.SetupActivity; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; @@ -51,24 +50,23 @@ public class AccountAssistant extends SampleTest { solo.sleep(3000); //Wait for registration to be done LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(proxyConfigs.length, 1); + Assert.assertEquals(1, proxyConfigs.length); LinphoneProxyConfig proxyConfig = proxyConfigs[0]; Assert.assertEquals(RegistrationState.RegistrationOk, proxyConfig.getState()); //Check the wizard added sip.linphone.org custom settings - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity()); - String stunServer = prefs.getString(aContext.getString(org.linphone.R.string.pref_stun_server_key), ""); - Assert.assertEquals(stunServer, aContext.getString(org.linphone.R.string.default_stun)); + LinphonePreferences prefs = LinphonePreferences.instance(); + String stunServer = prefs.getStunServer(); + Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer); - String transport = prefs.getString(aContext.getString(org.linphone.R.string.pref_transport_key), aContext.getString(org.linphone.R.string.pref_transport_udp_key)); - Assert.assertEquals(transport, aContext.getString(org.linphone.R.string.pref_transport_tls_key)); + String transport = prefs.getTransportKey(); + Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport); - String proxy = prefs.getString(aContext.getString(org.linphone.R.string.pref_proxy_key), ""); - Assert.assertEquals(proxy, aContext.getString(org.linphone.R.string.default_domain) + ":5223"); - boolean outboundproxy = prefs.getBoolean(aContext.getString(org.linphone.R.string.pref_enable_outbound_proxy_key), false); - Assert.assertEquals(outboundproxy, true); + String proxy = prefs.getAccountProxy(0); + Assert.assertEquals(aContext.getString(org.linphone.R.string.default_domain) + ":5223", proxy); + Assert.assertEquals(true, prefs.isAccountOutboundProxySet(0)); - boolean ice = prefs.getBoolean(aContext.getString(org.linphone.R.string.pref_ice_enable_key), false); + boolean ice = prefs.isIceEnabled(); Assert.assertEquals(ice, true); } diff --git a/tests/src/org/linphone/test/AccountManagement.java b/tests/src/org/linphone/test/AccountManagement.java index 839eef18c..84fc0a1b0 100644 --- a/tests/src/org/linphone/test/AccountManagement.java +++ b/tests/src/org/linphone/test/AccountManagement.java @@ -5,6 +5,7 @@ import junit.framework.Assert; import org.linphone.FragmentsAvailable; import org.linphone.LinphoneActivity; import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.core.LinphoneCore.RegistrationState; import org.linphone.core.LinphoneProxyConfig; @@ -51,7 +52,7 @@ public class AccountManagement extends SampleTest { solo.goBack(); LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(proxyConfigs.length, 1); + Assert.assertEquals(1, proxyConfigs.length); } @LargeTest @@ -64,8 +65,7 @@ public class AccountManagement extends SampleTest { solo.goBack(); solo.goBack(); - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(proxyConfigs.length, 0); + Assert.assertFalse(LinphonePreferences.instance().isAccountEnabled(0)); } @LargeTest @@ -78,8 +78,7 @@ public class AccountManagement extends SampleTest { solo.goBack(); solo.goBack(); - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(proxyConfigs.length, 1); + Assert.assertTrue(LinphonePreferences.instance().isAccountEnabled(0)); } private void goToSettings() { diff --git a/tests/src/org/linphone/test/AinitTestEnv.java b/tests/src/org/linphone/test/AinitTestEnv.java index 90f88595f..f17d90a2f 100644 --- a/tests/src/org/linphone/test/AinitTestEnv.java +++ b/tests/src/org/linphone/test/AinitTestEnv.java @@ -20,7 +20,7 @@ public class AinitTestEnv extends SampleTest { LinphoneTestManager.createAndStart(aContext, iContext, 1); solo.sleep(2000); + Assert.assertEquals(1, LinphoneTestManager.getLc().getProxyConfigList().length); Assert.assertEquals(RegistrationState.RegistrationOk, LinphoneTestManager.getLc().getProxyConfigList()[0].getState()); } - } diff --git a/tests/src/org/linphone/test/CallsAudio.java b/tests/src/org/linphone/test/CallsAudio.java index 3febfdb05..bd8994d2b 100644 --- a/tests/src/org/linphone/test/CallsAudio.java +++ b/tests/src/org/linphone/test/CallsAudio.java @@ -10,6 +10,7 @@ import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; import org.linphone.core.PayloadType; +import org.linphone.mediastream.Log; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; @@ -42,6 +43,8 @@ public class CallsAudio extends SampleTest { @MediumTest @LargeTest public void testBOutgoingCallWithDefaultConfig() { + LinphoneTestManager.getInstance().declineCall = false; // Just in case + 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)); @@ -56,7 +59,7 @@ public class CallsAudio extends SampleTest { @LargeTest public void testCDTMFRFC2833InPCMUCall() { disableAllEnabledAudioCodecs(); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_pcmu)); + solo.clickOnText("PCMU"); goBackToDialerAfterCodecChanges(); solo.sleep(1000); @@ -360,8 +363,11 @@ public class CallsAudio extends SampleTest { solo.sleep(2000); LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - if (call.getState() == LinphoneCall.State.OutgoingProgress) { - solo.sleep(3000); + 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()); @@ -395,72 +401,72 @@ public class CallsAudio extends SampleTest { goToAudioCodecsSettings(); if (isAudioCodecEnabled("opus", 48000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_opus)); + solo.clickOnText("opus"); solo.sleep(500); } if (isAudioCodecEnabled("speex", 16000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_speex16)); + solo.clickOnText("speex"); solo.sleep(500); } if (isAudioCodecEnabled("speex", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_speex8)); + solo.clickOnText("speex", 1); solo.sleep(500); } - if (isAudioCodecEnabled("ilbc", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_ilbc)); + if (isAudioCodecEnabled("iLBC", 8000)) { + solo.clickOnText("iLBC"); solo.sleep(500); } if (isAudioCodecEnabled("AMR", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_amr)); + solo.clickOnText("AMR"); solo.sleep(500); } if (isAudioCodecEnabled("AMRWB", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_amrwb)); + solo.clickOnText("AMRWB"); solo.sleep(500); } if (isAudioCodecEnabled("G729", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_g729)); + solo.clickOnText("G729"); solo.sleep(500); } if (isAudioCodecEnabled("GSM", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_gsm)); + solo.clickOnText("GSM"); solo.sleep(500); } if (isAudioCodecEnabled("G722", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_g722)); + solo.clickOnText("G722"); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 24000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk24)); + solo.clickOnText("SILK"); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 16000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk16)); + solo.clickOnText("SILK", 1); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk8)); + solo.clickOnText("SILK", 2); solo.sleep(500); } if (isAudioCodecEnabled("PCMU", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_pcmu)); + solo.clickOnText("PCMU"); solo.sleep(500); } if (isAudioCodecEnabled("PCMA", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_pcma)); + solo.clickOnText("PCMA"); solo.sleep(500); } } diff --git a/tests/src/org/linphone/test/CallsVideo.java b/tests/src/org/linphone/test/CallsVideo.java index ce3af5672..b84d266cd 100644 --- a/tests/src/org/linphone/test/CallsVideo.java +++ b/tests/src/org/linphone/test/CallsVideo.java @@ -10,6 +10,7 @@ import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; import org.linphone.core.PayloadType; +import org.linphone.mediastream.Log; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; @@ -26,6 +27,8 @@ public class CallsVideo extends SampleTest { @MediumTest @LargeTest public void testAInit() { + LinphoneTestManager.getLc().enableVideo(true, true); // Just in case + //Disable video goToSettings(); @@ -42,6 +45,8 @@ public class CallsVideo extends SampleTest { @MediumTest @LargeTest public void testBOutgoingCallWithDefaultConfig() { + LinphoneTestManager.getInstance().declineCall = false; // Just in case + 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)); @@ -205,6 +210,7 @@ public class CallsVideo extends SampleTest { assertCallIsCorrectlyRunning(); } + @SmallTest @MediumTest @LargeTest public void testJIncomingVideoCall() { @@ -306,11 +312,15 @@ public class CallsVideo extends SampleTest { solo.sleep(2000); LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - if (call.getState() == LinphoneCall.State.OutgoingProgress) { - solo.sleep(3000); + 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()); + Assert.assertTrue(call.getCurrentParamsCopy().getVideoEnabled()); } private void goToSettings() { @@ -352,75 +362,75 @@ public class CallsVideo extends SampleTest { goToAudioCodecsSettings(); if (isAudioCodecEnabled("opus", 48000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_opus)); + solo.clickOnText("opus"); solo.sleep(500); } if (isAudioCodecEnabled("speex", 16000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_speex16)); + solo.clickOnText("speex"); solo.sleep(500); } if (isAudioCodecEnabled("speex", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_speex8)); + solo.clickOnText("speex", 1); solo.sleep(500); } - if (isAudioCodecEnabled("ilbc", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_ilbc)); + if (isAudioCodecEnabled("iLBC", 8000)) { + solo.clickOnText("iLBC"); solo.sleep(500); } if (isAudioCodecEnabled("AMR", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_amr)); + solo.clickOnText("AMR"); solo.sleep(500); } if (isAudioCodecEnabled("AMRWB", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_amrwb)); + solo.clickOnText("AMRWB"); solo.sleep(500); } if (isAudioCodecEnabled("G729", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_g729)); + solo.clickOnText("G729"); solo.sleep(500); } if (isAudioCodecEnabled("GSM", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_gsm)); + solo.clickOnText("GSM"); solo.sleep(500); } if (isAudioCodecEnabled("G722", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_g722)); + solo.clickOnText("G722"); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 24000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk24)); + solo.clickOnText("SILK"); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 16000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk16)); + solo.clickOnText("SILK", 1); solo.sleep(500); } if (isAudioCodecEnabled("SILK", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_silk8)); + solo.clickOnText("SILK", 2); solo.sleep(500); } if (isAudioCodecEnabled("PCMU", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_pcmu)); + solo.clickOnText("PCMU"); solo.sleep(500); } if (isAudioCodecEnabled("PCMA", 8000)) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_codec_pcma)); + solo.clickOnText("PCMA"); solo.sleep(500); } - } + } private boolean isVideoCodecEnabled(String mime) { LinphoneCore lc = LinphoneTestManager.getLc(); diff --git a/tests/src/org/linphone/test/Chat.java b/tests/src/org/linphone/test/Chat.java index 8d4301e59..923990eb7 100644 --- a/tests/src/org/linphone/test/Chat.java +++ b/tests/src/org/linphone/test/Chat.java @@ -2,6 +2,7 @@ package org.linphone.test; import junit.framework.Assert; +import org.linphone.ChatStorage; import org.linphone.LinphoneActivity; import org.linphone.core.LinphoneChatMessage; import org.linphone.core.LinphoneChatMessage.State; @@ -17,8 +18,22 @@ import android.test.suitebuilder.annotation.SmallTest; */ public class Chat extends SampleTest { + @SmallTest + @MediumTest @LargeTest - public void testBEmptyChatHistory() { + public void testAEmptyChatHistory() { + goToChat(); + + ChatStorage chatStorage = ChatStorage.getInstance(); + for (String conversation : chatStorage.getChatList()) { + chatStorage.removeDiscussion(conversation); + } + + Assert.assertEquals(0, chatStorage.getUnreadMessageCount()); + } + + @LargeTest + public void testBDisplayEmptyChatHistory() { goToChat(); Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history))); @@ -42,7 +57,7 @@ public class Chat extends SampleTest { } @LargeTest - public void testDNotEmptyChatHistory() { + public void testDIsNotEmptyChatHistory() { goToChat(); Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login))); diff --git a/tests/src/org/linphone/test/ConferenceAndMultiCall.java b/tests/src/org/linphone/test/ConferenceAndMultiCall.java index cb26cd0f4..b1ee29c22 100644 --- a/tests/src/org/linphone/test/ConferenceAndMultiCall.java +++ b/tests/src/org/linphone/test/ConferenceAndMultiCall.java @@ -11,6 +11,7 @@ import org.linphone.LinphoneManager; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCore.RegistrationState; import org.linphone.core.LinphoneCoreException; +import org.linphone.mediastream.Log; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; @@ -45,6 +46,7 @@ public class ConferenceAndMultiCall extends SampleTest { @MediumTest @LargeTest public void testBSimpleConference() { + LinphoneTestManager.getInstance().declineCall = false; // Just in case startConference(); solo.clickOnView(solo.getView(org.linphone.R.id.hangUp)); @@ -255,14 +257,13 @@ public class ConferenceAndMultiCall extends SampleTest { private void startTwoCalls() { 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(1); + solo.clickOnView(solo.getView(org.linphone.R.id.options)); solo.clickOnView(solo.getView(org.linphone.R.id.addCall)); 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)); - assertCallIsCorrectlyRunning(2); } @@ -280,12 +281,16 @@ public class ConferenceAndMultiCall extends SampleTest { private void assertCallIsCorrectlyRunning(int lcId) { solo.waitForActivity("InCallActivity", 5000); solo.assertCurrentActivity("Expected InCall Activity", InCallActivity.class); - + solo.sleep(2000); + Assert.assertEquals(1, LinphoneTestManager.getLc(lcId).getCallsNb()); LinphoneCall call = LinphoneTestManager.getLc(lcId).getCalls()[0]; - if (call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) { - solo.sleep(3000); + 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()); diff --git a/tests/src/org/linphone/test/LinphoneTestManager.java b/tests/src/org/linphone/test/LinphoneTestManager.java index 15120cbf8..df839ef10 100644 --- a/tests/src/org/linphone/test/LinphoneTestManager.java +++ b/tests/src/org/linphone/test/LinphoneTestManager.java @@ -20,6 +20,7 @@ import org.linphone.core.LinphoneCore.EcCalibratorStatus; import org.linphone.core.LinphoneCore.GlobalState; import org.linphone.core.LinphoneCore.MediaEncryption; import org.linphone.core.LinphoneCore.RegistrationState; +import org.linphone.core.LinphoneCore.Transports; import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneCoreFactory; import org.linphone.core.LinphoneCoreListener; @@ -37,15 +38,13 @@ import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration.AndroidCamera; import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; import android.content.pm.PackageManager.NameNotFoundException; import android.telephony.TelephonyManager; public class LinphoneTestManager implements LinphoneCoreListener { private static LinphoneTestManager instance; - private Context mIContext; + private Context mAContext, mIContext; private LinphoneCore mLc1, mLc2; public String lastMessageReceived; @@ -53,10 +52,12 @@ public class LinphoneTestManager implements LinphoneCoreListener { public boolean autoAnswer = true; public boolean declineCall = false; - private Timer mTimer = new Timer("Linphone scheduler"); + private Timer mTimer1 = new Timer("Linphone scheduler 1"); + private Timer mTimer2 = new Timer("Linphone scheduler 2"); private LinphoneTestManager(Context ac, Context ic) { mIContext = ic; + mAContext = ac; } public static LinphoneTestManager createAndStart(Context ac, Context ic, int id) { @@ -77,7 +78,8 @@ public class LinphoneTestManager implements LinphoneCoreListener { try { LinphoneCoreFactory.instance().setDebugMode(true, "LinphoneTester"); - final LinphoneCore mLc = LinphoneCoreFactory.instance().createLinphoneCore(this); + String basePath = mAContext.getFilesDir().getAbsolutePath(); + final LinphoneCore mLc = LinphoneCoreFactory.instance().createLinphoneCore(this, basePath + "/.linphonerc" + id, null, null); if (id == 2) { mLc2 = mLc; } else { @@ -114,11 +116,13 @@ public class LinphoneTestManager implements LinphoneCoreListener { mLc.iterate(); } }; - mTimer.scheduleAtFixedRate(lTask, 0, 20); - - IntentFilter lFilter = new IntentFilter(Intent.ACTION_SCREEN_ON); - lFilter.addAction(Intent.ACTION_SCREEN_OFF); + if (id == 2) { + mTimer2.scheduleAtFixedRate(lTask, 0, 20); + } else { + mTimer1.scheduleAtFixedRate(lTask, 0, 20); + } + resetCameraFromPreferences(); } catch (Exception e) { @@ -137,9 +141,18 @@ public class LinphoneTestManager implements LinphoneCoreListener { LinphoneManager.getLc().setVideoDevice(camId); } - public void initFromConf(LinphoneCore mLc) throws LinphoneConfigException { + public void initFromConf(LinphoneCore mLc) throws LinphoneConfigException, LinphoneCoreException { LinphoneCoreFactory.instance().setDebugMode(true, "LinphoneTester"); + // Use TCP with Random port + Transports transports = getLc().getSignalingTransportPorts(); + transports.tcp = -1; + transports.udp = 0; + transports.tls = 0; + mLc.setSignalingTransportPorts(transports); + + initAccounts(mLc); + mLc.setVideoPolicy(true, true); boolean isVideoEnabled = true; mLc.enableVideo(isVideoEnabled, isVideoEnabled); @@ -169,7 +182,7 @@ public class LinphoneTestManager implements LinphoneCoreListener { mLc.setMediaEncryption(me); } - public void initAccounts(LinphoneCore mLc) throws LinphoneCoreException { + private void initAccounts(LinphoneCore mLc) throws LinphoneCoreException { mLc.clearAuthInfos(); mLc.clearProxyConfigs(); @@ -183,7 +196,7 @@ public class LinphoneTestManager implements LinphoneCoreListener { password = mIContext.getString(org.linphone.test.R.string.conference_account_password); domain = mIContext.getString(org.linphone.test.R.string.conference_account_domain); } - LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null); + LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null, domain); mLc.addAuthInfo(lAuthInfo); String identity = "sip:" + username +"@" + domain; String proxy = "sip:" + domain; @@ -243,7 +256,8 @@ public class LinphoneTestManager implements LinphoneCoreListener { private void doDestroy() { try { - mTimer.cancel(); + mTimer1.cancel(); + mTimer2.cancel(); mLc1.destroy(); mLc2.destroy(); } diff --git a/tests/src/org/linphone/test/SampleTest.java b/tests/src/org/linphone/test/SampleTest.java index 40269f94b..68a0c9e0d 100644 --- a/tests/src/org/linphone/test/SampleTest.java +++ b/tests/src/org/linphone/test/SampleTest.java @@ -2,6 +2,7 @@ package org.linphone.test; import org.linphone.LinphoneLauncherActivity; import org.linphone.LinphoneManager; +import org.linphone.core.LinphoneCore; import android.content.Context; import android.test.ActivityInstrumentationTestCase2; @@ -32,7 +33,10 @@ public abstract class SampleTest extends ActivityInstrumentationTestCase2