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);