Loading tests/telephonytests/src/com/android/internal/telephony/DisplayInfoControllerTest.java +27 −53 Original line number Diff line number Diff line Loading @@ -25,10 +25,10 @@ import static org.mockito.Mockito.eq; import static org.mockito.Mockito.verify; import android.os.AsyncResult; import android.os.HandlerThread; import android.os.PersistableBundle; import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager.CarrierConfigChangeListener; import android.telephony.CellIdentity; import android.telephony.CellIdentityCdma; import android.telephony.CellIdentityLte; Loading @@ -42,14 +42,11 @@ import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.text.TextUtils; import com.android.internal.telephony.flags.FeatureFlags; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import java.util.Collections; import java.util.concurrent.Executor; Loading @@ -64,21 +61,20 @@ public class DisplayInfoControllerTest extends TelephonyTest { private static final String NETWORK = "TestNet"; // Mocked classes private FeatureFlags mFeatureFlags; private DisplayInfoController mDic; private ServiceStateTracker mSst; private ServiceStateTrackerTestHandler mSstHandler; private PersistableBundle mBundle; private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener; private CarrierConfigChangeListener mCarrierConfigChangeListener; private class ServiceStateTrackerTestHandler extends HandlerThread { private ServiceStateTrackerTestHandler(String name) { super(name); } @Before public void setUp() throws Exception { logd("DisplayInfoControllerTest setup!"); super.setUp(getClass().getSimpleName()); doReturn((Executor) Runnable::run).when(mContext).getMainExecutor(); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true); @Override public void onLooperPrepared() { SignalStrengthController ssc = new SignalStrengthController(mPhone); doReturn(ssc).when(mPhone).getSignalStrengthController(); doReturn(new ServiceState()).when(mPhone).getServiceState(); Loading @@ -88,42 +84,20 @@ public class DisplayInfoControllerTest extends TelephonyTest { // Capture listener registered for ServiceStateTracker to emulate the carrier config // change notification used later. In this test, it's the second one. The first one // comes from RatRatcheter. ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> ArgumentCaptor<CarrierConfigChangeListener> listenerArgumentCaptor = ArgumentCaptor.forClass( CarrierConfigManager.CarrierConfigChangeListener.class); CarrierConfigChangeListener.class); mSst = new ServiceStateTracker(mPhone, mSimulatedCommands, mFeatureFlags); verify(mCarrierConfigManager, atLeast(2)).registerCarrierConfigChangeListener(any(), listenerArgumentCaptor.capture()); mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(1); doReturn(mSst).when(mPhone).getServiceStateTracker(); setReady(true); } } @Before public void setUp() throws Exception { logd("DisplayInfoControllerTest setup!"); super.setUp(getClass().getSimpleName()); mFeatureFlags = Mockito.mock(FeatureFlags.class); doReturn((Executor) Runnable::run).when(mContext).getMainExecutor(); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true); mSstHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName()); mSstHandler.start(); waitUntilReady(); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } @After public void tearDown() throws Exception { mSst.removeCallbacksAndMessages(null); mSst = null; mSstHandler.quit(); mSstHandler.join(); mSstHandler = null; mBundle = null; mCarrierConfigChangeListener = null; super.tearDown(); } Loading @@ -131,7 +105,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { mCarrierConfigChangeListener.onCarrierConfigChanged(PHONE_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID, TelephonyManager.UNKNOWN_CARRIER_ID, TelephonyManager.UNKNOWN_CARRIER_ID); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } private static String getPlmnFromCellIdentity(final CellIdentity ci) { Loading @@ -155,7 +129,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { new LteVopsSupportInfo( LteVopsSupportInfo.LTE_STATUS_SUPPORTED, LteVopsSupportInfo.LTE_STATUS_SUPPORTED); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); NetworkRegistrationInfo dataResult = new NetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, state, dataRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), 1, false, false, Loading @@ -166,13 +140,13 @@ public class DisplayInfoControllerTest extends TelephonyTest { mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_OPERATOR, new AsyncResult(mSst.mPollingContext, oldOpNamesResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); // update data reg state to be in service mSst.sendMessage( mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_PS_CELLULAR_REGISTRATION, new AsyncResult(mSst.mPollingContext, dataResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); NetworkRegistrationInfo voiceResult = new NetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, state, voiceRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), false, 0, 0, 0); Loading @@ -180,7 +154,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_CS_CELLULAR_REGISTRATION, new AsyncResult(mSst.mPollingContext, voiceResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } @Test Loading Loading
tests/telephonytests/src/com/android/internal/telephony/DisplayInfoControllerTest.java +27 −53 Original line number Diff line number Diff line Loading @@ -25,10 +25,10 @@ import static org.mockito.Mockito.eq; import static org.mockito.Mockito.verify; import android.os.AsyncResult; import android.os.HandlerThread; import android.os.PersistableBundle; import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.CarrierConfigManager.CarrierConfigChangeListener; import android.telephony.CellIdentity; import android.telephony.CellIdentityCdma; import android.telephony.CellIdentityLte; Loading @@ -42,14 +42,11 @@ import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.text.TextUtils; import com.android.internal.telephony.flags.FeatureFlags; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mockito; import java.util.Collections; import java.util.concurrent.Executor; Loading @@ -64,21 +61,20 @@ public class DisplayInfoControllerTest extends TelephonyTest { private static final String NETWORK = "TestNet"; // Mocked classes private FeatureFlags mFeatureFlags; private DisplayInfoController mDic; private ServiceStateTracker mSst; private ServiceStateTrackerTestHandler mSstHandler; private PersistableBundle mBundle; private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener; private CarrierConfigChangeListener mCarrierConfigChangeListener; private class ServiceStateTrackerTestHandler extends HandlerThread { private ServiceStateTrackerTestHandler(String name) { super(name); } @Before public void setUp() throws Exception { logd("DisplayInfoControllerTest setup!"); super.setUp(getClass().getSimpleName()); doReturn((Executor) Runnable::run).when(mContext).getMainExecutor(); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true); @Override public void onLooperPrepared() { SignalStrengthController ssc = new SignalStrengthController(mPhone); doReturn(ssc).when(mPhone).getSignalStrengthController(); doReturn(new ServiceState()).when(mPhone).getServiceState(); Loading @@ -88,42 +84,20 @@ public class DisplayInfoControllerTest extends TelephonyTest { // Capture listener registered for ServiceStateTracker to emulate the carrier config // change notification used later. In this test, it's the second one. The first one // comes from RatRatcheter. ArgumentCaptor<CarrierConfigManager.CarrierConfigChangeListener> ArgumentCaptor<CarrierConfigChangeListener> listenerArgumentCaptor = ArgumentCaptor.forClass( CarrierConfigManager.CarrierConfigChangeListener.class); CarrierConfigChangeListener.class); mSst = new ServiceStateTracker(mPhone, mSimulatedCommands, mFeatureFlags); verify(mCarrierConfigManager, atLeast(2)).registerCarrierConfigChangeListener(any(), listenerArgumentCaptor.capture()); mCarrierConfigChangeListener = listenerArgumentCaptor.getAllValues().get(1); doReturn(mSst).when(mPhone).getServiceStateTracker(); setReady(true); } } @Before public void setUp() throws Exception { logd("DisplayInfoControllerTest setup!"); super.setUp(getClass().getSimpleName()); mFeatureFlags = Mockito.mock(FeatureFlags.class); doReturn((Executor) Runnable::run).when(mContext).getMainExecutor(); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putBoolean(CarrierConfigManager.KEY_SHOW_ROAMING_INDICATOR_BOOL, true); mSstHandler = new ServiceStateTrackerTestHandler(getClass().getSimpleName()); mSstHandler.start(); waitUntilReady(); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } @After public void tearDown() throws Exception { mSst.removeCallbacksAndMessages(null); mSst = null; mSstHandler.quit(); mSstHandler.join(); mSstHandler = null; mBundle = null; mCarrierConfigChangeListener = null; super.tearDown(); } Loading @@ -131,7 +105,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { mCarrierConfigChangeListener.onCarrierConfigChanged(PHONE_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID, TelephonyManager.UNKNOWN_CARRIER_ID, TelephonyManager.UNKNOWN_CARRIER_ID); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } private static String getPlmnFromCellIdentity(final CellIdentity ci) { Loading @@ -155,7 +129,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { new LteVopsSupportInfo( LteVopsSupportInfo.LTE_STATUS_SUPPORTED, LteVopsSupportInfo.LTE_STATUS_SUPPORTED); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); NetworkRegistrationInfo dataResult = new NetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, state, dataRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), 1, false, false, Loading @@ -166,13 +140,13 @@ public class DisplayInfoControllerTest extends TelephonyTest { mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_OPERATOR, new AsyncResult(mSst.mPollingContext, oldOpNamesResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); // update data reg state to be in service mSst.sendMessage( mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_PS_CELLULAR_REGISTRATION, new AsyncResult(mSst.mPollingContext, dataResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); NetworkRegistrationInfo voiceResult = new NetworkRegistrationInfo( NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN, state, voiceRat, 0, false, null, cid, getPlmnFromCellIdentity(cid), false, 0, 0, 0); Loading @@ -180,7 +154,7 @@ public class DisplayInfoControllerTest extends TelephonyTest { mSst.obtainMessage( ServiceStateTracker.EVENT_POLL_STATE_CS_CELLULAR_REGISTRATION, new AsyncResult(mSst.mPollingContext, voiceResult, null))); waitForLastHandlerAction(mSstHandler.getThreadHandler()); processAllMessages(); } @Test Loading