summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/java/com/android/internal/telephony/satellite/SatelliteServiceUtils.java11
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;