Loading services/core/jni/gnss/GnssAntennaInfoCallback.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -226,15 +226,16 @@ jobject GnssAntennaInfoCallback::translateSingleGnssAntennaInfo( env->NewObject(class_gnssAntennaInfoBuilder, method_gnssAntennaInfoBuilderCtor); // Set fields env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetCarrierFrequencyMHz, gnssAntennaInfo.carrierFrequencyMHz); env->CallObjectMethod(gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterOffset, phaseCenterOffset); env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterOffset, phaseCenterOffset); callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterVariationCorrections, phaseCenterVariationCorrections); env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetSignalGainCorrections, signalGainCorrections); Loading services/core/jni/gnss/GnssMeasurementCallback.cpp +41 −36 Original line number Diff line number Diff line Loading @@ -212,11 +212,12 @@ void setMeasurementData(JNIEnv* env, jobject& callbacksObj, jobject clock, jobject gnssMeasurementsEventBuilderObject = env->NewObject(class_gnssMeasurementsEventBuilder, method_gnssMeasurementsEventBuilderCtor); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetClock, clock); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetMeasurements, measurementArray); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetMeasurements, measurementArray); callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetGnssAutomaticGainControls, gnssAgcArray); jobject gnssMeasurementsEventObject = Loading Loading @@ -408,22 +409,22 @@ void GnssMeasurementCallbackAidl::translateSingleGnssMeasurement(JNIEnv* env, satellitePvt.satClockInfo.satHardwareCodeBiasMeters, satellitePvt.satClockInfo.satTimeCorrectionMeters, satellitePvt.satClockInfo.satClkDriftMps); env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetPositionEcef, positionEcef); env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetVelocityEcef, velocityEcef); env->CallObjectMethod(satellitePvtBuilderObject, method_satellitePvtBuilderSetClockInfo, clockInfo); callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetClockInfo, clockInfo); } if (satFlags & SatellitePvt::HAS_IONO) { env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetIonoDelayMeters, satellitePvt.ionoDelayMeters); } if (satFlags & SatellitePvt::HAS_TROPO) { env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetTropoDelayMeters, satellitePvt.tropoDelayMeters); } Loading Loading @@ -453,15 +454,17 @@ void GnssMeasurementCallbackAidl::translateSingleGnssMeasurement(JNIEnv* env, jobject correlationVectorBuilderObject = env->NewObject(class_correlationVectorBuilder, method_correlationVectorBuilderCtor); env->CallObjectMethod(correlationVectorBuilderObject, method_correlationVectorBuilderSetMagnitude, magnitudeArray); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetMagnitude, magnitudeArray); callObjectMethodIgnoringResult( env, correlationVectorBuilderObject, method_correlationVectorBuilderSetFrequencyOffsetMetersPerSecond, correlationVector.frequencyOffsetMps); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetSamplingStartMeters, correlationVector.samplingStartM); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetSamplingWidthMeters, correlationVector.samplingWidthM); jobject correlationVectorObject = Loading Loading @@ -519,11 +522,13 @@ jobjectArray GnssMeasurementCallbackAidl::translateAllGnssAgcs(JNIEnv* env, const GnssAgc& gnssAgc = agcs[i]; jobject agcBuilderObject = env->NewObject(class_gnssAgcBuilder, method_gnssAgcBuilderCtor); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetLevelDb, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetLevelDb, gnssAgc.agcLevelDb); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetConstellationType, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetConstellationType, (int)gnssAgc.constellation); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetCarrierFrequencyHz, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetCarrierFrequencyHz, gnssAgc.carrierFrequencyHz); jobject agcObject = env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderBuild); Loading services/core/jni/gnss/Utils.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,13 @@ void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName) { } } void callObjectMethodIgnoringResult(JNIEnv* env, jobject obj, jmethodID mid, ...) { va_list args; va_start(args, mid); env->DeleteLocalRef(env->CallObjectMethodV(obj, mid, args)); va_end(args); } JavaObject::JavaObject(JNIEnv* env, jclass clazz, jmethodID defaultCtor) : env_(env), clazz_(clazz) { object_ = env_->NewObject(clazz_, defaultCtor); Loading services/core/jni/gnss/Utils.h +2 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ jboolean checkAidlStatus(const android::binder::Status& status, const char* erro void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName); void callObjectMethodIgnoringResult(JNIEnv* env, jobject obj, jmethodID mid, ...); template <class T> void logHidlError(hardware::Return<T>& result, const char* errorMessage) { ALOGE("%s HIDL transport error: %s", errorMessage, result.description().c_str()); Loading Loading
services/core/jni/gnss/GnssAntennaInfoCallback.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -226,15 +226,16 @@ jobject GnssAntennaInfoCallback::translateSingleGnssAntennaInfo( env->NewObject(class_gnssAntennaInfoBuilder, method_gnssAntennaInfoBuilderCtor); // Set fields env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetCarrierFrequencyMHz, gnssAntennaInfo.carrierFrequencyMHz); env->CallObjectMethod(gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterOffset, phaseCenterOffset); env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterOffset, phaseCenterOffset); callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetPhaseCenterVariationCorrections, phaseCenterVariationCorrections); env->CallObjectMethod(gnssAntennaInfoBuilderObject, callObjectMethodIgnoringResult(env, gnssAntennaInfoBuilderObject, method_gnssAntennaInfoBuilderSetSignalGainCorrections, signalGainCorrections); Loading
services/core/jni/gnss/GnssMeasurementCallback.cpp +41 −36 Original line number Diff line number Diff line Loading @@ -212,11 +212,12 @@ void setMeasurementData(JNIEnv* env, jobject& callbacksObj, jobject clock, jobject gnssMeasurementsEventBuilderObject = env->NewObject(class_gnssMeasurementsEventBuilder, method_gnssMeasurementsEventBuilderCtor); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetClock, clock); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetMeasurements, measurementArray); env->CallObjectMethod(gnssMeasurementsEventBuilderObject, callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetMeasurements, measurementArray); callObjectMethodIgnoringResult(env, gnssMeasurementsEventBuilderObject, method_gnssMeasurementsEventBuilderSetGnssAutomaticGainControls, gnssAgcArray); jobject gnssMeasurementsEventObject = Loading Loading @@ -408,22 +409,22 @@ void GnssMeasurementCallbackAidl::translateSingleGnssMeasurement(JNIEnv* env, satellitePvt.satClockInfo.satHardwareCodeBiasMeters, satellitePvt.satClockInfo.satTimeCorrectionMeters, satellitePvt.satClockInfo.satClkDriftMps); env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetPositionEcef, positionEcef); env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetVelocityEcef, velocityEcef); env->CallObjectMethod(satellitePvtBuilderObject, method_satellitePvtBuilderSetClockInfo, clockInfo); callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetClockInfo, clockInfo); } if (satFlags & SatellitePvt::HAS_IONO) { env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetIonoDelayMeters, satellitePvt.ionoDelayMeters); } if (satFlags & SatellitePvt::HAS_TROPO) { env->CallObjectMethod(satellitePvtBuilderObject, callObjectMethodIgnoringResult(env, satellitePvtBuilderObject, method_satellitePvtBuilderSetTropoDelayMeters, satellitePvt.tropoDelayMeters); } Loading Loading @@ -453,15 +454,17 @@ void GnssMeasurementCallbackAidl::translateSingleGnssMeasurement(JNIEnv* env, jobject correlationVectorBuilderObject = env->NewObject(class_correlationVectorBuilder, method_correlationVectorBuilderCtor); env->CallObjectMethod(correlationVectorBuilderObject, method_correlationVectorBuilderSetMagnitude, magnitudeArray); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetMagnitude, magnitudeArray); callObjectMethodIgnoringResult( env, correlationVectorBuilderObject, method_correlationVectorBuilderSetFrequencyOffsetMetersPerSecond, correlationVector.frequencyOffsetMps); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetSamplingStartMeters, correlationVector.samplingStartM); env->CallObjectMethod(correlationVectorBuilderObject, callObjectMethodIgnoringResult(env, correlationVectorBuilderObject, method_correlationVectorBuilderSetSamplingWidthMeters, correlationVector.samplingWidthM); jobject correlationVectorObject = Loading Loading @@ -519,11 +522,13 @@ jobjectArray GnssMeasurementCallbackAidl::translateAllGnssAgcs(JNIEnv* env, const GnssAgc& gnssAgc = agcs[i]; jobject agcBuilderObject = env->NewObject(class_gnssAgcBuilder, method_gnssAgcBuilderCtor); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetLevelDb, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetLevelDb, gnssAgc.agcLevelDb); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetConstellationType, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetConstellationType, (int)gnssAgc.constellation); env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderSetCarrierFrequencyHz, callObjectMethodIgnoringResult(env, agcBuilderObject, method_gnssAgcBuilderSetCarrierFrequencyHz, gnssAgc.carrierFrequencyHz); jobject agcObject = env->CallObjectMethod(agcBuilderObject, method_gnssAgcBuilderBuild); Loading
services/core/jni/gnss/Utils.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,13 @@ void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName) { } } void callObjectMethodIgnoringResult(JNIEnv* env, jobject obj, jmethodID mid, ...) { va_list args; va_start(args, mid); env->DeleteLocalRef(env->CallObjectMethodV(obj, mid, args)); va_end(args); } JavaObject::JavaObject(JNIEnv* env, jclass clazz, jmethodID defaultCtor) : env_(env), clazz_(clazz) { object_ = env_->NewObject(clazz_, defaultCtor); Loading
services/core/jni/gnss/Utils.h +2 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ jboolean checkAidlStatus(const android::binder::Status& status, const char* erro void checkAndClearExceptionFromCallback(JNIEnv* env, const char* methodName); void callObjectMethodIgnoringResult(JNIEnv* env, jobject obj, jmethodID mid, ...); template <class T> void logHidlError(hardware::Return<T>& result, const char* errorMessage) { ALOGE("%s HIDL transport error: %s", errorMessage, result.description().c_str()); Loading