Fix others tests
This commit is contained in:
parent
2b2ed36d38
commit
67d5a2a4de
4 changed files with 33 additions and 33 deletions
|
@ -47,7 +47,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
LinphoneTestManager.getInstance().declineCall = false; // Just in case
|
||||||
startConference();
|
startConference();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -56,16 +56,16 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
public void testCRemoveOneFromConference() {
|
public void testCRemoveOneFromConference() {
|
||||||
startConference();
|
startConference();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.callStatus));
|
solo.clickOnView(solo.getView(org.linphone.R.id.conferenceStatus));
|
||||||
|
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc(1).getCallsNb());
|
Assert.assertEquals(1, LinphoneTestManager.getLc(1).getCallsNb());
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc(2).getCallsNb());
|
Assert.assertEquals(1, LinphoneTestManager.getLc(2).getCallsNb());
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
Assert.assertFalse(LinphoneManager.getLc().isInConference());
|
Assert.assertFalse(LinphoneManager.getLc().isInConference());
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -80,14 +80,14 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
waitForCallState(call2,LinphoneCall.State.StreamsRunning);
|
waitForCallState(call2,LinphoneCall.State.StreamsRunning);
|
||||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.callStatus));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call_pause));
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(call1,LinphoneCall.State.StreamsRunning);
|
waitForCallState(call1,LinphoneCall.State.StreamsRunning);
|
||||||
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -108,8 +108,8 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call2,LinphoneCall.State.PausedByRemote);
|
||||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
// All calls are paused, one click on hangUp terminates them all
|
// All calls are paused, one click on hang_up terminates them all
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -117,19 +117,19 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testFAddNewCallAndCancelIt() {
|
public void testFAddNewCallAndCancelIt() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
LinphoneTestManager.getInstance().autoAnswer = false;
|
LinphoneTestManager.getInstance().autoAnswer = false;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.addCall));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
|
|
||||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
solo.clickOnView(solo.getView(org.linphone.R.id.pause));
|
||||||
|
@ -137,7 +137,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning);
|
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
|
@ -149,22 +149,22 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
LinphoneTestManager.getInstance().autoAnswer = true; // Just in case
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
LinphoneTestManager.getInstance().declineCall = true;
|
LinphoneTestManager.getInstance().declineCall = true;
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.addCall));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
waitForCallState(LinphoneTestManager.getLc(1).getCalls()[0],LinphoneCall.State.PausedByRemote);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
LinphoneTestManager.getInstance().declineCall = false; //Just in case
|
LinphoneTestManager.getInstance().declineCall = false; //Just in case
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
||||||
|
@ -202,7 +202,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -210,7 +210,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testIIncomingCallWhileInCallAndAccept() {
|
public void testIIncomingCallWhileInCallAndAccept() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
solo.waitForActivity("IncomingCallActivity", 5000);
|
solo.waitForActivity("IncomingCallActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Incoming Call Activity", CallIncomingActivity.class);
|
solo.assertCurrentActivity("Expected Incoming call Activity", CallIncomingActivity.class);
|
||||||
|
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
View topLayout = solo.getView(org.linphone.R.id.topLayout);
|
||||||
|
@ -238,9 +238,9 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
waitForCallState(call1,LinphoneCall.State.PausedByRemote);
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
@ -254,14 +254,14 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
|
|
||||||
private void startTwoCalls() {
|
private void startTwoCalls() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
assertCallIsCorrectlyRunning(1);
|
assertCallIsCorrectlyRunning(1);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
solo.clickOnView(solo.getView(org.linphone.R.id.options));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.addCall));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_call));
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
assertCallIsCorrectlyRunning(2);
|
assertCallIsCorrectlyRunning(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ public class ConferenceAndMultiCall extends SampleTest {
|
||||||
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
while ((call.getState() == LinphoneCall.State.OutgoingProgress || call.getState() == LinphoneCall.State.IncomingReceived) && retry < 5) {
|
||||||
solo.sleep(1000);
|
solo.sleep(1000);
|
||||||
retry++;
|
retry++;
|
||||||
Log.w("Call in progress but not running, retry = " + retry);
|
Log.w("call in progress but not running, retry = " + retry);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
waitForCallState(call, LinphoneCall.State.StreamsRunning);
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class Contacts extends SampleTest {
|
||||||
goToHistory();
|
goToHistory();
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.detail));
|
solo.clickOnView(solo.getView(org.linphone.R.id.detail));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.contact_add));
|
solo.clickOnView(solo.getView(org.linphone.R.id.add_contact));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
solo.clickOnView(solo.getView(org.linphone.R.id.newContact));
|
||||||
|
|
||||||
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain)));
|
Assert.assertTrue(solo.searchText(iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain)));
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class History extends SampleTest {
|
||||||
Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb());
|
Assert.assertEquals(1, LinphoneTestManager.getLc().getCallsNb());
|
||||||
waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning);
|
waitForCallState(LinphoneTestManager.getLc().getCalls()[0],LinphoneCall.State.StreamsRunning);
|
||||||
|
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.hangUp));
|
solo.clickOnView(solo.getView(org.linphone.R.id.hang_up));
|
||||||
solo.waitForActivity("LinphoneActivity", 5000);
|
solo.waitForActivity("LinphoneActivity", 5000);
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ public class Transfer extends SampleTest {
|
||||||
@LargeTest
|
@LargeTest
|
||||||
public void testACallTransfer() {
|
public void testACallTransfer() {
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.account_test_calls_login) + "@" + iContext.getString(org.linphone.test.R.string.account_test_calls_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call));
|
solo.clickOnView(solo.getView(org.linphone.R.id.call));
|
||||||
|
|
||||||
assertCallIsCorrectlyRunning();
|
assertCallIsCorrectlyRunning();
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ public class Transfer extends SampleTest {
|
||||||
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
solo.assertCurrentActivity("Expected Linphone Activity", LinphoneActivity.class);
|
||||||
|
|
||||||
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
solo.enterText(0, iContext.getString(org.linphone.test.R.string.conference_account_login) + "@" + iContext.getString(org.linphone.test.R.string.conference_account_domain));
|
||||||
solo.clickOnView(solo.getView(org.linphone.R.id.Call)); // Transfer button as the same id, only the image changes
|
solo.clickOnView(solo.getView(org.linphone.R.id.call)); // Transfer button as the same id, only the image changes
|
||||||
|
|
||||||
solo.sleep(2000);
|
solo.sleep(2000);
|
||||||
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() > 0);
|
Assert.assertTrue(LinphoneTestManager.getLc(1).getCallsNb() > 0);
|
||||||
|
|
Loading…
Reference in a new issue