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

Commit fecd786d authored by Chih Wei Chang's avatar Chih Wei Chang Committed by Automerger Merge Worker
Browse files

Merge "Revert "Address API feedback for Bluetooth Distance Measurement"" am:...

Merge "Revert "Address API feedback for Bluetooth Distance Measurement"" am: e46a9fe5 am: 20eeb32f

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/2476545



Change-Id: Ib7190984f7d7bf267a7d770fcdf58527773b2c97
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9a255777 20eeb32f
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -86,13 +86,13 @@ public class DistanceMeasurementManager {
    void startDistanceMeasurement(UUID uuid, DistanceMeasurementParams params,
            IDistanceMeasurementCallback callback) {
        Log.i(TAG, "startDistanceMeasurement device:" + params.getDevice().getAnonymizedAddress()
                + ", method: " + params.getMethodId());
                + ", method: " + params.getMethod());
        String identityAddress = mAdapterService.getIdentityAddress(
                params.getDevice().getAddress());
        logd("Get identityAddress: " + params.getDevice().getAnonymizedAddress() + " => "
                + BluetoothUtils.toAnonymizedAddress(identityAddress));

        int frequencyValue = getFrequencyValue(params.getFrequency(), params.getMethodId());
        int frequencyValue = getFrequencyValue(params.getFrequency(), params.getMethod());
        if (frequencyValue == -1) {
            invokeStartFail(callback, params.getDevice(),
                    BluetoothStatusCodes.ERROR_BAD_PARAMETERS);
@@ -102,7 +102,7 @@ public class DistanceMeasurementManager {
        DistanceMeasurementTracker tracker = new DistanceMeasurementTracker(
                this, params, identityAddress, uuid, frequencyValue, callback);

        switch (params.getMethodId()) {
        switch (params.getMethod()) {
            case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_AUTO:
            case DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI:
                startRssiTracker(tracker);
@@ -140,7 +140,7 @@ public class DistanceMeasurementManager {
                return stopRssiTracker(uuid, identityAddress, timeout);
            default:
                Log.w(TAG, "stopDistanceMeasurement with invalid method:" + method);
                return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL;
                return BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
        }
    }

@@ -149,7 +149,7 @@ public class DistanceMeasurementManager {
        HashSet<DistanceMeasurementTracker> set = mRssiTrackers.get(identityAddress);
        if (set == null) {
            Log.w(TAG, "Can't find rssi tracker");
            return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL;
            return BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
        }

        for (DistanceMeasurementTracker tracker : set) {
+1 −1
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ public class DistanceMeasurementNativeInterface {
            case REASON_INVALID_PARAMETERS:
                return BluetoothStatusCodes.ERROR_BAD_PARAMETERS;
            case REASON_INTERNAL_ERROR:
                return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL;
                return BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
            default:
                return BluetoothStatusCodes.ERROR_UNKNOWN;
        }
+2 −2
Original line number Diff line number Diff line
@@ -52,8 +52,8 @@ class DistanceMeasurementTracker {
        mIdentityAddress = identityAddress;
        mUuid = uuid;
        mFrequency = frequency;
        mDuration = params.getDurationSeconds();
        mMethod = params.getMethodId();
        mDuration = params.getDuration();
        mMethod = params.getMethod();
        mCallback = callback;
    }

+17 −17
Original line number Diff line number Diff line
@@ -86,9 +86,9 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testStartRssiTracker() {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        verify(mDistanceMeasurementNativeInterface).startDistanceMeasurement(
@@ -99,9 +99,9 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testStopRssiTracker() {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        mDistanceMeasurementManager.stopDistanceMeasurement(mUuid, mDevice,
@@ -113,9 +113,9 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testHandleRssiStarted() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        verify(mDistanceMeasurementNativeInterface).startDistanceMeasurement(
@@ -129,27 +129,27 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testHandleRssiStartFail() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        verify(mDistanceMeasurementNativeInterface).startDistanceMeasurement(
            IDENTITY_ADDRESS, RSSI_FREQUENCY_LOW,
            DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI);
        mDistanceMeasurementManager.onDistanceMeasurementStartFail(IDENTITY_ADDRESS,
                BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL,
                BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL,
                DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI);
        verify(mCallback).onStartFail(mDevice,
                BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL);
                BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL);
    }

    @Test
    public void testHandleRssiStopped() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        mDistanceMeasurementManager.onDistanceMeasurementStarted(IDENTITY_ADDRESS,
@@ -166,9 +166,9 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testHandleRssiResult() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        mDistanceMeasurementManager.onDistanceMeasurementStarted(IDENTITY_ADDRESS,
@@ -181,7 +181,7 @@ public class DistanceMeasurementManagerTest {
        ArgumentCaptor<DistanceMeasurementResult> result =
                ArgumentCaptor.forClass(DistanceMeasurementResult.class);
        verify(mCallback, times(1)).onResult(eq(mDevice), result.capture());
        assertThat(result.getValue().getResultMeters()).isEqualTo(1.00);
        assertThat(result.getValue().getMeters()).isEqualTo(1.00);
        assertThat(result.getValue().getErrorMeters()).isEqualTo(1.00);
        assertThat(result.getValue().getAzimuthAngle()).isEqualTo(Double.NaN);
        assertThat(result.getValue().getErrorAzimuthAngle()).isEqualTo(Double.NaN);
@@ -192,9 +192,9 @@ public class DistanceMeasurementManagerTest {
    @Test
    public void testReceivedResultAfterStopped() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(1000)
                .setDuration(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setDurationSeconds(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .build();
        mDistanceMeasurementManager.startDistanceMeasurement(mUuid, params, mCallback);
        mDistanceMeasurementManager.stopDistanceMeasurement(mUuid, mDevice,
+2 −2
Original line number Diff line number Diff line
@@ -64,9 +64,9 @@ public class DistanceMeasurementTrackerTest {
        mUuid = UUID.randomUUID();
        mDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(IDENTITY_ADDRESS);
        mParams = new DistanceMeasurementParams.Builder(mDevice)
                .setDurationSeconds(TIMEOUT_S)
                .setDuration(TIMEOUT_S)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethodId(mMethod)
                .setMethod(mMethod)
                .build();
        mTracker = new DistanceMeasurementTracker(
                mDistanceMeasurementManager, mParams, IDENTITY_ADDRESS, mUuid, 1000, mCallback);
Loading