Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8f381b92 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add new APIs of channel sounding" into main am: 5519ae3a

parents 2c58ec12 5519ae3a
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -1231,17 +1231,18 @@ public:
  void OnDistanceMeasurementResult(RawAddress address, uint32_t centimeter,
                                   uint32_t error_centimeter, int azimuth_angle,
                                   int error_azimuth_angle, int altitude_angle,
                                   int error_altitude_angle, uint8_t method) {
                                   int error_altitude_angle, long elapsedRealtimeNanos,
                                   uint8_t method) {
    std::shared_lock<std::shared_mutex> lock(callbacks_mutex);
    CallbackEnv sCallbackEnv(__func__);
    if (!sCallbackEnv.valid() || !mDistanceMeasurementCallbacksObj) {
      return;
    }
    ScopedLocalRef<jstring> addr(sCallbackEnv.get(), bdaddr2newjstr(sCallbackEnv.get(), &address));
    sCallbackEnv->CallVoidMethod(mDistanceMeasurementCallbacksObj,
                                 method_onDistanceMeasurementResult, addr.get(), centimeter,
                                 error_centimeter, azimuth_angle, error_azimuth_angle,
                                 altitude_angle, error_altitude_angle, method);
    sCallbackEnv->CallVoidMethod(
            mDistanceMeasurementCallbacksObj, method_onDistanceMeasurementResult, addr.get(),
            centimeter, error_centimeter, azimuth_angle, error_azimuth_angle, altitude_angle,
            error_altitude_angle, elapsedRealtimeNanos, method);
  }
};

@@ -2826,7 +2827,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;IIIIIII)V",
          {"onDistanceMeasurementResult", "(Ljava/lang/String;IIIIIIJI)V",
           &method_onDistanceMeasurementResult},
  };
  GET_JAVA_METHODS(env, "com/android/bluetooth/gatt/DistanceMeasurementNativeInterface",
+2 −0
Original line number Diff line number Diff line
@@ -468,6 +468,7 @@ public class DistanceMeasurementManager {
            int errorAzimuthAngle,
            int altitudeAngle,
            int errorAltitudeAngle,
            long elapsedRealtimeNanos,
            int method) {
        logd(
                "onDistanceMeasurementResult "
@@ -476,6 +477,7 @@ public class DistanceMeasurementManager {
                        + centimeter);
        DistanceMeasurementResult result =
                new DistanceMeasurementResult.Builder(centimeter / 100.0, errorCentimeter / 100.0)
                        .setMeasurementTimestampNanos(elapsedRealtimeNanos)
                        .build();
        switch (method) {
            case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI:
+2 −0
Original line number Diff line number Diff line
@@ -110,6 +110,7 @@ public class DistanceMeasurementNativeInterface {
            int errorAzimuthAngle,
            int altitudeAngle,
            int errorAltitudeAngle,
            long elapsedRealtimeNanos,
            int method) {
        mDistanceMeasurementManager.onDistanceMeasurementResult(
                address,
@@ -119,6 +120,7 @@ public class DistanceMeasurementNativeInterface {
                errorAzimuthAngle,
                altitudeAngle,
                errorAltitudeAngle,
                elapsedRealtimeNanos,
                method);
    }

+3 −0
Original line number Diff line number Diff line
@@ -196,6 +196,7 @@ public class DistanceMeasurementManagerTest {
                -1,
                -1,
                -1,
                1000L,
                DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI);
        ArgumentCaptor<DistanceMeasurementResult> result =
                ArgumentCaptor.forClass(DistanceMeasurementResult.class);
@@ -206,6 +207,7 @@ public class DistanceMeasurementManagerTest {
        assertThat(result.getValue().getErrorAzimuthAngle()).isEqualTo(Double.NaN);
        assertThat(result.getValue().getAltitudeAngle()).isEqualTo(Double.NaN);
        assertThat(result.getValue().getErrorAltitudeAngle()).isEqualTo(Double.NaN);
        assertThat(result.getValue().getMeasurementTimestampNanos()).isEqualTo(1000L);
    }

    @Test
@@ -232,6 +234,7 @@ public class DistanceMeasurementManagerTest {
                -1,
                -1,
                -1,
                1000L,
                DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI);
        DistanceMeasurementResult result =
                new DistanceMeasurementResult.Builder(1.00, 1.00).build();
+9 −1
Original line number Diff line number Diff line
@@ -15,3 +15,11 @@ flag {
    description: "Enable Channel Sounding in the Bluetooth stack"
    bug: "324185011"
}

flag {
    name:"channel_sounding_25q2_apis"
    namespace: "bluetooth"
    is_exported: true
    description: "Add new APIs for channel sounding"
    bug: "367409858"
}
Loading