Loading android/app/jni/com_android_bluetooth_gatt.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -1235,7 +1235,7 @@ public: uint32_t error_centimeter, int azimuth_angle, int error_azimuth_angle, int altitude_angle, int error_altitude_angle, long elapsedRealtimeNanos, uint8_t method) { int8_t confidence_level, uint8_t method) { std::shared_lock<std::shared_mutex> lock(callbacks_mutex); CallbackEnv sCallbackEnv(__func__); if (!sCallbackEnv.valid() || !mDistanceMeasurementCallbacksObj) { Loading @@ -1245,7 +1245,7 @@ public: sCallbackEnv->CallVoidMethod( mDistanceMeasurementCallbacksObj, method_onDistanceMeasurementResult, addr.get(), centimeter, error_centimeter, azimuth_angle, error_azimuth_angle, altitude_angle, error_altitude_angle, elapsedRealtimeNanos, method); error_altitude_angle, elapsedRealtimeNanos, confidence_level, method); } }; Loading Loading @@ -2979,7 +2979,7 @@ static int register_com_android_bluetooth_gatt_distance_measurement(JNIEnv* env) &method_onDistanceMeasurementStartFail}, {"onDistanceMeasurementStopped", "(Ljava/lang/String;II)V", &method_onDistanceMeasurementStopped}, {"onDistanceMeasurementResult", "(Ljava/lang/String;IIIIIIJI)V", {"onDistanceMeasurementResult", "(Ljava/lang/String;IIIIIIJII)V", &method_onDistanceMeasurementResult}, }; GET_JAVA_METHODS(env, "com/android/bluetooth/gatt/DistanceMeasurementNativeInterface", Loading android/app/src/com/android/bluetooth/gatt/DistanceMeasurementManager.java +10 −4 Original line number Diff line number Diff line Loading @@ -469,16 +469,22 @@ public class DistanceMeasurementManager { int altitudeAngle, int errorAltitudeAngle, long elapsedRealtimeNanos, int confidenceLevel, int method) { logd( "onDistanceMeasurementResult " + BluetoothUtils.toAnonymizedAddress(address) + ", centimeter " + centimeter); DistanceMeasurementResult result = + centimeter + ", confidenceLevel " + confidenceLevel); DistanceMeasurementResult.Builder builder = new DistanceMeasurementResult.Builder(centimeter / 100.0, errorCentimeter / 100.0) .setMeasurementTimestampNanos(elapsedRealtimeNanos) .build(); .setMeasurementTimestampNanos(elapsedRealtimeNanos); if (confidenceLevel != -1) { builder.setConfidenceLevel(confidenceLevel / 100.0); } DistanceMeasurementResult result = builder.build(); switch (method) { case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI: handleRssiResult(address, result); Loading android/app/src/com/android/bluetooth/gatt/DistanceMeasurementNativeInterface.java +2 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ public class DistanceMeasurementNativeInterface { int altitudeAngle, int errorAltitudeAngle, long elapsedRealtimeNanos, int confidenceLevel, int method) { mDistanceMeasurementManager.onDistanceMeasurementResult( address, Loading @@ -121,6 +122,7 @@ public class DistanceMeasurementNativeInterface { altitudeAngle, errorAltitudeAngle, elapsedRealtimeNanos, confidenceLevel, method); } Loading android/app/tests/unit/src/com/android/bluetooth/gatt/DistanceMeasurementManagerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,7 @@ public class DistanceMeasurementManagerTest { -1, -1, 1000L, -1, DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI); ArgumentCaptor<DistanceMeasurementResult> result = ArgumentCaptor.forClass(DistanceMeasurementResult.class); Loading Loading @@ -235,6 +236,7 @@ public class DistanceMeasurementManagerTest { -1, -1, 1000L, -1, DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI); DistanceMeasurementResult result = new DistanceMeasurementResult.Builder(1.00, 1.00).build(); Loading system/gd/hal/ranging_hal.h +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ struct ChannelSoundingRawData { struct RangingResult { double result_meters_; // A normalized value from 0 (low confidence) to 100 (high confidence) representing the confidence // of estimated distance. The value is -1 when unavailable. int8_t confidence_level_; }; class RangingHalCallback { Loading Loading
android/app/jni/com_android_bluetooth_gatt.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -1235,7 +1235,7 @@ public: uint32_t error_centimeter, int azimuth_angle, int error_azimuth_angle, int altitude_angle, int error_altitude_angle, long elapsedRealtimeNanos, uint8_t method) { int8_t confidence_level, uint8_t method) { std::shared_lock<std::shared_mutex> lock(callbacks_mutex); CallbackEnv sCallbackEnv(__func__); if (!sCallbackEnv.valid() || !mDistanceMeasurementCallbacksObj) { Loading @@ -1245,7 +1245,7 @@ public: sCallbackEnv->CallVoidMethod( mDistanceMeasurementCallbacksObj, method_onDistanceMeasurementResult, addr.get(), centimeter, error_centimeter, azimuth_angle, error_azimuth_angle, altitude_angle, error_altitude_angle, elapsedRealtimeNanos, method); error_altitude_angle, elapsedRealtimeNanos, confidence_level, method); } }; Loading Loading @@ -2979,7 +2979,7 @@ static int register_com_android_bluetooth_gatt_distance_measurement(JNIEnv* env) &method_onDistanceMeasurementStartFail}, {"onDistanceMeasurementStopped", "(Ljava/lang/String;II)V", &method_onDistanceMeasurementStopped}, {"onDistanceMeasurementResult", "(Ljava/lang/String;IIIIIIJI)V", {"onDistanceMeasurementResult", "(Ljava/lang/String;IIIIIIJII)V", &method_onDistanceMeasurementResult}, }; GET_JAVA_METHODS(env, "com/android/bluetooth/gatt/DistanceMeasurementNativeInterface", Loading
android/app/src/com/android/bluetooth/gatt/DistanceMeasurementManager.java +10 −4 Original line number Diff line number Diff line Loading @@ -469,16 +469,22 @@ public class DistanceMeasurementManager { int altitudeAngle, int errorAltitudeAngle, long elapsedRealtimeNanos, int confidenceLevel, int method) { logd( "onDistanceMeasurementResult " + BluetoothUtils.toAnonymizedAddress(address) + ", centimeter " + centimeter); DistanceMeasurementResult result = + centimeter + ", confidenceLevel " + confidenceLevel); DistanceMeasurementResult.Builder builder = new DistanceMeasurementResult.Builder(centimeter / 100.0, errorCentimeter / 100.0) .setMeasurementTimestampNanos(elapsedRealtimeNanos) .build(); .setMeasurementTimestampNanos(elapsedRealtimeNanos); if (confidenceLevel != -1) { builder.setConfidenceLevel(confidenceLevel / 100.0); } DistanceMeasurementResult result = builder.build(); switch (method) { case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI: handleRssiResult(address, result); Loading
android/app/src/com/android/bluetooth/gatt/DistanceMeasurementNativeInterface.java +2 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,7 @@ public class DistanceMeasurementNativeInterface { int altitudeAngle, int errorAltitudeAngle, long elapsedRealtimeNanos, int confidenceLevel, int method) { mDistanceMeasurementManager.onDistanceMeasurementResult( address, Loading @@ -121,6 +122,7 @@ public class DistanceMeasurementNativeInterface { altitudeAngle, errorAltitudeAngle, elapsedRealtimeNanos, confidenceLevel, method); } Loading
android/app/tests/unit/src/com/android/bluetooth/gatt/DistanceMeasurementManagerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,7 @@ public class DistanceMeasurementManagerTest { -1, -1, 1000L, -1, DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI); ArgumentCaptor<DistanceMeasurementResult> result = ArgumentCaptor.forClass(DistanceMeasurementResult.class); Loading Loading @@ -235,6 +236,7 @@ public class DistanceMeasurementManagerTest { -1, -1, 1000L, -1, DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI); DistanceMeasurementResult result = new DistanceMeasurementResult.Builder(1.00, 1.00).build(); Loading
system/gd/hal/ranging_hal.h +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ struct ChannelSoundingRawData { struct RangingResult { double result_meters_; // A normalized value from 0 (low confidence) to 100 (high confidence) representing the confidence // of estimated distance. The value is -1 when unavailable. int8_t confidence_level_; }; class RangingHalCallback { Loading