Use getSelectedSatelliteSubId() instead of getSatellitePhone().getSubId()
Flag: EXEMPT bugfix
Bug: 373657647
Test: SatelliteControllerTest SatelliteSOSMessageRecommenderTest SatelliteSessionControllerTest DatagramDispatcherTest TelephonyConnectionServiceTest
Manual test with Skylo demo mode
Change-Id: I66e9bf02359e284fee4430e8c56bef29f31f3e37
diff --git a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
index c720917..78e4ace 100644
--- a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
+++ b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessController.java
@@ -484,7 +484,7 @@
}
mAccessControllerMetricsStats.setTriggeringEvent(TRIGGERING_EVENT_EXTERNAL_REQUEST);
sendRequestAsync(CMD_IS_SATELLITE_COMMUNICATION_ALLOWED,
- new Pair<>(mSatelliteController.getSatellitePhone().getSubId(), result));
+ new Pair<>(mSatelliteController.getSelectedSatelliteSubId(), result));
}
/**
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index e7f91d4..4226635 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -2164,16 +2164,12 @@
return true;
} else { // satellite is for emergency
if (mFeatureFlags.carrierRoamingNbIotNtn()) {
- Phone satellitePhone = mSatelliteController.getSatellitePhone();
- if (satellitePhone == null) {
- loge("satellite is/being enabled, but satellitePhone is null");
- return false;
- }
+ int subId = mSatelliteController.getSelectedSatelliteSubId();
SubscriptionInfoInternal info = SubscriptionManagerService.getInstance()
- .getSubscriptionInfoInternal(satellitePhone.getSubId());
+ .getSubscriptionInfoInternal(subId);
if (info == null) {
loge("satellite is/being enabled, but satellite sub "
- + satellitePhone.getSubId() + " is null");
+ + subId + " is null");
return false;
}
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
index a3497b6..e8b84d9 100644
--- a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
@@ -1509,9 +1509,7 @@
// Satellite is for emergency
doReturn(true).when(mSatelliteController).getRequestIsEmergency();
- Phone phone = mock(Phone.class);
- doReturn(1).when(phone).getSubId();
- doReturn(phone).when(mSatelliteController).getSatellitePhone();
+ doReturn(1).when(mSatelliteController).getSelectedSatelliteSubId();
SubscriptionManagerService isub = mock(SubscriptionManagerService.class);
replaceInstance(SubscriptionManagerService.class, "sInstance", null, isub);
SubscriptionInfoInternal info = mock(SubscriptionInfoInternal.class);
@@ -1548,9 +1546,7 @@
// Satellite is for emergency
doReturn(true).when(mSatelliteController).getRequestIsEmergency();
- Phone phone = mock(Phone.class);
- doReturn(1).when(phone).getSubId();
- doReturn(phone).when(mSatelliteController).getSatellitePhone();
+ doReturn(1).when(mSatelliteController).getSelectedSatelliteSubId();
SubscriptionManagerService isub = mock(SubscriptionManagerService.class);
replaceInstance(SubscriptionManagerService.class, "sInstance", null, isub);
SubscriptionInfoInternal info = mock(SubscriptionInfoInternal.class);