diff --git a/build.gradle b/build.gradle index 780801c8e..1c2db55fb 100644 --- a/build.gradle +++ b/build.gradle @@ -18,21 +18,32 @@ buildscript { mavenLocal() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.2' + classpath 'com.android.tools.build:gradle:2.3.0' if (googleFile.exists()) { classpath 'com.google.gms:google-services:3.0.0' } } } +allprojects { + repositories { + jcenter() + mavenCentral() + mavenLocal() + } +} + apply plugin: 'com.android.application' dependencies { - compile fileTree(include: '*.jar', dir: 'libs') - androidTestCompile fileTree(include: '*.jar', dir: 'libs-test') + androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2.2') { + exclude module: 'support-annotations' + } + compile group: 'org.apache.commons', name: 'commons-compress', version: '1.5' if (firebaseEnable()) { compile 'com.google.firebase:firebase-messaging:9.0.0' } else { + compile "com.google.android.gms:play-services-gcm:10.2.0" compile 'com.android.support:support-v4:+' } } @@ -56,6 +67,7 @@ if (!firebaseEnable()) { excludeFiles.add('**/Firebase*') println '[Push Notification] Firebase disabled' } else { + excludeFiles.add('**/gcm*') println '[Push Notification] Firebase enabled' } excludeFiles.add('**/mediastream/MediastreamerActivity.java') @@ -67,6 +79,8 @@ android { buildToolsVersion "25.0.2" applicationId getPackageName() multiDexEnabled true + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } lintOptions { @@ -117,7 +131,7 @@ android { release.setRoot('build-types/release') } - sourceSets { + /*sourceSets { androidTest { manifest.srcFile 'AndroidManifest.xml' def srcDirs = submoduleDir @@ -134,13 +148,13 @@ android { // Exclude some useless files packagingOptions { - exclude '**/gdb.*' + exclude '**//*gdb.*' } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') - } + }*/ } task runApplication() { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 064130168..763ce1376 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Mar 29 17:34:30 CEST 2017 +#Thu Apr 27 14:17:25 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-all.zip diff --git a/libLinphoneAndroidSdk.gradle b/libLinphoneAndroidSdk.gradle index 1d9e1f302..5f849e49f 100644 --- a/libLinphoneAndroidSdk.gradle +++ b/libLinphoneAndroidSdk.gradle @@ -12,10 +12,18 @@ buildscript { } } +allprojects { + repositories { + jcenter() + mavenCentral() + mavenLocal() + } +} + apply plugin: 'com.android.library' dependencies { - compile fileTree(dir: 'libs', include: 'commons-compress-1.11.jar') + compile group: 'org.apache.commons', name: 'commons-compress', version: '1.5' } def submoduleDir = ['submodules/mediastreamer2/java/src', diff --git a/liblinphone_tester/build.gradle b/liblinphone_tester/build.gradle index 568772314..f8613698e 100644 --- a/liblinphone_tester/build.gradle +++ b/liblinphone_tester/build.gradle @@ -16,12 +16,19 @@ buildscript { } } +allprojects { + repositories { + jcenter() + mavenCentral() + mavenLocal() + } +} + apply plugin: 'com.android.application' dependencies { + androidTestCompile group: 'org.apache.commons', name: 'commons-compress', version: '1.5' compile project(":libLinphoneAndroidSdk") - compile fileTree(dir: 'libs', include: '*.jar') - androidTestCompile fileTree(dir: 'libs', include: '*.jar') } android { diff --git a/libs-test/junit-4.12.jar b/libs-test/junit-4.12.jar deleted file mode 100644 index 3a7fc266c..000000000 Binary files a/libs-test/junit-4.12.jar and /dev/null differ diff --git a/libs-test/robotium-solo-5.2.1.jar b/libs-test/robotium-solo-5.2.1.jar deleted file mode 100644 index 2875fc4de..000000000 Binary files a/libs-test/robotium-solo-5.2.1.jar and /dev/null differ diff --git a/libs/commons-compress-1.11.jar b/libs/commons-compress-1.11.jar deleted file mode 100644 index 71c92ce17..000000000 Binary files a/libs/commons-compress-1.11.jar and /dev/null differ diff --git a/libs/gcm.jar b/libs/gcm.jar deleted file mode 100644 index ac109a830..000000000 Binary files a/libs/gcm.jar and /dev/null differ diff --git a/linphoneAndroidSdk.gradle b/linphoneAndroidSdk.gradle index 6748a25d3..ad9cd7910 100644 --- a/linphoneAndroidSdk.gradle +++ b/linphoneAndroidSdk.gradle @@ -17,10 +17,19 @@ buildscript { } } +allprojects { + repositories { + jcenter() + mavenCentral() + mavenLocal() + } +} + apply plugin: 'com.android.library' dependencies { - compile fileTree(dir: 'libs', include: '*.jar') + compile group: 'org.apache.commons', name: 'commons-compress', version: '1.5' + compile "com.google.android.gms:play-services-gcm:10.2.0" compile 'com.google.firebase:firebase-messaging:9.0.0' compile 'com.android.support:support-v4:+' } diff --git a/src/android/org/linphone/gcm/GCMService.java b/src/android/org/linphone/gcm/GCMService.java index 79e49aab0..c21f082fb 100644 --- a/src/android/org/linphone/gcm/GCMService.java +++ b/src/android/org/linphone/gcm/GCMService.java @@ -40,16 +40,16 @@ import com.google.android.gcm.GCMBaseIntentService; public class GCMService extends GCMBaseIntentService { public GCMService() { - + } - + private void initLogger(Context context) { LinphonePreferences.instance().setContext(context); boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); LinphoneCoreFactory.instance().enableLogCollection(isDebugEnabled); LinphoneCoreFactory.instance().setDebugMode(isDebugEnabled, context.getString(R.string.app_name)); } - + @Override protected void onError(Context context, String errorId) { initLogger(context); @@ -60,7 +60,7 @@ public class GCMService extends GCMBaseIntentService { protected void onMessage(Context context, Intent intent) { initLogger(context); Log.d("[Push Notification] Received"); - + if (!LinphoneService.isReady()) { startService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class)); } else if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0) { @@ -92,7 +92,7 @@ public class GCMService extends GCMBaseIntentService { protected void onUnregistered(Context context, String regId) { initLogger(context); Log.w("[Push Notification] Unregistered: " + regId); - + UIThreadDispatcher.dispatch(new Runnable(){ @Override public void run() { @@ -100,7 +100,7 @@ public class GCMService extends GCMBaseIntentService { } }); } - + protected String[] getSenderIds(Context context) { return new String[] { context.getString(R.string.push_sender_id) }; } diff --git a/src/androidTest/org/linphone/ui/tester/AccountAssistant.java b/src/androidTest/org/linphone/ui/tester/AccountAssistant.java deleted file mode 100644 index b8ce4835c..000000000 --- a/src/androidTest/org/linphone/ui/tester/AccountAssistant.java +++ /dev/null @@ -1,181 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; -import org.linphone.LinphonePreferences; -import org.linphone.assistant.AssistantActivity; -import org.linphone.core.LinphoneProxyConfig; -import org.linphone.mediastream.video.capture.hwconf.Hacks; - -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; - -/** - * @author Sylvain Berfini - */ -public class AccountAssistant extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAWizardDisplayedAfterInstall() { - LinphonePreferences.instance().setXmlrpcUrl("https://sip3.linphone.org:444/inapp.php"); - solo.waitForActivity("AssistantActivity", 3000); - solo.assertCurrentActivity("Expected Assistant Activity", AssistantActivity.class); - } - - @SmallTest - @MediumTest - @LargeTest - public void testBLoginWithLinphoneAccount() { - solo.waitForActivity("AssistantActivity", 3000); - solo.assertCurrentActivity("Expected Assistant Activity", AssistantActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.login_linphone)); - solo.clickOnView(solo.getView(org.linphone.R.id.use_username)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(org.linphone.R.string.account_linphone_login)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(org.linphone.R.string.account_linphone_pwd)); - solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply)); - - solo.clickOnView(solo.getView(org.linphone.R.id.assistant_skip)); - - solo.sleep(1000); - - //Test echo calibration launch at first start - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.assistant_codec_down_question))); - solo.clickOnView(solo.getView(org.linphone.R.id.answerNo)); - - solo.waitForActivity("LinphoneActivity", 8000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_linphone_login) + "@sip.linphone.org")); - - solo.sleep(3000); //Wait for registration to be done - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(1, proxyConfigs.length); - LinphoneProxyConfig proxyConfig = proxyConfigs[0]; - waitForRegistration(proxyConfig); - - //Check the wizard added sip.linphone.org custom settings - LinphonePreferences prefs = LinphonePreferences.instance(); - String stunServer = prefs.getStunServer(); - Assert.assertEquals(aContext.getString(org.linphone.R.string.default_stun), stunServer); - - String transport = prefs.getAccountTransportKey(0); - Assert.assertEquals(aContext.getString(org.linphone.R.string.pref_transport_tls_key), transport); - - String proxy = prefs.getAccountProxy(0); - Assert.assertEquals("", proxy); - - String username = prefs.getAccountUsername(0); - Assert.assertEquals(iContext.getString(org.linphone.R.string.account_linphone_login), username); - - boolean ice = prefs.isIceEnabled(); - Assert.assertEquals(ice, true); - } - - @LargeTest - public void testCWizardDoesntShowWhenAccountIsConfigured() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testDLoginWithGenericAccount() { - startAssistant(); - - solo.clickOnView(solo.getView(org.linphone.R.id.login_generic)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_username), iContext.getString(org.linphone.R.string.account_generic_login)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_password), iContext.getString(org.linphone.R.string.account_generic_pwd)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.assistant_domain), iContext.getString(org.linphone.R.string.account_generic_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.assistant_apply)); - - if (!Hacks.hasBuiltInEchoCanceller()) - solo.waitForActivity("LinphoneActivity", 8000); - else - solo.waitForActivity("LinphoneActivity", 2000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_generic_login) + "@" + iContext.getString(org.linphone.R.string.account_generic_domain))); - - solo.sleep(3000); //Wait for registration to be done - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(proxyConfigs.length, 2); - LinphoneProxyConfig proxyConfig = proxyConfigs[1]; - waitForRegistration(proxyConfig); - } - - @LargeTest - public void testECreateNewAccount() { - startAssistant(); - - solo.clickOnView(solo.getView(org.linphone.R.id.create_account)); - - solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_create_login).substring(0, 2)); - solo.sleep(200); - TextView error = (TextView) solo.getView(org.linphone.R.id.username_error); - int sleepingTime = 1500; - Button createAccount = (Button) solo.getView(org.linphone.R.id.assistant_create); - - Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_username_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); - - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_linphone_login)); - solo.sleep(sleepingTime * 2); - Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_username_unavailable)); - Assert.assertFalse(createAccount.isEnabled()); - - solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0, 2)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(org.linphone.R.id.confirm_password_error); - Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_passwords_unmatched)); - Assert.assertFalse(createAccount.isEnabled()); - - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0, 2)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(org.linphone.R.string.account_create_pwd).substring(0,2)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(org.linphone.R.id.password_error); - Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_password_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); - - solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(org.linphone.R.string.account_create_email).substring(0, 12)); - solo.sleep(sleepingTime); - error = (TextView) solo.getView(org.linphone.R.id.email_error); - Assert.assertEquals(error.getText(), aContext.getString(org.linphone.R.string.wizard_email_incorrect)); - Assert.assertFalse(createAccount.isEnabled()); - - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.username)); - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.password)); - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.confirm_password)); - solo.clearEditText((EditText) solo.getView(org.linphone.R.id.email)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.username), iContext.getString(org.linphone.R.string.account_create_login)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.password), iContext.getString(org.linphone.R.string.account_create_pwd)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.confirm_password), iContext.getString(org.linphone.R.string.account_create_pwd)); - solo.enterText((EditText) solo.getView(org.linphone.R.id.email), iContext.getString(org.linphone.R.string.account_create_email)); - solo.sleep(sleepingTime); - Assert.assertEquals(error.getText(), ""); - Assert.assertTrue(createAccount.isEnabled()); - } - - @LargeTest - public void testFCancelWizard() { - startAssistant(); - solo.clickOnView(solo.getView(org.linphone.R.id.assistant_cancel)); - - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - private void startAssistant() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button)); - solo.clickOnText(aContext.getString(org.linphone.R.string.menu_assistant)); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/AccountManagement.java b/src/androidTest/org/linphone/ui/tester/AccountManagement.java deleted file mode 100644 index 32135750e..000000000 --- a/src/androidTest/org/linphone/ui/tester/AccountManagement.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.FragmentsAvailable; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; -import org.linphone.LinphonePreferences; -import org.linphone.core.LinphoneProxyConfig; - -import android.test.suitebuilder.annotation.LargeTest; -/** - * @author Sylvain Berfini - */ -public class AccountManagement extends SampleTest { - - @LargeTest - public void testAEditAccount() { - goToSettings(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_generic_login) + "@" + iContext.getString(org.linphone.R.string.account_generic_domain)); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_username)); - solo.enterText(0, "new"); - - solo.clickOnView(solo.getView(android.R.id.button1)); - - solo.goBack(); - solo.goBack(); - solo.waitForFragmentByTag(FragmentsAvailable.DIALER.toString(), 2000); - - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - LinphoneProxyConfig proxyConfig = proxyConfigs[0]; - waitForRegistration(proxyConfig); - Assert.assertEquals(proxyConfigs.length, 2); - proxyConfig = proxyConfigs[1]; - waitForRegistration(proxyConfig); - Assert.assertTrue(proxyConfig.getIdentity(), proxyConfig.getIdentity().contains("new")); - } - - @LargeTest - public void testBDeleteAccount() { - goToSettings(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_generic_login) + "new"); - selectItemInListOnUIThread(16); - solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_delete_account)); - - solo.goBack(); - solo.goBack(); - - LinphoneProxyConfig[] proxyConfigs = LinphoneManager.getLc().getProxyConfigList(); - Assert.assertEquals(1, proxyConfigs.length); - } - - @LargeTest - public void testCDisableAccount() { - goToSettings(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_linphone_login)); - selectItemInListOnUIThread(14); - solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account)); - - solo.goBack(); - solo.goBack(); - - Assert.assertFalse(LinphonePreferences.instance().isAccountEnabled(0)); - } - - @LargeTest - public void testDEnableAccount() { - goToSettings(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_linphone_login)); - selectItemInListOnUIThread(14); - solo.clickLongOnText(aContext.getString(org.linphone.R.string.pref_disable_account)); - - solo.goBack(); - solo.goBack(); - - Assert.assertTrue(LinphonePreferences.instance().isAccountEnabled(0)); - } - - private void goToSettings() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button)); - solo.clickOnText("Settings"); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/AinitTestEnv.java b/src/androidTest/org/linphone/ui/tester/AinitTestEnv.java deleted file mode 100644 index 7fbb9c48e..000000000 --- a/src/androidTest/org/linphone/ui/tester/AinitTestEnv.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import android.test.suitebuilder.annotation.LargeTest; -import android.test.suitebuilder.annotation.MediumTest; -import android.test.suitebuilder.annotation.SmallTest; - -/** - * @author Sylvain Berfini - */ -public class AinitTestEnv extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAInitLinphoneCore() { - LinphoneTestManager.createAndStart(aContext, iContext, 1); - - solo.sleep(5000); - Assert.assertEquals(1, LinphoneTestManager.getLc().getProxyConfigList().length); - waitForRegistration(LinphoneTestManager.getLc().getProxyConfigList()[0]); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/CallsAudio.java b/src/androidTest/org/linphone/ui/tester/CallsAudio.java deleted file mode 100644 index 68305880e..000000000 --- a/src/androidTest/org/linphone/ui/tester/CallsAudio.java +++ /dev/null @@ -1,486 +0,0 @@ -package org.linphone.ui.tester; - -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; -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.View; - -/** - * @author Sylvain Berfini - */ -public class CallsAudio extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAInit() { - //Disable video - goToSettings(); - - selectItemInListOnUIThread(3); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title)); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_enable_title)); - solo.sleep(500); - - solo.goBack(); - solo.sleep(1000); - Assert.assertFalse(LinphoneManager.getLc().isVideoEnabled()); - } - - @SmallTest - @MediumTest - @LargeTest - public void testBOutgoingCallWithDefaultConfig() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertOutgoingCallIsCorrectlyRunning(); - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testCDTMFRFC2833InPCMUCall() { - disableAllEnabledAudioCodecs(); - solo.clickOnText("PCMU"); - goBackToDialerAfterCodecChanges(); - solo.sleep(1000); - - LinphoneManager.getLc().setUseRfc2833ForDtmfs(true); - LinphoneManager.getLc().setUseSipInfoForDtmfs(false); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - solo.clickOnView(solo.getView(org.linphone.R.id.Digit3)); - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - - //To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed - //Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived); - LinphoneTestManager.getInstance().isDTMFReceived = false; - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testDDTMFSIPINFO() { - LinphoneManager.getLc().setUseRfc2833ForDtmfs(false); - LinphoneManager.getLc().setUseSipInfoForDtmfs(true); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - solo.clickOnView(solo.getView(org.linphone.R.id.Digit3)); - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - - //To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed - //Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived); - LinphoneTestManager.getInstance().isDTMFReceived = false; - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testEOutgoingCallToAudioClient() { - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.waitForActivity("CallOutgoingActivity", 2000); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testFOutgoingCallToVideoClient() { - LinphoneTestManager.getLc().enableVideo(true, true); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.waitForActivity("CallOutgoingActivity", 5000); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testGOutgoingCallCancelled() { - LinphoneTestManager.getInstance().autoAnswer = false; - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.waitForActivity("CallOutgoingActivity", 200); - solo.assertCurrentActivity("Expected InCall Activity", CallOutgoingActivity.class); - - solo.sleep(2000); - waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging); - - LinphoneTestManager.getInstance().autoAnswer = true; - - solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testHOutgoingCallDeclined() { - LinphoneTestManager.getInstance().autoAnswer = true; // Just in case - LinphoneTestManager.getInstance().declineCall = true; - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.sleep(1500); - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined))); - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - LinphoneTestManager.getInstance().declineCall = false; - } - - @SmallTest - @MediumTest - @LargeTest - public void testIIncomingAudioCall() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("CallIncomingActivity", 2000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - solo.sleep(1000); - /*View topLayout = solo.getView(org.linphone.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(org.linphone.R.id.accept)); - - assertCallIsCorrectlyRunning(); - } - - @LargeTest - public void testJIncomingVideoCall() { - LinphoneTestManager.getLc().enableVideo(true, true); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("CallIncomingActivity", 5000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - /*solo.sleep(1000); - View topLayout = solo.getView(org.linphone.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(org.linphone.R.id.accept)); - - assertCallIsCorrectlyRunning(); - } - - @MediumTest - @LargeTest - public void testKSelfPauseResumeCall() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.pause)); - solo.sleep(1000); - - waitForCallPaused(LinphoneManager.getLc().getCalls()[0]); - - solo.clickOnView(solo.getView(org.linphone.R.id.call_pause)); - solo.sleep(1000); - - waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testLRemotePauseResumeCall() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - LinphoneTestManager.getLc().pauseAllCalls(); - solo.sleep(1000); - - waitForCallState(LinphoneManager.getLc().getCalls()[0], LinphoneCall.State.PausedByRemote); - - LinphoneTestManager.getLc().resumeCall(LinphoneTestManager.getLc().getCalls()[0]); - solo.sleep(1000); - - waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - - solo.clickLongOnScreen(200, 200); //To ensure controls are shown - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testMSwitchOnVideoInCallIsNotAllowed() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - Assert.assertFalse(solo.getView(org.linphone.R.id.video).isEnabled()); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testNDeclineIncomingCall() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("CallIncomingActivity", 5000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - solo.sleep(1000); - View topLayout = solo.getView(org.linphone.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); - } - - @MediumTest - @LargeTest - public void testOCancelledIncomingCall() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("CallIncomingActivity", 5000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - LinphoneTestManager.getLc().terminateAllCalls(); - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testPDisplayMissedCallsNumber() { - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - Assert.assertTrue(solo.searchText("1")); - } - - //TODO: Test each audio codec - - private void assertOutgoingCallIsCorrectlyRunning() { - solo.waitForActivity("CallOutgoingActivity", 2000); - solo.assertCurrentActivity("Expected OutgoingCall Activity", CallOutgoingActivity.class); - - LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - waitForCallState(call, LinphoneCall.State.OutgoingProgress); - } - - private void assertCallIsCorrectlyRunning() { - solo.waitForActivity("CallActivity", 5000); - solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class); - - LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - waitForCallState(call, LinphoneCall.State.StreamsRunning); - } - - private void goToSettings() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button)); - solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings)); - } - - private void goToAudioCodecsSettings() { - goToSettings(); - - selectItemInListOnUIThread(4); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title)); - solo.sleep(500); - } - - private boolean isAudioCodecEnabled(String mime, int rate) { - LinphoneCore lc = LinphoneTestManager.getLc(); - for (final PayloadType pt : lc.getAudioCodecs()) { - if (pt.getMime().equals(mime) && pt.getRate() == rate) - return lc.isPayloadTypeEnabled(pt); - } - return false; - } - - private void disableAllEnabledAudioCodecs() { - goToAudioCodecsSettings(); - - if (isAudioCodecEnabled("opus", 48000)) { - solo.clickOnText("opus"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("speex", 16000)) { - solo.clickOnText("speex"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("speex", 8000)) { - solo.clickOnText("speex", 1); - solo.sleep(500); - } - - if (isAudioCodecEnabled("iLBC", 8000)) { - solo.clickOnText("iLBC"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("AMR", 8000)) { - solo.clickOnText("AMR"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("AMRWB", 8000)) { - solo.clickOnText("AMRWB"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("G729", 8000)) { - solo.clickOnText("G729"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("GSM", 8000)) { - solo.clickOnText("GSM"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("G722", 8000)) { - solo.clickOnText("G722"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 24000)) { - solo.clickOnText("SILK"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 16000)) { - solo.clickOnText("SILK", 1); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 8000)) { - 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() { - solo.goBack(); - solo.goBack(); - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/CallsVideo.java b/src/androidTest/org/linphone/ui/tester/CallsVideo.java deleted file mode 100644 index 172637b13..000000000 --- a/src/androidTest/org/linphone/ui/tester/CallsVideo.java +++ /dev/null @@ -1,569 +0,0 @@ -package org.linphone.ui.tester; - -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.mediastream.Log; -import org.linphone.core.LinphoneCore; -import org.linphone.core.LinphoneCoreException; -import org.linphone.core.PayloadType; - -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.View; - -/** - * @author Sylvain Berfini - */ -public class CallsVideo extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAInit() { - //Enable video - goToSettings(); - - // enable auto accept and auto share video - goToVideoCodecsSettings(); - solo.sleep(500); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_enable_title)); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_initiate_call_with_video_title)); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_automatically_accept_video_title)); - solo.sleep(500); - solo.goBack(); - - solo.goBack(); - solo.sleep(1000); - Assert.assertTrue(LinphoneManager.getLc().isVideoEnabled()); - Assert.assertTrue(LinphoneManager.getLc().getVideoAutoAcceptPolicy()); - Assert.assertTrue(LinphoneManager.getLc().getVideoAutoInitiatePolicy()); - } - - @SmallTest - @MediumTest - @LargeTest - public void testBOutgoingCallWithDefaultConfig() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - LinphoneTestManager.getLc().enableVideo(true, true); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertOutgoingCallIsCorrectlyRunning(); - assertCallIsCorrectlyRunning(); - assertCallIsRunningWithVideo(); - - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testCDTMFRFC2833InPCMUCall() { - disableAllEnabledAudioCodecs(); - solo.clickOnText("PCMU"); - goBackToDialerAfterCodecChanges(); - solo.sleep(1000); - - LinphoneManager.getLc().setUseRfc2833ForDtmfs(true); - LinphoneManager.getLc().setUseSipInfoForDtmfs(false); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - solo.clickOnView(solo.getView(org.linphone.R.id.Digit3)); - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - - //To enable when issue http://git.linphone.org/mantis/view.php?id=750 will be fixed - //Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived); - LinphoneTestManager.getInstance().isDTMFReceived = false; - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testDDTMFSIPINFO() { - LinphoneManager.getLc().setUseRfc2833ForDtmfs(false); - LinphoneManager.getLc().setUseSipInfoForDtmfs(true); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - solo.clickOnView(solo.getView(org.linphone.R.id.Digit3)); - solo.clickOnView(solo.getView(org.linphone.R.id.dialer)); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - - //To enable when issue http://git.linphone.org/mantis/view.php?id=751 will be fixed - //Assert.assertTrue(LinphoneTestManager.getInstance().isDTMFReceived); - LinphoneTestManager.getInstance().isDTMFReceived = false; - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testEOutgoingCallToAudioClient() { - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertOutgoingCallIsCorrectlyRunning(); - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testFOutgoingCallToVideoClient() { - LinphoneTestManager.getLc().enableVideo(true, true); - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertOutgoingCallIsCorrectlyRunning(); - assertCallIsCorrectlyRunning(); - assertCallIsRunningWithVideo(); - - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testGOutgoingCallCancelled() { - LinphoneTestManager.getInstance().autoAnswer = false; - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.waitForActivity("InCallActivity", 5000); - solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class); - - solo.sleep(2000); - waitForCallState(LinphoneManager.getLc().getCalls()[0],LinphoneCall.State.OutgoingRinging); - - LinphoneTestManager.getInstance().autoAnswer = true; - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testHOutgoingCallDeclined() { - LinphoneTestManager.getInstance().autoAnswer = true; // Just in case - LinphoneTestManager.getInstance().declineCall = true; - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.sleep(1500); - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.error_call_declined))); - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - LinphoneTestManager.getInstance().declineCall = false; - } - - @LargeTest - public void testIIncomingAudioCall() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - LinphoneTestManager.getLc().enableVideo(false, false); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("IncomingCallActivity", 5000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.accept)); - - assertCallIsCorrectlyRunning(); - } - - @SmallTest - @MediumTest - @LargeTest - public void testJIncomingVideoCall() { - LinphoneTestManager.getLc().enableVideo(true, true); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc().invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("IncomingCallActivity", 5000); - solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.accept)); - - assertCallIsCorrectlyRunning(); - assertCallIsRunningWithVideo(); - } - -// @SmallTest -// @MediumTest -// @LargeTest -// public void testJIncommingCallWithCallPlayer() throws InterruptedException { -// testJIncomingVideoCall(); -// Thread.sleep(2000); -// callPlayerTest(); -// } - - //TODO: Test each video codec - - @MediumTest - @LargeTest - public void testKSelfPauseResumeCall() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.pause)); - solo.sleep(1000); - - waitForCallPaused(LinphoneManager.getLc().getCalls()[0]); - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.call_pause)); - solo.sleep(1000); - - waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testLRemotePauseResumeCall() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - - LinphoneTestManager.getLc().pauseAllCalls(); - solo.sleep(1000); - - waitForCallState(LinphoneManager.getLc().getCalls()[0], LinphoneCall.State.PausedByRemote); - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - LinphoneTestManager.getLc().resumeCall(LinphoneTestManager.getLc().getCalls()[0]); - solo.sleep(1000); - - waitForCallResumed(LinphoneManager.getLc().getCalls()[0]); - - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testMSwitchOffVideoInCall() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(); - assertCallIsRunningWithVideo(); - - Assert.assertTrue(solo.getView(org.linphone.R.id.video).isEnabled()); - solo.clickOnView(solo.getView(org.linphone.R.id.video_frame)); - solo.clickOnView(solo.getView(org.linphone.R.id.video)); - solo.sleep(1000); - Assert.assertFalse(LinphoneManager.getLc().getCurrentCall().getCurrentParamsCopy().getVideoEnabled()); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - private void assertCallIsRunningWithVideo() { - LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - Assert.assertTrue(call.getCurrentParamsCopy().getVideoEnabled()); - } - private void assertOutgoingCallIsCorrectlyRunning() { - solo.waitForActivity("CallOutgoingActivity", 2000); - solo.assertCurrentActivity("Expected OutgoingCall Activity", CallOutgoingActivity.class); - - LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - - waitForCallState(call, LinphoneCall.State.OutgoingProgress); - } - - private void assertCallIsCorrectlyRunning() { - solo.waitForActivity("CallActivity", 2000); - solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class); - - LinphoneCall call = LinphoneManager.getLc().getCalls()[0]; - - waitForCallState(call, LinphoneCall.State.StreamsRunning); - } - - private void goToSettings() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button)); - solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings)); - } - - private void goToAudioCodecsSettings() { - goToSettings(); - - selectItemInListOnUIThread(4); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_audio_title)); - solo.sleep(500); - } - - private void goToVideoCodecsSettings() { - //goToSettings(); - - selectItemInListOnUIThread(6); - if (solo.searchText(aContext.getString(org.linphone.R.string.pref_video_title), 2)) // Needed in case pref_video_enable_title contains pref_video - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title), 2); - else - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title)); - solo.sleep(500); - } - - private boolean isAudioCodecEnabled(String mime, int rate) { - LinphoneCore lc = LinphoneTestManager.getLc(); - for (final PayloadType pt : lc.getAudioCodecs()) { - if (pt.getMime().equals(mime) && pt.getRate() == rate) - return lc.isPayloadTypeEnabled(pt); - } - return false; - } - - private void disableAllEnabledAudioCodecs() { - goToAudioCodecsSettings(); - - if (isAudioCodecEnabled("opus", 48000)) { - solo.clickOnText("opus"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("speex", 16000)) { - solo.clickOnText("speex"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("speex", 8000)) { - solo.clickOnText("speex", 1); - solo.sleep(500); - } - - if (isAudioCodecEnabled("iLBC", 8000)) { - solo.clickOnText("iLBC"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("AMR", 8000)) { - solo.clickOnText("AMR"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("AMRWB", 8000)) { - solo.clickOnText("AMRWB"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("G729", 8000)) { - solo.clickOnText("G729"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("GSM", 8000)) { - solo.clickOnText("GSM"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("G722", 8000)) { - solo.clickOnText("G722"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 24000)) { - solo.clickOnText("SILK"); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 16000)) { - solo.clickOnText("SILK", 1); - solo.sleep(500); - } - - if (isAudioCodecEnabled("SILK", 8000)) { - 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 boolean isVideoCodecEnabled(String mime) { - LinphoneCore lc = LinphoneTestManager.getLc(); - for (final PayloadType pt : lc.getVideoCodecs()) { - if (pt.getMime().equals(mime)) - return lc.isPayloadTypeEnabled(pt); - } - return false; - } - - private void disableAllEnabledVideoCodecs() { - goToVideoCodecsSettings(); - - if (isVideoCodecEnabled("VP8")) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title)); - solo.sleep(500); - } - - if (isVideoCodecEnabled("H264")) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title)); - solo.sleep(500); - } - - if (isVideoCodecEnabled("MP4V-ES")) { - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title)); - solo.sleep(500); - } - } - -// private void forceH264Codec() { -// goToVideoCodecsSettings(); -// -// if (isVideoCodecEnabled("VP8")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title)); -// solo.sleep(500); -// } -// -// if (!isVideoCodecEnabled("H264")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title)); -// solo.sleep(500); -// } -// -// if (isVideoCodecEnabled("MP4V-ES")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title)); -// solo.sleep(500); -// } -// } - -// private void enableAllDisabledVideoCodecs() { -// goToVideoCodecsSettings(); -// -// if (!isVideoCodecEnabled("VP8")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_vp8_title)); -// solo.sleep(500); -// } -// -// if (!isVideoCodecEnabled("H264")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_h264_title)); -// solo.sleep(500); -// } -// -// if (!isVideoCodecEnabled("MP4V-ES")) { -// solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_codec_mpeg4_title)); -// solo.sleep(500); -// } -// } - - private void goBackToDialerAfterCodecChanges() - { - solo.goBack(); - solo.goBack(); - - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - -// private void callPlayerTest() throws InterruptedException { -// LinphoneCall call = LinphoneTestManager.getLc().getCurrentCall(); -// Assert.assertNotNull(call); -// if(call == null) return; -// LinphonePlayer player = call.getPlayer(); -// Assert.assertNotNull(player); -// if(player == null) return; -// EofListenerImpl eof = new EofListenerImpl(); -// int openResult = player.open("/storage/sdcard0/Movies/test.mkv", eof); -// Assert.assertEquals(openResult, 0); -// if(openResult == 0) { -// Assert.assertEquals(player.start(), 0); -// try { -// Assert.assertTrue(eof.waitForEof(20000)); -// } catch (InterruptedException e) { -// throw e; -// } finally { -// player.close(); -// } -// } -// } -// -// private class EofListenerImpl implements LinphonePlayer.Listener { -// private boolean mEof = false; -// -// @Override -// public void endOfFile(LinphonePlayer player) { -// mEof = true; -// } -// -// public boolean waitForEof(int timeout) throws InterruptedException { -// final int refreshTime = 100; -// int time = 0; -// while(time < timeout && !mEof) { -// Thread.sleep(refreshTime); -// time += refreshTime; -// } -// return time < timeout; -// } -// } -} diff --git a/src/androidTest/org/linphone/ui/tester/Chat.java b/src/androidTest/org/linphone/ui/tester/Chat.java deleted file mode 100644 index d01b65991..000000000 --- a/src/androidTest/org/linphone/ui/tester/Chat.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.LinphoneActivity; -import org.linphone.core.LinphoneChatMessage; -import org.linphone.core.LinphoneChatMessage.State; -import org.linphone.core.LinphoneChatRoom; -import org.linphone.mediastream.Log; - -import com.robotium.solo.Solo; - -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.AutoCompleteTextView; - - -/** - * @author Sylvain Berfini - */ -public class Chat extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAEmptyChatHistory() { - goToChat(); - - LinphoneChatRoom[] chats = LinphoneTestManager.getInstance().getLc().getChatRooms(); - for (LinphoneChatRoom chatroom : chats) { - chatroom.deleteHistory(); - } - - Assert.assertEquals(0, LinphoneActivity.instance().getUnreadMessageCount()); - } - - @LargeTest - public void testBDisplayEmptyChatHistory() { - goToChat(); - - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history))); - } - - @SmallTest - @MediumTest - @LargeTest - public void testCSendTextMessage() { - goToChat(); - - solo.clickOnView(solo.getView(org.linphone.R.id.new_discussion)); - solo.enterText((EditText)solo.getView(org.linphone.R.id.search_contact_field), "sip:" + iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - - solo.enterText((EditText)solo.getView(org.linphone.R.id.message), iContext.getString(org.linphone.R.string.chat_test_text_sent)); - solo.clickOnView(solo.getView(org.linphone.R.id.send_message)); - - solo.sleep(1000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_sent))); - Assert.assertEquals(iContext.getString(org.linphone.R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived); - } - - - @LargeTest - public void testDIsNotEmptyChatHistory() { - goToChat(); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login))); - } - - @SmallTest - @MediumTest - @LargeTest - public void testEReceiveTextMessage() { - goToChat(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login)); - - LinphoneChatRoom chatRoom = LinphoneTestManager.getLc().getOrCreateChatRoom("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - LinphoneChatMessage msg = chatRoom.createLinphoneChatMessage(iContext.getString(org.linphone.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()); - } - }); - - solo.sleep(1000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_received))); - } - - @MediumTest - @LargeTest - public void testFDeleteMessage() { - goToChat(); - solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login)); - - solo.clickLongOnText(iContext.getString(org.linphone.R.string.chat_test_text_received)); - solo.clickOnText(aContext.getString(org.linphone.R.string.delete)); - - solo.sleep(1000); - Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_received))); - } - - @MediumTest - @LargeTest - public void testGChatLandscape() { - goToChat(); - - solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login)); - - solo.sleep(1000); - solo.setActivityOrientation(Solo.LANDSCAPE); - solo.sleep(1000); - - solo.enterText((EditText) solo.getView(org.linphone.R.id.message), iContext.getString(org.linphone.R.string.chat_test_text_sent)); - solo.clickOnView(solo.getView(org.linphone.R.id.send_message)); - - solo.sleep(1000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.chat_test_text_sent))); - Assert.assertEquals(iContext.getString(org.linphone.R.string.chat_test_text_sent), LinphoneTestManager.getInstance().lastMessageReceived); - - solo.clickOnView(solo.getView(org.linphone.R.id.back)); - - solo.sleep(1000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login))); - } - - @MediumTest - @LargeTest - public void testHDeleteConversation() { - goToChat(); - - /*solo.clickOnText(aContext.getString(org.linphone.R.string.button_edit)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.delete)); - solo.clickOnText(aContext.getString(org.linphone.R.string.button_ok)); - - solo.sleep(1000); - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_chat_history)));*/ - } - - private void goToChat() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.chat)); - } - -} diff --git a/src/androidTest/org/linphone/ui/tester/ConferenceAndMultiCall.java b/src/androidTest/org/linphone/ui/tester/ConferenceAndMultiCall.java deleted file mode 100644 index 69ca66664..000000000 --- a/src/androidTest/org/linphone/ui/tester/ConferenceAndMultiCall.java +++ /dev/null @@ -1,298 +0,0 @@ -package org.linphone.ui.tester; - -import java.util.ArrayList; - -import junit.framework.Assert; - -import org.linphone.CallActivity; -import org.linphone.CallIncomingActivity; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; -import org.linphone.core.LinphoneCall; -import org.linphone.core.LinphoneCoreException; -import org.linphone.mediastream.Log; - -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.View; - -public class ConferenceAndMultiCall extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testAInit() { - LinphoneTestManager.createAndStart(aContext, iContext, 2); - - solo.sleep(2000); - waitForRegistration(LinphoneTestManager.getLc(2).getProxyConfigList()[0]); - - //Disable video - goToSettings(); - - selectItemInListOnUIThread(3); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_title)); - solo.clickOnText(aContext.getString(org.linphone.R.string.pref_video_enable_title)); - solo.sleep(500); - - solo.goBack(); - solo.sleep(1000); - Assert.assertFalse(LinphoneManager.getLc().isVideoEnabled()); - } - - @SmallTest - @MediumTest - @LargeTest - public void testBSimpleConference() { - LinphoneTestManager.getInstance().declineCall = false; // Just in case - startConference(); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testCRemoveOneFromConference() { - startConference(); - - solo.clickOnView(solo.getView(org.linphone.R.id.conference_pause)); - - Assert.assertEquals(1, LinphoneTestManager.getLc(1).getCallsNb()); - Assert.assertEquals(1, LinphoneTestManager.getLc(2).getCallsNb()); - solo.sleep(1000); - Assert.assertFalse(LinphoneManager.getLc().isInConference()); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testDChangePausedCall() { - startTwoCalls(); - - solo.sleep(2000); - LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0]; - LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0]; - waitForCallState(call2,LinphoneCall.State.StreamsRunning); - waitForCallState(call1,LinphoneCall.State.PausedByRemote); - - solo.clickOnView(solo.getView(org.linphone.R.id.call_pause)); - solo.sleep(2000); - waitForCallState(call1,LinphoneCall.State.StreamsRunning); - waitForCallState(call2,LinphoneCall.State.PausedByRemote); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testEPauseAllCalls() { - startTwoCalls(); - - solo.sleep(2000); - LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0]; - LinphoneCall call2 = LinphoneTestManager.getLc(2).getCalls()[0]; - waitForCallState(call2,LinphoneCall.State.StreamsRunning); - waitForCallState(call1,LinphoneCall.State.PausedByRemote); - - solo.clickOnView(solo.getView(org.linphone.R.id.pause)); - solo.sleep(2000); - waitForCallState(call2,LinphoneCall.State.PausedByRemote); - waitForCallState(call1,LinphoneCall.State.PausedByRemote); - - // All calls are paused, one click on hang_up terminates them all - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testFAddNewCallAndCancelIt() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(1); - LinphoneTestManager.getInstance().autoAnswer = false; - - solo.clickOnView(solo.getView(org.linphone.R.id.options)); - solo.clickOnView(solo.getView(org.linphone.R.id.add_call)); - - solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.sleep(2000); - solo.clickOnView(solo.getView(org.linphone.R.id.outgoing_hang_up)); - - waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote); - solo.clickOnView(solo.getView(org.linphone.R.id.pause)); - solo.sleep(1000); - waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - LinphoneTestManager.getInstance().autoAnswer = true; - } - - @LargeTest - public void testGAddNewCallDeclined() { - LinphoneTestManager.getInstance().autoAnswer = true; // Just in case - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(1); - LinphoneTestManager.getInstance().declineCall = true; - - solo.clickOnView(solo.getView(org.linphone.R.id.options)); - solo.clickOnView(solo.getView(org.linphone.R.id.add_call)); - - solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - solo.sleep(2000); - waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote); - - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - LinphoneTestManager.getInstance().declineCall = false; - } - - @LargeTest - public void testHIncomingCallWhileInCallAndDecline() { - LinphoneTestManager.getInstance().declineCall = false; //Just in case - - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(1); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("IncomingCallActivity", 5000); - solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class); - - solo.sleep(1000); - View topLayout = solo.getView(org.linphone.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); - - assertCallIsCorrectlyRunning(1); - - solo.sleep(2000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @LargeTest - public void testIIncomingCallWhileInCallAndAccept() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - - assertCallIsCorrectlyRunning(1); - - solo.sleep(2000); - try { - LinphoneTestManager.getLc(2).invite("sip:" + iContext.getString(org.linphone.R.string.account_linphone_login) + "@" + iContext.getString(org.linphone.R.string.account_linphone_domain)); - } catch (LinphoneCoreException e) { - e.printStackTrace(); - } - - solo.waitForActivity("IncomingCallActivity", 5000); - solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class); - - solo.sleep(1000); - View topLayout = solo.getView(org.linphone.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.sleep(1000); - LinphoneCall call1 = LinphoneTestManager.getLc(1).getCalls()[0]; - waitForCallState(call1,LinphoneCall.State.PausedByRemote); - assertCallIsCorrectlyRunning(2); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - private void goToSettings() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - solo.clickOnView(solo.getView(org.linphone.R.id.side_menu_button)); - solo.clickOnText(aContext.getString(org.linphone.R.string.menu_settings)); - } - - private void startTwoCalls() { - solo.enterText(0, iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.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.add_call)); - - solo.enterText(0, iContext.getString(org.linphone.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain)); - solo.clickOnView(solo.getView(org.linphone.R.id.call)); - assertCallIsCorrectlyRunning(2); - } - - private void startConference() { - startTwoCalls(); - - solo.clickOnView(solo.getView(org.linphone.R.id.options)); - solo.clickOnView(solo.getView(org.linphone.R.id.conference)); - solo.sleep(1000); - - assertCallIsCorrectlyRunning(1); - assertCallIsCorrectlyRunning(2); - Assert.assertTrue(LinphoneManager.getLc().isInConference()); - } - - private void assertCallIsCorrectlyRunning(int lcId) { - solo.waitForActivity("CallActivity", 5000); - solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class); - - solo.sleep(2000); - Assert.assertEquals(1, LinphoneTestManager.getLc(lcId).getCallsNb()); - LinphoneCall call = LinphoneTestManager.getLc(lcId).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); - } - - waitForCallState(call, LinphoneCall.State.StreamsRunning); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/Contacts.java b/src/androidTest/org/linphone/ui/tester/Contacts.java deleted file mode 100644 index 1b08f0226..000000000 --- a/src/androidTest/org/linphone/ui/tester/Contacts.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.ContactsListFragment; -import org.linphone.LinphoneActivity; -import org.linphone.R; - -import android.test.suitebuilder.annotation.LargeTest; -import android.test.suitebuilder.annotation.MediumTest; -import android.test.suitebuilder.annotation.SmallTest; -import android.view.View; -import android.widget.ScrollView; - -/** - * @author Sylvain Berfini - */ -public class Contacts extends SampleTest { - - @MediumTest - @LargeTest - public void testAAddContactFromHistoryAndDeleteIt() { - goToHistory(); - - solo.clickOnView(solo.getView(org.linphone.R.id.detail)); - solo.clickOnView(solo.getView(org.linphone.R.id.add_contact)); - solo.clickOnView(solo.getView(org.linphone.R.id.newContact)); - - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain))); - - solo.enterText(0, iContext.getString(org.linphone.R.string.contact_name)); - solo.clickOnView(solo.getView(org.linphone.R.id.ok)); - - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - - solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name)); - solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.delete_button)); - - Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - } - - @SmallTest - @MediumTest - @LargeTest - public void testBCreateContactWithPhoneNumber() { - goToContacts(); - - solo.clickOnView(solo.getView(org.linphone.R.id.newContact)); - solo.enterText(0, iContext.getString(org.linphone.R.string.contact_name)); - solo.enterText(3, iContext.getString(org.linphone.R.string.contact_number)); - solo.clickOnView(solo.getView(org.linphone.R.id.ok)); - solo.sleep(2000); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - } - - @MediumTest - @LargeTest - public void testCTestContactFilter1() { - goToContacts(); - - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts)); - Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - } - - @MediumTest - @LargeTest - public void testDEditContactAddSipAddressAndRemoveNumber() { - goToContacts(); - solo.clickOnView(solo.getView(org.linphone.R.id.all_contacts)); - - solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name)); - solo.clickOnView(solo.getView(org.linphone.R.id.editContact)); - solo.clickOnView(solo.getView(org.linphone.R.id.delete_field)); - solo.enterText(2, iContext.getString(org.linphone.R.string.contact_sip)); - solo.clickOnView(solo.getView(org.linphone.R.id.ok)); - - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_sip))); - Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_number))); - - } - - @MediumTest - @LargeTest - public void testETestContactFilter2() { - goToContacts(); - - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - solo.clickOnView(solo.getView(org.linphone.R.id.linphone_contacts)); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - } - - @MediumTest - @LargeTest - public void testFStartChatFromContact() { - goToContacts(); - - solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name)); - solo.clickOnView(solo.getView(org.linphone.R.id.contact_chat)); - //Assert.assertTrue(solo.search(aContext.get(org.linphone.R.string.send_message))); - } - - @SmallTest - @MediumTest - @LargeTest - public void testGDeleteContact() { - goToContacts(); - - solo.clickOnText(iContext.getString(org.linphone.R.string.contact_name)); - solo.clickOnView(solo.getView(org.linphone.R.id.deleteContact)); - solo.sleep(1000); - solo.clickOnView(solo.getView(org.linphone.R.id.delete_button)); - Assert.assertFalse(solo.searchText(iContext.getString(org.linphone.R.string.contact_name))); - } - - private void goToContacts() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.contacts)); - } - - private void goToHistory() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.history)); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/History.java b/src/androidTest/org/linphone/ui/tester/History.java deleted file mode 100644 index 095d5d8d7..000000000 --- a/src/androidTest/org/linphone/ui/tester/History.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.CallActivity; -import org.linphone.LinphoneActivity; -import org.linphone.core.LinphoneCall; - -import android.test.suitebuilder.annotation.LargeTest; -import android.test.suitebuilder.annotation.MediumTest; -import android.test.suitebuilder.annotation.SmallTest; - -/** - * @author Sylvain Berfini - */ -public class History extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testACheckForTestCallInHistory() { - goToHistory(); - - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.today))); - Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.R.string.account_test_calls_login))); - } - - @MediumTest - @LargeTest - public void testBFilterMissedCalls() { - goToHistory(); - - solo.clickOnView(solo.getView(org.linphone.R.id.missed_calls)); - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_missed_call_history))); - } - - public void testCCallBackFromHistory() { - goToHistory(); - - solo.clickOnText(iContext.getString(org.linphone.R.string.account_test_calls_login)); - - solo.waitForActivity("InCallActivity", 5000); - solo.assertCurrentActivity("Expected InCall Activity", CallActivity.class); - - solo.sleep(2000); - Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb()); - waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning); - - solo.clickOnView(solo.getView(org.linphone.R.id.hang_up)); - solo.waitForActivity("LinphoneActivity", 5000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - } - - @MediumTest - @LargeTest - public void testDDeleteOne() { - goToHistory(); - - solo.clickOnView(solo.getView(org.linphone.R.id.edit)); - solo.sleep(500); - solo.clickOnCheckBox(1); - solo.clickOnView(solo.getView(org.linphone.R.id.delete)); - solo.sleep(500); - solo.clickOnView(solo.getView(org.linphone.R.id.delete_button)); - } - - @SmallTest - @MediumTest - @LargeTest - public void testEDeleteAll() { - goToHistory(); - - solo.clickOnView(solo.getView(org.linphone.R.id.edit)); - solo.clickOnView(solo.getView(org.linphone.R.id.select_all)); - solo.clickOnView(solo.getView(org.linphone.R.id.delete)); - solo.sleep(500); - solo.clickOnView(solo.getView(org.linphone.R.id.delete_button)); - - Assert.assertTrue(solo.searchText(aContext.getString(org.linphone.R.string.no_call_history))); - } - - private void goToHistory() { - solo.waitForActivity("LinphoneActivity", 2000); - solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class); - - solo.clickOnView(solo.getView(org.linphone.R.id.history)); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/LinphoneDialerTester.java b/src/androidTest/org/linphone/ui/tester/LinphoneDialerTester.java new file mode 100644 index 000000000..ffc409ea8 --- /dev/null +++ b/src/androidTest/org/linphone/ui/tester/LinphoneDialerTester.java @@ -0,0 +1,18 @@ +package org.linphone.ui.tester; + +import org.linphone.LinphoneLauncherActivity; + +/** + * Created by ecroze on 27/04/17. + */ + +public class LinphoneDialerTester { + /*@Rule + public ActivityTestRule activityTestRule = + new ActivityTestRule<>(MainActivity.class); + + @Test + public void validateEditText() { + onView(withId(R.id.etInput)).perform(typeText("Hello")).check(matches(withText("Hello"))); + }*/ +} diff --git a/src/androidTest/org/linphone/ui/tester/SampleTest.java b/src/androidTest/org/linphone/ui/tester/SampleTest.java deleted file mode 100644 index 3fc5bfefb..000000000 --- a/src/androidTest/org/linphone/ui/tester/SampleTest.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.linphone.ui.tester; - -import org.linphone.LinphoneLauncherActivity; -import org.linphone.LinphoneManager; -import org.linphone.core.LinphoneCall; -import org.linphone.core.LinphoneCall.State; -import org.linphone.core.LinphoneCore; -import org.linphone.core.LinphoneProxyConfig; -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; - -/** - * @author Sylvain Berfini - */ -public abstract class SampleTest extends ActivityInstrumentationTestCase2{ - - protected final int STRING_LENGTH_MAX = 20; - - protected Solo solo; - protected Context aContext, iContext; - - public SampleTest() { - super(LinphoneLauncherActivity.class); - } - - @Override - public void setUp() throws Exception { - solo = new Solo(getInstrumentation()); - aContext = getActivity(); - iContext = getInstrumentation().getContext(); - } - - @Override - public void tearDown() throws Exception { - LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - if (lc != null) { - lc.terminateAllCalls(); - } - solo.finishOpenedActivities(); - } - - protected void selectItemInListOnUIThread(final int item) { - solo.sleep(500); - getActivity().runOnUiThread(new Runnable() { - public void run() { - ListView list = (ListView) solo.getView(android.R.id.list); - list.setSelection(item); - } - }); - } - - protected void waitForRegistration(final LinphoneProxyConfig lpc) { - if(lpc == null) return; - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return RegistrationState.RegistrationOk == lpc.getState(); - } - }, 30000); - } - - protected void waitForCallPaused(final LinphoneCall call) { - if(call == null) return; - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return call.getState().equals(State.Paused) || call.getState().equals(State.Pausing); - } - }, 30000); - } - - protected void waitForCallResumed(final LinphoneCall call) { - if(call == null) return; - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return call.getState().equals(State.Resuming) || call.getState().equals(State.StreamsRunning); - } - }, 30000); - } - - protected void waitForCallState(final LinphoneCall call, final State state) { - if(call == null) return; - solo.waitForCondition(new Condition() { - @Override - public boolean isSatisfied() { - return state.equals(call.getState()); - } - }, 30000); - } -} \ No newline at end of file diff --git a/src/androidTest/org/linphone/ui/tester/Transfer.java b/src/androidTest/org/linphone/ui/tester/Transfer.java deleted file mode 100644 index 9bdfa625a..000000000 --- a/src/androidTest/org/linphone/ui/tester/Transfer.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.linphone.ui.tester; - -import junit.framework.Assert; - -import org.linphone.CallActivity; -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.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.R.string.account_test_calls_domain)); - solo.sleep(1000); - 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.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.R.string.conference_account_domain)); - solo.sleep(1000); - 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", CallActivity.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); - } - - waitForCallState(call,LinphoneCall.State.StreamsRunning); - } -} diff --git a/src/androidTest/org/linphone/ui/tester/ZShutdownTestEnv.java b/src/androidTest/org/linphone/ui/tester/ZShutdownTestEnv.java deleted file mode 100644 index f7044496b..000000000 --- a/src/androidTest/org/linphone/ui/tester/ZShutdownTestEnv.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.linphone.ui.tester; - -import static android.content.Intent.ACTION_MAIN; - -import org.linphone.LinphoneService; - -import android.content.Intent; -import android.test.suitebuilder.annotation.LargeTest; -import android.test.suitebuilder.annotation.MediumTest; -import android.test.suitebuilder.annotation.SmallTest; - -/** - * @author Sylvain Berfini - */ -public class ZShutdownTestEnv extends SampleTest { - - @SmallTest - @MediumTest - @LargeTest - public void testZShutDownLinphoneCore() { - LinphoneTestManager.destroy(); - aContext.stopService(new Intent(ACTION_MAIN).setClass(aContext, LinphoneService.class)); - } - -}