Loading src/java/com/android/internal/telephony/Phone.java +2 −5 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,6 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.SystemProperties; import android.os.WorkSource; import android.os.WorkSource; import android.preference.PreferenceManager; import android.preference.PreferenceManager; import android.provider.DeviceConfig; import android.sysprop.TelephonyProperties; import android.sysprop.TelephonyProperties; import android.telecom.VideoProfile; import android.telecom.VideoProfile; import android.telephony.AccessNetworkConstants; import android.telephony.AccessNetworkConstants; Loading Loading @@ -614,10 +613,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { // Initialize SMS stats // Initialize SMS stats mSmsStats = new SmsStats(this); mSmsStats = new SmsStats(this); mNewDataStackEnabled = Boolean.parseBoolean(DeviceConfig.getProperty( mNewDataStackEnabled = !mContext.getResources().getBoolean( DeviceConfig.NAMESPACE_TELEPHONY, "enable_new_data_stack")) com.android.internal.R.bool.config_force_disable_telephony_new_data_stack); || mContext.getResources().getBoolean( com.android.internal.R.bool.config_force_enable_telephony_new_data_stack); if (getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { if (getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { return; return; Loading tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +0 −145 Original line number Original line Diff line number Diff line Loading @@ -67,7 +67,6 @@ import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.telephony.ServiceState; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper; Loading Loading @@ -422,38 +421,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertEquals(PhoneConstants.PHONE_TYPE_CDMA, mPhoneUT.getPhoneType()); assertEquals(PhoneConstants.PHONE_TYPE_CDMA, mPhoneUT.getPhoneType()); } } @Test @SmallTest public void testGetDataConnectionState() { // There are several cases possible. Testing few of them for now. // 1. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn != APN_TYPE_EMERGENCY doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mSST).getCurrentDataConnectionState(); assertEquals(PhoneConstants.DataState.DISCONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_ALL_STRING)); // 2. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, apn // not connected doReturn(DctConstants.State.IDLE).when(mDcTracker).getState( ApnSetting.TYPE_EMERGENCY_STRING); assertEquals(PhoneConstants.DataState.DISCONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); // 3. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, // APN is connected, callTracker state = idle doReturn(DctConstants.State.CONNECTED).when(mDcTracker).getState( ApnSetting.TYPE_EMERGENCY_STRING); mCT.mState = PhoneConstants.State.IDLE; assertEquals(PhoneConstants.DataState.CONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); // 3. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, // APN enabled and CONNECTED, callTracker state != idle, !isConcurrentVoiceAndDataAllowed mCT.mState = PhoneConstants.State.RINGING; doReturn(false).when(mSST).isConcurrentVoiceAndDataAllowed(); assertEquals(PhoneConstants.DataState.SUSPENDED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); } @Test @Test @SmallTest @SmallTest public void testHandleInCallMmiCommands() { public void testHandleInCallMmiCommands() { Loading Loading @@ -1044,50 +1011,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertNull(phone.getMeid()); assertNull(phone.getMeid()); } } @Test @SmallTest public void testEmergencyCallbackMessages() throws Exception { verify(mSimulatedCommandsVerifier).setEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); verify(mSimulatedCommandsVerifier).registerForExitEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); // verify handling of emergency callback mode mSimulatedCommands.notifyEmergencyCallbackMode(); processAllMessages(); verifyEcbmIntentSent(1 /*times*/, true /*isInEcm*/); assertTrue(mPhoneUT.isInEcm()); // verify that wakeLock is acquired in ECM assertTrue(mPhoneUT.getWakeLock().isHeld()); mPhoneUT.setOnEcbModeExitResponse(mTestHandler, EVENT_EMERGENCY_CALLBACK_MODE_EXIT, null); mPhoneUT.registerForEmergencyCallToggle(mTestHandler, EVENT_EMERGENCY_CALL_TOGGLE, null); // verify handling of emergency callback mode exit mSimulatedCommands.notifyExitEmergencyCallbackMode(); processAllMessages(); verifyEcbmIntentSent(2 /*times*/, false /*isInEcm*/); assertFalse(mPhoneUT.isInEcm()); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); // verify EcmExitRespRegistrant and mEmergencyCallToggledRegistrants are notified verify(mTestHandler, times(2)).sendMessageAtTime(messageArgumentCaptor.capture(), anyLong()); List<Message> msgList = messageArgumentCaptor.getAllValues(); assertEquals(EVENT_EMERGENCY_CALLBACK_MODE_EXIT, msgList.get(0).what); assertEquals(EVENT_EMERGENCY_CALL_TOGGLE, msgList.get(1).what); // verify setInternalDataEnabled verify(mDataEnabledSettings).setInternalDataEnabled(true); // verify wakeLock released assertFalse(mPhoneUT.getWakeLock().isHeld()); } private void verifyEcbmIntentSent(int times, boolean isInEcm) throws Exception { private void verifyEcbmIntentSent(int times, boolean isInEcm) throws Exception { ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContext, atLeast(times)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), verify(mContext, atLeast(times)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), Loading Loading @@ -1120,74 +1043,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertTrue(mPhoneUT.isEcmCanceledForEmergency()); assertTrue(mPhoneUT.isEcmCanceledForEmergency()); } } @Test @SmallTest public void testModemResetInEmergencyCallbackMessages() { verify(mSimulatedCommandsVerifier).setEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); verify(mSimulatedCommandsVerifier).registerForModemReset(eq(mPhoneUT), anyInt(), nullable(Object.class)); switchToCdma(); // verify handling of emergency callback mode mSimulatedCommands.notifyEmergencyCallbackMode(); processAllMessages(); // verify ACTION_EMERGENCY_CALLBACK_MODE_CHANGED ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); try { verify(mContext, atLeast(1)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), any()); } catch (Exception e) { fail("Unexpected exception: " + e.getStackTrace()); } Intent intent = intentArgumentCaptor.getValue(); assertEquals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED, intent.getAction()); assertEquals(true, intent.getBooleanExtra( TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, false)); assertEquals(true, mPhoneUT.isInEcm()); // verify that wakeLock is acquired in ECM assertEquals(true, mPhoneUT.getWakeLock().isHeld()); mPhoneUT.setOnEcbModeExitResponse(mTestHandler, EVENT_EMERGENCY_CALLBACK_MODE_EXIT, null); mPhoneUT.registerForEmergencyCallToggle(mTestHandler, EVENT_EMERGENCY_CALL_TOGGLE, null); // verify handling of emergency callback mode exit when modem resets mSimulatedCommands.notifyModemReset(); processAllMessages(); // verify ACTION_EMERGENCY_CALLBACK_MODE_CHANGED try { verify(mContext, atLeast(2)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), any()); } catch (Exception e) { fail("Unexpected exception: " + e.getStackTrace()); } intent = intentArgumentCaptor.getValue(); assertEquals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED, intent.getAction()); assertEquals(false, intent.getBooleanExtra( TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, true)); assertEquals(false, mPhoneUT.isInEcm()); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); // verify EcmExitRespRegistrant and mEmergencyCallToggledRegistrants are notified verify(mTestHandler, times(2)).sendMessageAtTime(messageArgumentCaptor.capture(), anyLong()); List<Message> msgList = messageArgumentCaptor.getAllValues(); assertEquals(EVENT_EMERGENCY_CALLBACK_MODE_EXIT, msgList.get(0).what); assertEquals(EVENT_EMERGENCY_CALL_TOGGLE, msgList.get(1).what); // verify setInternalDataEnabled verify(mDataEnabledSettings).setInternalDataEnabled(true); // verify wakeLock released assertEquals(false, mPhoneUT.getWakeLock().isHeld()); } @Test @Test @SmallTest @SmallTest public void testCallForwardingIndicator() { public void testCallForwardingIndicator() { Loading Loading
src/java/com/android/internal/telephony/Phone.java +2 −5 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,6 @@ import android.os.SystemClock; import android.os.SystemProperties; import android.os.SystemProperties; import android.os.WorkSource; import android.os.WorkSource; import android.preference.PreferenceManager; import android.preference.PreferenceManager; import android.provider.DeviceConfig; import android.sysprop.TelephonyProperties; import android.sysprop.TelephonyProperties; import android.telecom.VideoProfile; import android.telecom.VideoProfile; import android.telephony.AccessNetworkConstants; import android.telephony.AccessNetworkConstants; Loading Loading @@ -614,10 +613,8 @@ public abstract class Phone extends Handler implements PhoneInternalInterface { // Initialize SMS stats // Initialize SMS stats mSmsStats = new SmsStats(this); mSmsStats = new SmsStats(this); mNewDataStackEnabled = Boolean.parseBoolean(DeviceConfig.getProperty( mNewDataStackEnabled = !mContext.getResources().getBoolean( DeviceConfig.NAMESPACE_TELEPHONY, "enable_new_data_stack")) com.android.internal.R.bool.config_force_disable_telephony_new_data_stack); || mContext.getResources().getBoolean( com.android.internal.R.bool.config_force_enable_telephony_new_data_stack); if (getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { if (getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) { return; return; Loading
tests/telephonytests/src/com/android/internal/telephony/GsmCdmaPhoneTest.java +0 −145 Original line number Original line Diff line number Diff line Loading @@ -67,7 +67,6 @@ import android.telephony.NetworkRegistrationInfo; import android.telephony.ServiceState; import android.telephony.ServiceState; import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.SmallTest; import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.testing.TestableLooper; Loading Loading @@ -422,38 +421,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertEquals(PhoneConstants.PHONE_TYPE_CDMA, mPhoneUT.getPhoneType()); assertEquals(PhoneConstants.PHONE_TYPE_CDMA, mPhoneUT.getPhoneType()); } } @Test @SmallTest public void testGetDataConnectionState() { // There are several cases possible. Testing few of them for now. // 1. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn != APN_TYPE_EMERGENCY doReturn(ServiceState.STATE_OUT_OF_SERVICE).when(mSST).getCurrentDataConnectionState(); assertEquals(PhoneConstants.DataState.DISCONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_ALL_STRING)); // 2. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, apn // not connected doReturn(DctConstants.State.IDLE).when(mDcTracker).getState( ApnSetting.TYPE_EMERGENCY_STRING); assertEquals(PhoneConstants.DataState.DISCONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); // 3. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, // APN is connected, callTracker state = idle doReturn(DctConstants.State.CONNECTED).when(mDcTracker).getState( ApnSetting.TYPE_EMERGENCY_STRING); mCT.mState = PhoneConstants.State.IDLE; assertEquals(PhoneConstants.DataState.CONNECTED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); // 3. GSM, getCurrentDataConnectionState != STATE_IN_SERVICE, apn = APN_TYPE_EMERGENCY, // APN enabled and CONNECTED, callTracker state != idle, !isConcurrentVoiceAndDataAllowed mCT.mState = PhoneConstants.State.RINGING; doReturn(false).when(mSST).isConcurrentVoiceAndDataAllowed(); assertEquals(PhoneConstants.DataState.SUSPENDED, mPhoneUT.getDataConnectionState( ApnSetting.TYPE_EMERGENCY_STRING)); } @Test @Test @SmallTest @SmallTest public void testHandleInCallMmiCommands() { public void testHandleInCallMmiCommands() { Loading Loading @@ -1044,50 +1011,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertNull(phone.getMeid()); assertNull(phone.getMeid()); } } @Test @SmallTest public void testEmergencyCallbackMessages() throws Exception { verify(mSimulatedCommandsVerifier).setEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); verify(mSimulatedCommandsVerifier).registerForExitEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); // verify handling of emergency callback mode mSimulatedCommands.notifyEmergencyCallbackMode(); processAllMessages(); verifyEcbmIntentSent(1 /*times*/, true /*isInEcm*/); assertTrue(mPhoneUT.isInEcm()); // verify that wakeLock is acquired in ECM assertTrue(mPhoneUT.getWakeLock().isHeld()); mPhoneUT.setOnEcbModeExitResponse(mTestHandler, EVENT_EMERGENCY_CALLBACK_MODE_EXIT, null); mPhoneUT.registerForEmergencyCallToggle(mTestHandler, EVENT_EMERGENCY_CALL_TOGGLE, null); // verify handling of emergency callback mode exit mSimulatedCommands.notifyExitEmergencyCallbackMode(); processAllMessages(); verifyEcbmIntentSent(2 /*times*/, false /*isInEcm*/); assertFalse(mPhoneUT.isInEcm()); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); // verify EcmExitRespRegistrant and mEmergencyCallToggledRegistrants are notified verify(mTestHandler, times(2)).sendMessageAtTime(messageArgumentCaptor.capture(), anyLong()); List<Message> msgList = messageArgumentCaptor.getAllValues(); assertEquals(EVENT_EMERGENCY_CALLBACK_MODE_EXIT, msgList.get(0).what); assertEquals(EVENT_EMERGENCY_CALL_TOGGLE, msgList.get(1).what); // verify setInternalDataEnabled verify(mDataEnabledSettings).setInternalDataEnabled(true); // verify wakeLock released assertFalse(mPhoneUT.getWakeLock().isHeld()); } private void verifyEcbmIntentSent(int times, boolean isInEcm) throws Exception { private void verifyEcbmIntentSent(int times, boolean isInEcm) throws Exception { ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); verify(mContext, atLeast(times)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), verify(mContext, atLeast(times)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), Loading Loading @@ -1120,74 +1043,6 @@ public class GsmCdmaPhoneTest extends TelephonyTest { assertTrue(mPhoneUT.isEcmCanceledForEmergency()); assertTrue(mPhoneUT.isEcmCanceledForEmergency()); } } @Test @SmallTest public void testModemResetInEmergencyCallbackMessages() { verify(mSimulatedCommandsVerifier).setEmergencyCallbackMode(eq(mPhoneUT), anyInt(), nullable(Object.class)); verify(mSimulatedCommandsVerifier).registerForModemReset(eq(mPhoneUT), anyInt(), nullable(Object.class)); switchToCdma(); // verify handling of emergency callback mode mSimulatedCommands.notifyEmergencyCallbackMode(); processAllMessages(); // verify ACTION_EMERGENCY_CALLBACK_MODE_CHANGED ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); try { verify(mContext, atLeast(1)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), any()); } catch (Exception e) { fail("Unexpected exception: " + e.getStackTrace()); } Intent intent = intentArgumentCaptor.getValue(); assertEquals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED, intent.getAction()); assertEquals(true, intent.getBooleanExtra( TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, false)); assertEquals(true, mPhoneUT.isInEcm()); // verify that wakeLock is acquired in ECM assertEquals(true, mPhoneUT.getWakeLock().isHeld()); mPhoneUT.setOnEcbModeExitResponse(mTestHandler, EVENT_EMERGENCY_CALLBACK_MODE_EXIT, null); mPhoneUT.registerForEmergencyCallToggle(mTestHandler, EVENT_EMERGENCY_CALL_TOGGLE, null); // verify handling of emergency callback mode exit when modem resets mSimulatedCommands.notifyModemReset(); processAllMessages(); // verify ACTION_EMERGENCY_CALLBACK_MODE_CHANGED try { verify(mContext, atLeast(2)).sendStickyBroadcastAsUser(intentArgumentCaptor.capture(), any()); } catch (Exception e) { fail("Unexpected exception: " + e.getStackTrace()); } intent = intentArgumentCaptor.getValue(); assertEquals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED, intent.getAction()); assertEquals(false, intent.getBooleanExtra( TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, true)); assertEquals(false, mPhoneUT.isInEcm()); ArgumentCaptor<Message> messageArgumentCaptor = ArgumentCaptor.forClass(Message.class); // verify EcmExitRespRegistrant and mEmergencyCallToggledRegistrants are notified verify(mTestHandler, times(2)).sendMessageAtTime(messageArgumentCaptor.capture(), anyLong()); List<Message> msgList = messageArgumentCaptor.getAllValues(); assertEquals(EVENT_EMERGENCY_CALLBACK_MODE_EXIT, msgList.get(0).what); assertEquals(EVENT_EMERGENCY_CALL_TOGGLE, msgList.get(1).what); // verify setInternalDataEnabled verify(mDataEnabledSettings).setInternalDataEnabled(true); // verify wakeLock released assertEquals(false, mPhoneUT.getWakeLock().isHeld()); } @Test @Test @SmallTest @SmallTest public void testCallForwardingIndicator() { public void testCallForwardingIndicator() { Loading