Change SatellitePosition @NonNull from @Nullable

Bug: 380321012
Flag: com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn
Test: atest SatelliteAccessConfigurationParserTest
Change-Id: Ic0ecd8aee2827805cfa05e48e7523901e82ead29
diff --git a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParser.java b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParser.java
index 0658279..895edfd 100644
--- a/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParser.java
+++ b/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParser.java
@@ -60,7 +60,6 @@
     public static final String SATELLITE_BANDS = "bands";
     public static final String SATELLITE_TAG_ID_LIST = "tag_ids";
 
-
     /**
      * Parses a JSON file containing satellite access configurations.
      *
@@ -193,15 +192,17 @@
         return satelliteId;
     }
 
-    @Nullable
+    @NonNull
     protected static SatellitePosition parseSatellitePosition(
             @NonNull JSONObject satelliteInfoJson) {
         JSONObject jsonObject = satelliteInfoJson.optJSONObject(SATELLITE_POSITION);
+        SatellitePosition satellitePosition = new SatellitePosition(Double.NaN, Double.NaN);
+
         if (jsonObject == null) {
             loge("parseSatellitePosition: jsonObject is null");
-            return null;
+            return satellitePosition;
         }
-        SatellitePosition satellitePosition;
+
         try {
             double longitude = jsonObject.getDouble(SATELLITE_LONGITUDE);
             double altitude = jsonObject.getDouble(SATELLITE_ALTITUDE);
@@ -209,11 +210,11 @@
                 satellitePosition = new SatellitePosition(longitude, altitude);
             } else {
                 loge("parseSatellitePosition: invalid value: " + longitude + " | " + altitude);
-                return null;
+                return satellitePosition;
             }
         } catch (JSONException e) {
             loge("parseSatellitePosition: json parsing error " + e.getMessage());
-            return null;
+            return satellitePosition;
         }
 
         logd("parseSatellitePosition: " + satellitePosition);
diff --git a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParserTest.java b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParserTest.java
index d577a63..72fb705 100644
--- a/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParserTest.java
+++ b/tests/src/com/android/phone/satellite/accesscontrol/SatelliteAccessConfigurationParserTest.java
@@ -301,7 +301,10 @@
             for (int j = 0; j < satelliteInfoArray.length(); j++) {
                 JSONObject infoJson = satelliteInfoArray.getJSONObject(i);
                 assertNull(parseSatelliteId(infoJson));
-                assertNull(parseSatellitePosition(infoJson));
+                SatellitePosition satellitePosition = parseSatellitePosition(infoJson);
+                assertNotNull(satellitePosition);
+                assertTrue(Double.isNaN(satellitePosition.getLongitudeDegrees()));
+                assertTrue(Double.isNaN(satellitePosition.getAltitudeKm()));
                 assertTrue(parseSatelliteEarfcnRangeList(infoJson).isEmpty());
                 assertNotNull(parseSatelliteBandList(infoJson));
                 assertEquals(0, parseSatelliteBandList(infoJson).size());