summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author Aishwarya Mallampati <amallampati@google.com> 2025-03-19 13:50:43 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-19 13:50:43 -0700
commit931613514c790807aa4a292140568820d8a754b3 (patch)
treebc6bbb18aa425e32687e7c1e1c821f968238d6cd /src
parent5b8c294481c94bf5cf10f6a2b5ce6f36caf16176 (diff)
parent67411ed9fc6aa97d68ce66f67c82c71838ee1173 (diff)
Merge "Check data registration state in isCellularAvailable" into main
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;