Loading src/java/com/android/internal/telephony/satellite/SatelliteController.java +5 −2 Original line number Diff line number Diff line Loading @@ -5068,12 +5068,15 @@ public class SatelliteController extends Handler { return mDemoPointingNotAlignedDurationMillis; } private boolean getWwanIsInService(ServiceState serviceState) { /** Returns {@code true} if WWAN is in service, else {@code false}.*/ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) public boolean getWwanIsInService(@NonNull ServiceState serviceState) { List<NetworkRegistrationInfo> nriList = serviceState .getNetworkRegistrationInfoListForTransportType( AccessNetworkConstants.TRANSPORT_TYPE_WWAN); for (NetworkRegistrationInfo nri : nriList) { if (nri.isInService()) { if (nri.isInService() || nri.isEmergencyEnabled()) { logv("getWwanIsInService: return true"); return true; } Loading tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ import android.os.Message; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.ResultReceiver; import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.CellSignalStrength; import android.telephony.NetworkRegistrationInfo; Loading Loading @@ -3815,6 +3816,46 @@ public class SatelliteControllerTest extends TelephonyTest { mSatelliteControllerUT.getCarrierEmergencyCallWaitForConnectionTimeoutMillis()); } @Test public void testGetWwanIsInService() { when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(new ArrayList<>()); assertFalse(mSatelliteControllerUT.getWwanIsInService(mServiceState)); NetworkRegistrationInfo nri = new NetworkRegistrationInfo.Builder() .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_HOME) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder() .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_ROAMING) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder() .setEmergencyOnly(true) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder().setRegistrationState( NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertFalse(mSatelliteControllerUT.getWwanIsInService(mServiceState)); } private void resetSatelliteControllerUTEnabledState() { logd("resetSatelliteControllerUTEnabledState"); setUpResponseForRequestIsSatelliteSupported(false, SATELLITE_RESULT_RADIO_NOT_AVAILABLE); Loading Loading
src/java/com/android/internal/telephony/satellite/SatelliteController.java +5 −2 Original line number Diff line number Diff line Loading @@ -5068,12 +5068,15 @@ public class SatelliteController extends Handler { return mDemoPointingNotAlignedDurationMillis; } private boolean getWwanIsInService(ServiceState serviceState) { /** Returns {@code true} if WWAN is in service, else {@code false}.*/ @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) public boolean getWwanIsInService(@NonNull ServiceState serviceState) { List<NetworkRegistrationInfo> nriList = serviceState .getNetworkRegistrationInfoListForTransportType( AccessNetworkConstants.TRANSPORT_TYPE_WWAN); for (NetworkRegistrationInfo nri : nriList) { if (nri.isInService()) { if (nri.isInService() || nri.isEmergencyEnabled()) { logv("getWwanIsInService: return true"); return true; } Loading
tests/telephonytests/src/com/android/internal/telephony/satellite/SatelliteControllerTest.java +41 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ import android.os.Message; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.ResultReceiver; import android.telephony.AccessNetworkConstants; import android.telephony.CarrierConfigManager; import android.telephony.CellSignalStrength; import android.telephony.NetworkRegistrationInfo; Loading Loading @@ -3815,6 +3816,46 @@ public class SatelliteControllerTest extends TelephonyTest { mSatelliteControllerUT.getCarrierEmergencyCallWaitForConnectionTimeoutMillis()); } @Test public void testGetWwanIsInService() { when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(new ArrayList<>()); assertFalse(mSatelliteControllerUT.getWwanIsInService(mServiceState)); NetworkRegistrationInfo nri = new NetworkRegistrationInfo.Builder() .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_HOME) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder() .setRegistrationState(NetworkRegistrationInfo.REGISTRATION_STATE_ROAMING) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder() .setEmergencyOnly(true) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertTrue(mSatelliteControllerUT.getWwanIsInService(mServiceState)); nri = new NetworkRegistrationInfo.Builder().setRegistrationState( NetworkRegistrationInfo.REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING) .build(); when(mServiceState.getNetworkRegistrationInfoListForTransportType( eq(AccessNetworkConstants.TRANSPORT_TYPE_WWAN))) .thenReturn(List.of(nri)); assertFalse(mSatelliteControllerUT.getWwanIsInService(mServiceState)); } private void resetSatelliteControllerUTEnabledState() { logd("resetSatelliteControllerUTEnabledState"); setUpResponseForRequestIsSatelliteSupported(false, SATELLITE_RESULT_RADIO_NOT_AVAILABLE); Loading