summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author Aishwarya Mallampati <amallampati@google.com> 2025-03-17 18:57:44 +0000
committer Aishwarya Mallampati <amallampati@google.com> 2025-03-19 17:50:15 +0000
commit67411ed9fc6aa97d68ce66f67c82c71838ee1173 (patch)
treea166fc33f52b35d32ea372d1d338c37a3e03223e /src
parent7896552b218b958c82656e627a57a407d7f96601 (diff)
Check data registration state in isCellularAvailable
Bug: 403826786 Test: atest SatelliteServiceUtilsTest Test: b/404360253 Flag: EXEMPT bugfix Change-Id: I3416255e8a5b0363ebefba62dfe53f7561eff008
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;