diff options
| author | 2022-02-02 01:29:13 +0000 | |
|---|---|---|
| committer | 2022-02-02 01:29:13 +0000 | |
| commit | f75a93dd7d87af231af463ddc3d579375686cb7e (patch) | |
| tree | 05a7611825cf7aa272c9e9a9def5a7f2dc3c8b35 | |
| parent | c6729c5f8fd24d47213abcd0d2a139ae12fba66e (diff) | |
| parent | b7c706d9c7809f05147264a3aaae08f663c2fc4d (diff) | |
Merge "Call DeleteLocalRef in MeasurementCorrections"
| -rw-r--r-- | services/core/jni/com_android_server_location_GnssLocationProvider.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp index 555f188aa266..166a0f5272cf 100644 --- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp @@ -2061,7 +2061,7 @@ static SingleSatCorrection_V1_0 getSingleSatCorrection_1_0_withoutConstellation( jfloat eplMeters = env->CallFloatMethod(singleSatCorrectionObj, method_correctionSatEpl); jfloat eplUncMeters = env->CallFloatMethod(singleSatCorrectionObj, method_correctionSatEplUnc); uint16_t corrFlags = static_cast<uint16_t>(correctionFlags); - jobject reflectingPlaneObj; + jobject reflectingPlaneObj = nullptr; bool has_ref_plane = (corrFlags & GnssSingleSatCorrectionFlags::HAS_REFLECTING_PLANE) != 0; if (has_ref_plane) { reflectingPlaneObj = @@ -2085,6 +2085,7 @@ static SingleSatCorrection_V1_0 getSingleSatCorrection_1_0_withoutConstellation( .azimuthDegrees = azimuthDegreeRefPlane, }; } + env->DeleteLocalRef(reflectingPlaneObj); SingleSatCorrection_V1_0 singleSatCorrection = { .singleSatCorrectionFlags = corrFlags, @@ -2116,6 +2117,7 @@ static void getSingleSatCorrectionList_1_1(JNIEnv* env, jobject singleSatCorrect }; list[i] = singleSatCorrection_1_1; + env->DeleteLocalRef(singleSatCorrectionObj); } } @@ -2133,6 +2135,7 @@ static void getSingleSatCorrectionList_1_0(JNIEnv* env, jobject singleSatCorrect singleSatCorrection.constellation = static_cast<GnssConstellationType_V1_0>(constType), list[i] = singleSatCorrection; + env->DeleteLocalRef(singleSatCorrectionObj); } } @@ -2203,6 +2206,7 @@ static jboolean android_location_gnss_hal_GnssNative_inject_measurement_correcti hidl_vec<SingleSatCorrection_V1_0> list(len); getSingleSatCorrectionList_1_0(env, singleSatCorrectionList, list); + env->DeleteLocalRef(singleSatCorrectionList); measurementCorrections_1_0.satCorrections = list; auto result = gnssCorrectionsIface_V1_0->setCorrections(measurementCorrections_1_0); |