diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java b/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java index 3e77bd9d38..318e8cf65e 100644 --- a/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java +++ b/src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java @@ -533,8 +533,17 @@ public class SatelliteServiceUtils { ServiceState serviceState = phone.getServiceState(); if (serviceState != null) { int state = serviceState.getState(); + NetworkRegistrationInfo dataNri = serviceState.getNetworkRegistrationInfo( + NetworkRegistrationInfo.DOMAIN_PS, + AccessNetworkConstants.TRANSPORT_TYPE_WWAN); + boolean isCellularDataInService = dataNri != null && dataNri.isInService(); + logd("isCellularAvailable: phoneId=" + phone.getPhoneId() + " state=" + state + + " isEmergencyOnly=" + serviceState.isEmergencyOnly() + + " isCellularDataInService=" + isCellularDataInService); + if ((state == STATE_IN_SERVICE || state == STATE_EMERGENCY_ONLY - || serviceState.isEmergencyOnly()) + || serviceState.isEmergencyOnly() + || isCellularDataInService) && !isSatellitePlmn(phone.getSubId(), serviceState)) { logd("isCellularAvailable true"); return true; |