diff options
author | 2025-03-17 18:57:44 +0000 | |
---|---|---|
committer | 2025-03-19 17:50:15 +0000 | |
commit | 67411ed9fc6aa97d68ce66f67c82c71838ee1173 (patch) | |
tree | a166fc33f52b35d32ea372d1d338c37a3e03223e /src | |
parent | 7896552b218b958c82656e627a57a407d7f96601 (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.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; |