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