Loading tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +0 −12 Original line number Diff line number Diff line Loading @@ -776,18 +776,6 @@ public abstract class TelephonyTest { assertTrue("Handler was not empty before timeout elapsed", timeoutCount < 5); } protected final void waitForHandlerActionDelayed(Handler h, long timeoutMillis, long delayMs) { final CountDownLatch lock = new CountDownLatch(1); h.postDelayed(lock::countDown, delayMs); while (lock.getCount() > 0) { try { lock.await(timeoutMillis, TimeUnit.MILLISECONDS); } catch (InterruptedException e) { // do nothing } } } protected final EmergencyNumber getTestEmergencyNumber() { return SAMPLE_EMERGENCY_NUMBER; } Loading tests/telephonytests/src/com/android/internal/telephony/dataconnection/TelephonyNetworkFactoryTest.java +33 −40 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.telephony.dataconnection; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; Loading @@ -35,13 +33,14 @@ import android.net.StringNetworkSpecifier; import android.os.AsyncResult; import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Messenger; import android.telephony.AccessNetworkConstants; import android.telephony.Rlog; import android.telephony.data.ApnSetting; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import androidx.test.filters.FlakyTest; Loading @@ -60,11 +59,14 @@ import com.android.internal.telephony.mocks.TelephonyRegistryMock; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import java.lang.reflect.Field; import java.util.ArrayList; @RunWith(AndroidTestingRunner.class) @TestableLooper.RunWithLooper public class TelephonyNetworkFactoryTest extends TelephonyTest { private final static String LOG_TAG = "TelephonyNetworkFactoryTest"; Loading @@ -79,9 +81,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { private PhoneSwitcherMock mPhoneSwitcherMock; private SubscriptionControllerMock mSubscriptionControllerMock; private SubscriptionMonitorMock mSubscriptionMonitorMock; private HandlerThread mHandlerThread; private ConnectivityServiceMock mConnectivityServiceMock; private Looper mLooper; private final ArrayList<NetworkRequest> mNetworkRequestList = new ArrayList<>(); private TelephonyNetworkFactory mTelephonyNetworkFactoryUT; Loading Loading @@ -112,10 +112,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { super.setUp(getClass().getSimpleName()); replaceInstance(RadioConfig.class, "sRadioConfig", null, mMockRadioConfig); mHandlerThread = new HandlerThread("TelephonyNetworkFactoryTest"); mHandlerThread.start(); mLooper = mHandlerThread.getLooper(); mContextFixture.putStringArrayResource(com.android.internal.R.array.networkAttributes, new String[]{"wifi,1,1,1,-1,true", "mobile,0,0,0,-1,true", "mobile_mms,2,0,2,60000,true", "mobile_supl,3,0,2,60000,true", Loading Loading @@ -151,8 +147,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { @After public void tearDown() throws Exception { mConnectivityServiceMock.die(); mLooper.quit(); mHandlerThread.quit(); super.tearDown(); } Loading @@ -165,15 +159,17 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mTelephonyRegistryMock, numberOfPhones); mSubscriptionMonitorMock = new SubscriptionMonitorMock(numberOfPhones); mPhoneSwitcherMock = new PhoneSwitcherMock( numberOfPhones, mLooper, mSubscriptionControllerMock); numberOfPhones, Looper.myLooper(), mSubscriptionControllerMock); mSubscriptionMonitorMock = new SubscriptionMonitorMock(numberOfPhones); replaceInstance(SubscriptionController.class, "sInstance", null, mSubscriptionControllerMock); replaceInstance(PhoneSwitcher.class, "sPhoneSwitcher", null, mPhoneSwitcherMock); mTelephonyNetworkFactoryUT = new TelephonyNetworkFactory(mSubscriptionMonitorMock, mLooper, mPhone); mTelephonyNetworkFactoryUT = new TelephonyNetworkFactory(mSubscriptionMonitorMock, Looper.myLooper(), mPhone); monitorTestableLooper(new TestableLooper( mConnectivityServiceMock.getHandlerThread().getLooper())); } /** Loading @@ -197,52 +193,52 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { log("addDefaultRequest"); mConnectivityServiceMock.addDefaultRequest(); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); log("makeSubSpecificInternetRequest: subId = " + subId); NetworkRequest subSpecificDefault = makeSubSpecificInternetRequest(subId); waitForMs(250); processAllMessages(); assertEquals(2, mNetworkRequestList.size()); log("setPhoneActive false: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, false); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("makeSubSpecificInternetRequest: subId = " + subId); NetworkRequest subSpecificMms = makeSubSpecificMmsRequest(subId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(3, mNetworkRequestList.size()); log("releaseNetworkRequest: subSpecificDefault = " + subSpecificDefault); mConnectivityServiceMock.releaseNetworkRequest(subSpecificDefault); waitForMs(250); processAllMessages(); assertEquals(2, mNetworkRequestList.size()); log("setPhoneActive false: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, false); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("releaseNetworkRequest: subSpecificMms = " + subSpecificMms); mConnectivityServiceMock.releaseNetworkRequest(subSpecificMms); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); } Loading @@ -266,50 +262,48 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mSubscriptionControllerMock.setDefaultDataSubId(subId); mSubscriptionControllerMock.setSlotSubId(phoneId, subId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mConnectivityServiceMock.addDefaultRequest(); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(altPhoneId, altSubId); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mPhoneSwitcherMock.setPreferredDataPhoneId(altPhoneId); mSubscriptionControllerMock.setDefaultDataSubId(altSubId); mPhoneSwitcherMock.notifyActivePhoneChange(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); makeSubSpecificMmsRequest(subId); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(phoneId, unusedSubId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); makeSubSpecificInternetRequest(subId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(phoneId, subId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); mSubscriptionControllerMock.setDefaultDataSubId(subId); mPhoneSwitcherMock.setPreferredDataPhoneId(phoneId); mPhoneSwitcherMock.notifyActivePhoneChange(phoneId); waitForMs(250); processAllMessages(); assertEquals(3, mNetworkRequestList.size()); } Loading @@ -329,8 +323,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mConnectivityServiceMock.addDefaultRequest(); makeSubSpecificMmsRequest(0); waitForMs(100); processAllMessages(); Field f = TelephonyNetworkFactory.class.getDeclaredField("mInternalHandler"); f.setAccessible(true); Loading @@ -342,7 +335,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { AccessNetworkConstants.TRANSPORT_TYPE_WLAN, handoverCallback); AsyncResult ar = new AsyncResult(null, hp, null); h.sendMessage(h.obtainMessage(5, ar)); waitForMs(100); processAllMessages(); doReturn(AccessNetworkConstants.TRANSPORT_TYPE_WLAN).when(mTransportManager) .getCurrentTransport(anyInt()); Loading @@ -351,6 +344,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { handoverCallback); ar = new AsyncResult(null, hp, null); h.sendMessage(h.obtainMessage(5, ar)); waitForMs(100); processAllMessages(); } } tests/telephonytests/src/com/android/internal/telephony/imsphone/ImsRttTextHandlerTest.java +9 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.telephony.imsphone; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import android.os.HandlerThread; import android.os.ParcelFileDescriptor; import android.telecom.Connection; Loading Loading @@ -114,8 +116,8 @@ public class ImsRttTextHandlerTest extends TelephonyTest { // make sure at it hasn't been sent. Assert.assertEquals("", mNetworkWriter.getContents()); // Wait for 300ms waitForHandlerActionDelayed(mRttTextHandler, TEST_TIMEOUT, ImsRttTextHandler.MAX_BUFFERING_DELAY_MILLIS + 100); waitForMs(ImsRttTextHandler.MAX_BUFFERING_DELAY_MILLIS + 100); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); // make sure that it has been sent and check that it's correct Assert.assertEquals("abcd", mNetworkWriter.getContents()); } Loading @@ -141,7 +143,7 @@ public class ImsRttTextHandlerTest extends TelephonyTest { Assert.assertEquals("", mNetworkWriter.getContents()); // Send the second part Thread.sleep(10); waitForMs(10); // Register a read notifier readNotifier = new CountDownLatch(1); mRttTextHandler.setReadNotifier(readNotifier); Loading Loading @@ -176,7 +178,7 @@ public class ImsRttTextHandlerTest extends TelephonyTest { for (char c : characters) { mPipeToHandler.write(String.valueOf(c)); mPipeToHandler.flush(); Thread.sleep(10); waitForMs(10); } waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); Loading @@ -194,19 +196,19 @@ public class ImsRttTextHandlerTest extends TelephonyTest { String toSend = new String(characters, i, Math.min(3, characters.length - i)); mPipeToHandler.write(toSend); mPipeToHandler.flush(); Thread.sleep(10); waitForMs(10); } waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); // Wait one second and see how many characters are sent in that time. int numCharsSoFar = mNetworkWriter.getContents().length(); Thread.sleep(1000); waitForMs(1000); int numCharsInOneSec = mNetworkWriter.getContents().length() - numCharsSoFar; Assert.assertTrue(numCharsInOneSec <= ImsRttTextHandler.MAX_CODEPOINTS_PER_SECOND); // Wait 5 seconds for all the chars to make it through Thread.sleep(5000); waitForMs(5000); Assert.assertEquals(LONG_TEXT, mNetworkWriter.getContents()); } Loading tests/telephonytests/src/com/android/internal/telephony/mocks/ConnectivityServiceMock.java +4 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,10 @@ public class ConnectivityServiceMock { } } public HandlerThread getHandlerThread() { return mHandlerThread; } private class InternalHandler extends Handler { public InternalHandler(Looper looper) { super(looper); Loading Loading
tests/telephonytests/src/com/android/internal/telephony/TelephonyTest.java +0 −12 Original line number Diff line number Diff line Loading @@ -776,18 +776,6 @@ public abstract class TelephonyTest { assertTrue("Handler was not empty before timeout elapsed", timeoutCount < 5); } protected final void waitForHandlerActionDelayed(Handler h, long timeoutMillis, long delayMs) { final CountDownLatch lock = new CountDownLatch(1); h.postDelayed(lock::countDown, delayMs); while (lock.getCount() > 0) { try { lock.await(timeoutMillis, TimeUnit.MILLISECONDS); } catch (InterruptedException e) { // do nothing } } } protected final EmergencyNumber getTestEmergencyNumber() { return SAMPLE_EMERGENCY_NUMBER; } Loading
tests/telephonytests/src/com/android/internal/telephony/dataconnection/TelephonyNetworkFactoryTest.java +33 −40 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.telephony.dataconnection; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; Loading @@ -35,13 +33,14 @@ import android.net.StringNetworkSpecifier; import android.os.AsyncResult; import android.os.Binder; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; import android.os.Messenger; import android.telephony.AccessNetworkConstants; import android.telephony.Rlog; import android.telephony.data.ApnSetting; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import androidx.test.filters.FlakyTest; Loading @@ -60,11 +59,14 @@ import com.android.internal.telephony.mocks.TelephonyRegistryMock; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import java.lang.reflect.Field; import java.util.ArrayList; @RunWith(AndroidTestingRunner.class) @TestableLooper.RunWithLooper public class TelephonyNetworkFactoryTest extends TelephonyTest { private final static String LOG_TAG = "TelephonyNetworkFactoryTest"; Loading @@ -79,9 +81,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { private PhoneSwitcherMock mPhoneSwitcherMock; private SubscriptionControllerMock mSubscriptionControllerMock; private SubscriptionMonitorMock mSubscriptionMonitorMock; private HandlerThread mHandlerThread; private ConnectivityServiceMock mConnectivityServiceMock; private Looper mLooper; private final ArrayList<NetworkRequest> mNetworkRequestList = new ArrayList<>(); private TelephonyNetworkFactory mTelephonyNetworkFactoryUT; Loading Loading @@ -112,10 +112,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { super.setUp(getClass().getSimpleName()); replaceInstance(RadioConfig.class, "sRadioConfig", null, mMockRadioConfig); mHandlerThread = new HandlerThread("TelephonyNetworkFactoryTest"); mHandlerThread.start(); mLooper = mHandlerThread.getLooper(); mContextFixture.putStringArrayResource(com.android.internal.R.array.networkAttributes, new String[]{"wifi,1,1,1,-1,true", "mobile,0,0,0,-1,true", "mobile_mms,2,0,2,60000,true", "mobile_supl,3,0,2,60000,true", Loading Loading @@ -151,8 +147,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { @After public void tearDown() throws Exception { mConnectivityServiceMock.die(); mLooper.quit(); mHandlerThread.quit(); super.tearDown(); } Loading @@ -165,15 +159,17 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mTelephonyRegistryMock, numberOfPhones); mSubscriptionMonitorMock = new SubscriptionMonitorMock(numberOfPhones); mPhoneSwitcherMock = new PhoneSwitcherMock( numberOfPhones, mLooper, mSubscriptionControllerMock); numberOfPhones, Looper.myLooper(), mSubscriptionControllerMock); mSubscriptionMonitorMock = new SubscriptionMonitorMock(numberOfPhones); replaceInstance(SubscriptionController.class, "sInstance", null, mSubscriptionControllerMock); replaceInstance(PhoneSwitcher.class, "sPhoneSwitcher", null, mPhoneSwitcherMock); mTelephonyNetworkFactoryUT = new TelephonyNetworkFactory(mSubscriptionMonitorMock, mLooper, mPhone); mTelephonyNetworkFactoryUT = new TelephonyNetworkFactory(mSubscriptionMonitorMock, Looper.myLooper(), mPhone); monitorTestableLooper(new TestableLooper( mConnectivityServiceMock.getHandlerThread().getLooper())); } /** Loading @@ -197,52 +193,52 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { log("addDefaultRequest"); mConnectivityServiceMock.addDefaultRequest(); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); log("makeSubSpecificInternetRequest: subId = " + subId); NetworkRequest subSpecificDefault = makeSubSpecificInternetRequest(subId); waitForMs(250); processAllMessages(); assertEquals(2, mNetworkRequestList.size()); log("setPhoneActive false: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, false); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("makeSubSpecificInternetRequest: subId = " + subId); NetworkRequest subSpecificMms = makeSubSpecificMmsRequest(subId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(3, mNetworkRequestList.size()); log("releaseNetworkRequest: subSpecificDefault = " + subSpecificDefault); mConnectivityServiceMock.releaseNetworkRequest(subSpecificDefault); waitForMs(250); processAllMessages(); assertEquals(2, mNetworkRequestList.size()); log("setPhoneActive false: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, false); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("releaseNetworkRequest: subSpecificMms = " + subSpecificMms); mConnectivityServiceMock.releaseNetworkRequest(subSpecificMms); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); log("setPhoneActive true: phoneId = " + phoneId); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); } Loading @@ -266,50 +262,48 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mSubscriptionControllerMock.setDefaultDataSubId(subId); mSubscriptionControllerMock.setSlotSubId(phoneId, subId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mPhoneSwitcherMock.setPhoneActive(phoneId, true); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mConnectivityServiceMock.addDefaultRequest(); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(altPhoneId, altSubId); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mPhoneSwitcherMock.setPreferredDataPhoneId(altPhoneId); mSubscriptionControllerMock.setDefaultDataSubId(altSubId); mPhoneSwitcherMock.notifyActivePhoneChange(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); makeSubSpecificMmsRequest(subId); waitForMs(250); processAllMessages(); assertEquals(1, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(phoneId, unusedSubId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); makeSubSpecificInternetRequest(subId); waitForMs(250); processAllMessages(); assertEquals(0, mNetworkRequestList.size()); mSubscriptionControllerMock.setSlotSubId(phoneId, subId); mSubscriptionMonitorMock.notifySubscriptionChanged(phoneId); waitForMs(250); processAllMessages(); mSubscriptionControllerMock.setDefaultDataSubId(subId); mPhoneSwitcherMock.setPreferredDataPhoneId(phoneId); mPhoneSwitcherMock.notifyActivePhoneChange(phoneId); waitForMs(250); processAllMessages(); assertEquals(3, mNetworkRequestList.size()); } Loading @@ -329,8 +323,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { mConnectivityServiceMock.addDefaultRequest(); makeSubSpecificMmsRequest(0); waitForMs(100); processAllMessages(); Field f = TelephonyNetworkFactory.class.getDeclaredField("mInternalHandler"); f.setAccessible(true); Loading @@ -342,7 +335,7 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { AccessNetworkConstants.TRANSPORT_TYPE_WLAN, handoverCallback); AsyncResult ar = new AsyncResult(null, hp, null); h.sendMessage(h.obtainMessage(5, ar)); waitForMs(100); processAllMessages(); doReturn(AccessNetworkConstants.TRANSPORT_TYPE_WLAN).when(mTransportManager) .getCurrentTransport(anyInt()); Loading @@ -351,6 +344,6 @@ public class TelephonyNetworkFactoryTest extends TelephonyTest { handoverCallback); ar = new AsyncResult(null, hp, null); h.sendMessage(h.obtainMessage(5, ar)); waitForMs(100); processAllMessages(); } }
tests/telephonytests/src/com/android/internal/telephony/imsphone/ImsRttTextHandlerTest.java +9 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.internal.telephony.imsphone; import static com.android.internal.telephony.TelephonyTestUtils.waitForMs; import android.os.HandlerThread; import android.os.ParcelFileDescriptor; import android.telecom.Connection; Loading Loading @@ -114,8 +116,8 @@ public class ImsRttTextHandlerTest extends TelephonyTest { // make sure at it hasn't been sent. Assert.assertEquals("", mNetworkWriter.getContents()); // Wait for 300ms waitForHandlerActionDelayed(mRttTextHandler, TEST_TIMEOUT, ImsRttTextHandler.MAX_BUFFERING_DELAY_MILLIS + 100); waitForMs(ImsRttTextHandler.MAX_BUFFERING_DELAY_MILLIS + 100); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); // make sure that it has been sent and check that it's correct Assert.assertEquals("abcd", mNetworkWriter.getContents()); } Loading @@ -141,7 +143,7 @@ public class ImsRttTextHandlerTest extends TelephonyTest { Assert.assertEquals("", mNetworkWriter.getContents()); // Send the second part Thread.sleep(10); waitForMs(10); // Register a read notifier readNotifier = new CountDownLatch(1); mRttTextHandler.setReadNotifier(readNotifier); Loading Loading @@ -176,7 +178,7 @@ public class ImsRttTextHandlerTest extends TelephonyTest { for (char c : characters) { mPipeToHandler.write(String.valueOf(c)); mPipeToHandler.flush(); Thread.sleep(10); waitForMs(10); } waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); Loading @@ -194,19 +196,19 @@ public class ImsRttTextHandlerTest extends TelephonyTest { String toSend = new String(characters, i, Math.min(3, characters.length - i)); mPipeToHandler.write(toSend); mPipeToHandler.flush(); Thread.sleep(10); waitForMs(10); } waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); waitForHandlerAction(mRttTextHandler, TEST_TIMEOUT); // Wait one second and see how many characters are sent in that time. int numCharsSoFar = mNetworkWriter.getContents().length(); Thread.sleep(1000); waitForMs(1000); int numCharsInOneSec = mNetworkWriter.getContents().length() - numCharsSoFar; Assert.assertTrue(numCharsInOneSec <= ImsRttTextHandler.MAX_CODEPOINTS_PER_SECOND); // Wait 5 seconds for all the chars to make it through Thread.sleep(5000); waitForMs(5000); Assert.assertEquals(LONG_TEXT, mNetworkWriter.getContents()); } Loading
tests/telephonytests/src/com/android/internal/telephony/mocks/ConnectivityServiceMock.java +4 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,10 @@ public class ConnectivityServiceMock { } } public HandlerThread getHandlerThread() { return mHandlerThread; } private class InternalHandler extends Handler { public InternalHandler(Looper looper) { super(looper); Loading