diff --git a/res/values/config.xml b/res/values/config.xml index 7a2790b32..ad641dc16 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -1,6 +1,6 @@ - + wizard15 wizard15 sip.linphone.org @@ -9,24 +9,27 @@ wizard15 wizard15 test.linphone.org - + wizard42 wizard42 wizard42@linphone.org - + france + 33 + 12345678 + wizard13 wizard13 sip.linphone.org - + Wizard +33952636505 wizard@sip.linphone.org - + Ping! Pong! - + wizard16 wizard16 sip.linphone.org - + \ No newline at end of file diff --git a/src/androidTest/org/linphone/AccountAssistant.java b/src/androidTest/org/linphone/AccountAssistant.java index 0c9f6911b..af3397cff 100644 --- a/src/androidTest/org/linphone/AccountAssistant.java +++ b/src/androidTest/org/linphone/AccountAssistant.java @@ -3,6 +3,7 @@ package org.linphone; import junit.framework.Assert; import org.linphone.assistant.AssistantActivity; +import org.linphone.core.LinphoneNatPolicy; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.video.capture.hwconf.Hacks; @@ -10,7 +11,6 @@ import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; import android.widget.EditText; -import android.widget.ImageView; import android.widget.TextView; import android.widget.Button; @@ -40,9 +40,8 @@ public class AccountAssistant extends SampleTest { solo.enterText((EditText) solo.getView(R.id.assistant_username), aContext.getString(R.string.account_linphone_login)); solo.enterText((EditText) solo.getView(R.id.assistant_password), aContext.getString(R.string.account_linphone_pwd)); solo.clickOnView(solo.getView(R.id.assistant_apply)); - + solo.sleep(3000); solo.clickOnView(solo.getView(R.id.assistant_skip)); - solo.sleep(1000); //Test download openh264 @@ -61,8 +60,9 @@ public class AccountAssistant extends SampleTest { waitForRegistration(proxyConfig); //Check the wizard added sip.linphone.org custom settings + LinphoneNatPolicy natPolicy = proxyConfig.getNatPolicy(); LinphonePreferences prefs = LinphonePreferences.instance(); - String stunServer = prefs.getStunServer(); + String stunServer = natPolicy.getStunServer(); Assert.assertEquals(aContext.getString(R.string.default_stun), stunServer); String transport = prefs.getAccountTransportKey(0); @@ -74,7 +74,7 @@ public class AccountAssistant extends SampleTest { String username = prefs.getAccountUsername(0); Assert.assertEquals(aContext.getString(R.string.account_linphone_login), username); - boolean ice = prefs.isIceEnabled(); + boolean ice = natPolicy.iceEnabled(); Assert.assertEquals(ice, true); } @@ -109,56 +109,99 @@ public class AccountAssistant extends SampleTest { @LargeTest public void testECreateNewAccount() { + int sleepingTime = 1500; startAssistant(); solo.clickOnView(solo.getView(R.id.create_account)); - solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_create_login).substring(0, 2)); - solo.sleep(200); - TextView error = (TextView) solo.getView(R.id.username_error); - int sleepingTime = 1500; - Button createAccount = (Button) solo.getView(R.id.assistant_create); + if (aContext.getResources().getBoolean(R.bool.isTablet)) { + solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_create_login).substring(0, 2)); + solo.sleep(200); + TextView error = (TextView) solo.getView(R.id.username_error); + Button createAccount = (Button) solo.getView(R.id.assistant_create); - Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_username_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); + Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_username_incorrect)); + Assert.assertFalse(createAccount.isEnabled()); - solo.clearEditText((EditText) solo.getView(R.id.username)); - solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_linphone_login)); - solo.sleep(sleepingTime * 2); - Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_username_unavailable)); - Assert.assertFalse(createAccount.isEnabled()); + solo.clearEditText((EditText) solo.getView(R.id.username)); + solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_linphone_login)); + solo.sleep(sleepingTime * 2); + Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_username_unavailable)); + Assert.assertFalse(createAccount.isEnabled()); - solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(R.id.confirm_password_error); - Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_passwords_unmatched)); - Assert.assertFalse(createAccount.isEnabled()); + solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2)); + solo.sleep(sleepingTime); + error = (TextView) solo.getView(R.id.confirm_password_error); + Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_passwords_unmatched)); + Assert.assertFalse(createAccount.isEnabled()); - solo.clearEditText((EditText) solo.getView(R.id.password)); - solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2)); - solo.enterText((EditText) solo.getView(R.id.confirm_password), iContext.getString(R.string.account_create_pwd).substring(0,2)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(R.id.password_error); - Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_password_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); + solo.clearEditText((EditText) solo.getView(R.id.password)); + solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd).substring(0, 2)); + solo.enterText((EditText) solo.getView(R.id.confirm_password), iContext.getString(R.string.account_create_pwd).substring(0, 2)); + solo.sleep(sleepingTime); + error = (TextView) solo.getView(R.id.password_error); + Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_password_incorrect)); + Assert.assertFalse(createAccount.isEnabled()); - solo.enterText((EditText) solo.getView(R.id.email), iContext.getString(R.string.account_create_email).substring(0, 12)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(R.id.email_error); - Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_email_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); + solo.enterText((EditText) solo.getView(R.id.email), iContext.getString(R.string.account_create_email).substring(0, 12)); + solo.sleep(sleepingTime); + error = (TextView) solo.getView(R.id.email_error); + Assert.assertEquals(error.getText(), aContext.getString(R.string.wizard_email_incorrect)); + Assert.assertFalse(createAccount.isEnabled()); - solo.clearEditText((EditText) solo.getView(R.id.username)); - solo.clearEditText((EditText) solo.getView(R.id.password)); - solo.clearEditText((EditText) solo.getView(R.id.confirm_password)); - solo.clearEditText((EditText) solo.getView(R.id.email)); - solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_create_login)); - solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd)); - solo.enterText((EditText) solo.getView(R.id.confirm_password), iContext.getString(R.string.account_create_pwd)); - solo.enterText((EditText) solo.getView(R.id.email), iContext.getString(R.string.account_create_email)); - solo.sleep(sleepingTime); - Assert.assertEquals(error.getText(), ""); - Assert.assertTrue(createAccount.isEnabled()); + solo.clearEditText((EditText) solo.getView(R.id.username)); + solo.clearEditText((EditText) solo.getView(R.id.password)); + solo.clearEditText((EditText) solo.getView(R.id.confirm_password)); + solo.clearEditText((EditText) solo.getView(R.id.email)); + solo.enterText((EditText) solo.getView(R.id.username), iContext.getString(R.string.account_create_login)); + solo.enterText((EditText) solo.getView(R.id.password), iContext.getString(R.string.account_create_pwd)); + solo.enterText((EditText) solo.getView(R.id.confirm_password), iContext.getString(R.string.account_create_pwd)); + solo.enterText((EditText) solo.getView(R.id.email), iContext.getString(R.string.account_create_email)); + solo.sleep(sleepingTime); + Assert.assertEquals(error.getText(), ""); + Assert.assertTrue(createAccount.isEnabled()); + } else { + solo.clickOnView(solo.getView(R.id.select_country)); + + solo.enterText((EditText) solo.getView(R.id.search_country), aContext.getString(R.string.account_create_country_name)); + solo.sleep(500); + solo.clickInList(0); + solo.sleep(500); + Assert.assertEquals(((Button)solo.getView(R.id.select_country)).getText().toString().toLowerCase(), + aContext.getString(R.string.account_create_country_name).toLowerCase()); + Assert.assertEquals(((EditText)solo.getView(R.id.dial_code)).getText().toString(), + "+"+aContext.getString(R.string.account_create_country_code)); + + Assert.assertEquals(((TextView)solo.getView(R.id.sip_uri)).getText().toString(), ""); + solo.enterText((EditText) solo.getView(R.id.phone_number), + aContext.getString(R.string.account_create_phone_number).substring(2)); + Assert.assertEquals(((TextView)solo.getView(R.id.phone_number_error)).getText().toString(), + aContext.getString(R.string.phone_number_too_short)); + solo.clearEditText((EditText) solo.getView(R.id.phone_number)); + solo.enterText((EditText) solo.getView(R.id.phone_number), aContext.getString(R.string.account_create_phone_number)+"1234"); + Assert.assertEquals(((TextView)solo.getView(R.id.phone_number_error)).getText().toString(), + aContext.getString(R.string.phone_number_too_long)); + solo.clearEditText((EditText) solo.getView(R.id.phone_number)); + solo.enterText((EditText) solo.getView(R.id.phone_number), aContext.getString(R.string.account_create_phone_number)); + Assert.assertEquals(((TextView)solo.getView(R.id.phone_number_error)).getText().toString(), ""); + Assert.assertEquals(((TextView)solo.getView(R.id.sip_uri)).getText().toString(), + aContext.getString(R.string.assistant_create_account_phone_number_address) + + " <" + "+" + aContext.getString(R.string.account_create_country_code) + + aContext.getString(R.string.account_create_phone_number) + + "@" + aContext.getString(R.string.default_domain) + ">"); + + solo.clickOnView(solo.getView(R.id.use_username)); + Assert.assertEquals(((TextView)solo.getView(R.id.sip_uri)).getText().toString(), ""); + solo.enterText((EditText) solo.getView(R.id.username), aContext.getString(R.string.account_create_login)); + Assert.assertEquals(((TextView)solo.getView(R.id.sip_uri)).getText().toString(), + aContext.getString(R.string.assistant_create_account_phone_number_address) + + " <" + aContext.getString(R.string.account_create_login) + + "@" + aContext.getString(R.string.default_domain) + ">"); + + Button createAccount = (Button) solo.getView(R.id.assistant_create); + + Assert.assertTrue(createAccount.isEnabled()); + } } @LargeTest diff --git a/src/androidTest/org/linphone/CallsAudio.java b/src/androidTest/org/linphone/CallsAudio.java index f65d9e0d4..f8a6f5494 100644 --- a/src/androidTest/org/linphone/CallsAudio.java +++ b/src/androidTest/org/linphone/CallsAudio.java @@ -2,11 +2,6 @@ package org.linphone; import junit.framework.Assert; -import org.linphone.CallActivity; -import org.linphone.CallIncomingActivity; -import org.linphone.CallOutgoingActivity; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; @@ -15,8 +10,13 @@ import org.linphone.core.PayloadType; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; -import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.View; +import android.widget.ImageView; + +import static android.test.TouchUtils.dragViewToX; +import static android.view.Gravity.CENTER_HORIZONTAL; +import static android.view.Gravity.CENTER_VERTICAL; /** * @author Sylvain Berfini @@ -61,7 +61,9 @@ public class CallsAudio extends SampleTest { @LargeTest public void testCDTMFRFC2833InPCMUCall() { disableAllEnabledAudioCodecs(); + solo.scrollUp(); solo.clickOnText("PCMU"); + solo.sleep(500); goBackToDialerAfterCodecChanges(); solo.sleep(1000); @@ -160,7 +162,8 @@ public class CallsAudio extends SampleTest { LinphoneTestManager.getInstance().autoAnswer = true; - solo.clickOnView(solo.getView(R.id.outgoing_hang_up)); + ImageView hangUp = (ImageView) solo.getView(R.id.outgoing_hang_up); + solo.clickOnView(hangUp); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); } @@ -201,15 +204,8 @@ public class CallsAudio extends SampleTest { solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); solo.sleep(1000); - /*View topLayout = solo.getView(R.id.topLayout); - int topLayoutHeigh = topLayout.getMeasuredHeight(); - DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int topOffset = dm.heightPixels - topLayoutHeigh; - int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml - solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/ - - solo.clickOnView(solo.getView(R.id.accept)); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); assertCallIsCorrectlyRunning(); } @@ -228,16 +224,9 @@ public class CallsAudio extends SampleTest { solo.waitForActivity("CallIncomingActivity", 5000); solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - /*solo.sleep(1000); - View topLayout = solo.getView(R.id.topLayout); - int topLayoutHeigh = topLayout.getMeasuredHeight(); - DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int topOffset = dm.heightPixels - topLayoutHeigh; - int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml - solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10);*/ - - solo.clickOnView(solo.getView(R.id.accept)); + solo.sleep(1000); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); assertCallIsCorrectlyRunning(); } @@ -319,13 +308,10 @@ public class CallsAudio extends SampleTest { solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); solo.sleep(1000); + View topLayout = solo.getView(R.id.topLayout); - int topLayoutHeigh = topLayout.getMeasuredHeight(); - DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int topOffset = dm.heightPixels - topLayoutHeigh; - int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml - solo.drag(topLayout.getMeasuredWidth() - 10, 10, slidersTop, slidersTop, 10); + dragViewToX(this, solo.getView(R.id.decline), Gravity.CENTER_HORIZONTAL, topLayout.getMeasuredWidth()); + getInstrumentation().waitForIdleSync(); } @MediumTest @@ -420,6 +406,16 @@ public class CallsAudio extends SampleTest { solo.sleep(500); } + if (isAudioCodecEnabled("PCMU", 8000)) { + solo.clickOnText("PCMU"); + solo.sleep(500); + } + + if (isAudioCodecEnabled("PCMA", 8000)) { + solo.clickOnText("PCMA"); + solo.sleep(500); + } + if (isAudioCodecEnabled("iLBC", 8000)) { solo.clickOnText("iLBC"); solo.sleep(500); @@ -464,16 +460,6 @@ public class CallsAudio extends SampleTest { solo.clickOnText("SILK", 2); solo.sleep(500); } - - if (isAudioCodecEnabled("PCMU", 8000)) { - solo.clickOnText("PCMU"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("PCMA", 8000)) { - solo.clickOnText("PCMA"); - solo.sleep(500); - } } private void goBackToDialerAfterCodecChanges() { diff --git a/src/androidTest/org/linphone/CallsVideo.java b/src/androidTest/org/linphone/CallsVideo.java index 13da8c4cd..1c1ea1953 100644 --- a/src/androidTest/org/linphone/CallsVideo.java +++ b/src/androidTest/org/linphone/CallsVideo.java @@ -17,8 +17,13 @@ import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.View; +import static android.test.TouchUtils.dragViewToX; +import static android.view.Gravity.CENTER_HORIZONTAL; +import static android.view.Gravity.CENTER_VERTICAL; + /** * @author Sylvain Berfini */ @@ -72,7 +77,9 @@ public class CallsVideo extends SampleTest { @LargeTest public void testCDTMFRFC2833InPCMUCall() { disableAllEnabledAudioCodecs(); + solo.scrollUp(); solo.clickOnText("PCMU"); + solo.sleep(500); goBackToDialerAfterCodecChanges(); solo.sleep(1000); @@ -175,7 +182,7 @@ public class CallsVideo extends SampleTest { LinphoneTestManager.getInstance().autoAnswer = true; - solo.clickOnView(solo.getView(R.id.hang_up)); + solo.clickOnView(solo.getView(R.id.outgoing_hang_up)); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); } @@ -213,7 +220,8 @@ public class CallsVideo extends SampleTest { solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); solo.sleep(1000); - solo.clickOnView(solo.getView(R.id.accept)); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); assertCallIsCorrectlyRunning(); } @@ -234,7 +242,10 @@ public class CallsVideo extends SampleTest { solo.waitForActivity("IncomingCallActivity", 5000); solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - solo.clickOnView(solo.getView(R.id.accept)); + + solo.sleep(1000); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); assertCallIsCorrectlyRunning(); assertCallIsRunningWithVideo(); @@ -259,18 +270,18 @@ public class CallsVideo extends SampleTest { assertCallIsCorrectlyRunning(); - solo.clickOnView(solo.getView(R.id.video_frame)); + solo.clickOnView(solo.getView(R.id.active_call)); solo.clickOnView(solo.getView(R.id.pause)); solo.sleep(1000); waitForCallPaused(LinphoneManager.getLc().getCalls()[0]); - solo.clickOnView(solo.getView(R.id.video_frame)); + solo.clickOnView(solo.getView(R.id.active_call)); solo.clickOnView(solo.getView(R.id.call_pause)); solo.sleep(1000); waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - solo.clickOnView(solo.getView(R.id.video_frame)); + solo.clickOnView(solo.getView(R.id.active_call)); solo.clickOnView(solo.getView(R.id.hang_up)); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); @@ -288,13 +299,13 @@ public class CallsVideo extends SampleTest { solo.sleep(1000); waitForCallState(LinphoneManager.getLc().getCalls()[0], LinphoneCall.State.PausedByRemote); - solo.clickOnView(solo.getView(R.id.video_frame)); + solo.clickOnView(solo.getView(R.id.active_call)); LinphoneTestManager.getLc().resumeCall(LinphoneTestManager.getLc().getCalls()[0]); solo.sleep(1000); waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - solo.clickOnView(solo.getView(R.id.video_frame)); + solo.clickOnView(solo.getView(R.id.active_call)); solo.clickOnView(solo.getView(R.id.hang_up)); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); @@ -395,6 +406,16 @@ public class CallsVideo extends SampleTest { solo.sleep(500); } + if (isAudioCodecEnabled("PCMU", 8000)) { + solo.clickOnText("PCMU"); + solo.sleep(500); + } + + if (isAudioCodecEnabled("PCMA", 8000)) { + solo.clickOnText("PCMA"); + solo.sleep(500); + } + if (isAudioCodecEnabled("iLBC", 8000)) { solo.clickOnText("iLBC"); solo.sleep(500); @@ -440,15 +461,7 @@ public class CallsVideo extends SampleTest { solo.sleep(500); } - if (isAudioCodecEnabled("PCMU", 8000)) { - solo.clickOnText("PCMU"); - solo.sleep(500); - } - if (isAudioCodecEnabled("PCMA", 8000)) { - solo.clickOnText("PCMA"); - solo.sleep(500); - } } private boolean isVideoCodecEnabled(String mime) { diff --git a/src/androidTest/org/linphone/Chat.java b/src/androidTest/org/linphone/Chat.java index ccb28505d..5f8d6abd8 100644 --- a/src/androidTest/org/linphone/Chat.java +++ b/src/androidTest/org/linphone/Chat.java @@ -30,6 +30,7 @@ public class Chat extends SampleTest { LinphoneChatRoom[] chats = LinphoneTestManager.getInstance().getLc().getChatRooms(); for (LinphoneChatRoom chatroom : chats) { + chatroom.markAsRead(); chatroom.deleteHistory(); } @@ -76,13 +77,7 @@ public class Chat extends SampleTest { LinphoneChatRoom chatRoom = LinphoneTestManager.getLc().getOrCreateChatRoom("sip:" + iContext.getString(R.string.account_linphone_login) + "@" + iContext.getString(R.string.account_linphone_domain)); LinphoneChatMessage msg = chatRoom.createLinphoneChatMessage(iContext.getString(R.string.chat_test_text_received)); - chatRoom.sendMessage(msg, new LinphoneChatMessage.StateListener() { - @Override - public void onLinphoneChatMessageStateChanged(LinphoneChatMessage msg, - State state) { - Log.e("Chat message state = " + state.toString()); - } - }); + chatRoom.sendChatMessage(msg); solo.sleep(1000); Assert.assertTrue(solo.searchText(iContext.getString(R.string.chat_test_text_received))); diff --git a/src/androidTest/org/linphone/ConferenceAndMultiCall.java b/src/androidTest/org/linphone/ConferenceAndMultiCall.java index 80272ea74..7f8def150 100644 --- a/src/androidTest/org/linphone/ConferenceAndMultiCall.java +++ b/src/androidTest/org/linphone/ConferenceAndMultiCall.java @@ -16,8 +16,11 @@ import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; import android.util.DisplayMetrics; +import android.view.Gravity; import android.view.View; +import static android.test.TouchUtils.dragViewToX; + public class ConferenceAndMultiCall extends SampleTest { @SmallTest @@ -67,7 +70,6 @@ public class ConferenceAndMultiCall extends SampleTest { solo.clickOnView(solo.getView(R.id.hang_up)); solo.sleep(1000); - solo.clickOnView(solo.getView(R.id.hang_up)); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); } @@ -192,18 +194,15 @@ public class ConferenceAndMultiCall extends SampleTest { solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class); solo.sleep(1000); - View topLayout = solo.getView(R.id.topLayout); - int topLayoutHeigh = topLayout.getMeasuredHeight(); - DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int topOffset = dm.heightPixels - topLayoutHeigh; - int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml - solo.drag(topLayout.getMeasuredWidth() - 10, 10, slidersTop, slidersTop, 10); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); assertCallIsCorrectlyRunning(1); solo.sleep(2000); solo.clickOnView(solo.getView(R.id.hang_up)); + solo.sleep(1000); + solo.clickOnView(solo.getView(R.id.hang_up)); solo.waitForActivity("LinphoneActivity", 5000); solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); } @@ -226,13 +225,8 @@ public class ConferenceAndMultiCall extends SampleTest { solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class); solo.sleep(1000); - View topLayout = solo.getView(R.id.topLayout); - int topLayoutHeigh = topLayout.getMeasuredHeight(); - DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int topOffset = dm.heightPixels - topLayoutHeigh; - int slidersTop = topLayoutHeigh - 80 - topOffset; // 80 is the bottom margin set in incoming.xml - solo.drag(10, topLayout.getMeasuredWidth() - 10, slidersTop, slidersTop, 10); + dragViewToX(this, solo.getView(R.id.accept), Gravity.CENTER_HORIZONTAL, 0); + getInstrumentation().waitForIdleSync(); solo.sleep(1000); LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0]; diff --git a/src/androidTest/org/linphone/SampleTest.java b/src/androidTest/org/linphone/SampleTest.java index 72c7a0aa9..27f420aa3 100644 --- a/src/androidTest/org/linphone/SampleTest.java +++ b/src/androidTest/org/linphone/SampleTest.java @@ -1,7 +1,5 @@ package org.linphone; -import org.linphone.LinphoneLauncherActivity; -import org.linphone.LinphoneManager; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCall.State; import org.linphone.core.LinphoneCore; @@ -11,7 +9,6 @@ import org.linphone.core.LinphoneCore.RegistrationState; import android.content.Context; import android.test.ActivityInstrumentationTestCase2; import android.widget.ListView; -import java.util.List; import com.robotium.solo.Condition; import com.robotium.solo.Solo;