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

Commit c05f5dd8 authored by Chih Wei Chang's avatar Chih Wei Chang Committed by Gerrit Code Review
Browse files

Revert "Revert "Address API feedback for Bluetooth Distance Meas..."

Revert submission 2476545-revert-2450382-Address API feedback for Bluetooth Distance Measurement-ETGAZXSPEY

Reason for revert: https://buganizer.corp.google.com/issues/272130885#comment17 mentions the fail is due to different time merge. Create the revert for chienyuanhuang to approve

Reverted changes: /q/submissionid:2476545-revert-2450382-Address+API+feedback+for+Bluetooth+Distance+Measurement-ETGAZXSPEY

Change-Id: I6dd990b71011b904c9e4df0feb6ebb7d26a138a6
parent fd084902
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.getMethod());
                + ", method: " + params.getMethodId());
        String identityAddress = mAdapterService.getIdentityAddress(
                params.getDevice().getAddress());
        logd("Get identityAddress: " + params.getDevice().getAnonymizedAddress() + " => "
                + BluetoothUtils.toAnonymizedAddress(identityAddress));

        int frequencyValue = getFrequencyValue(params.getFrequency(), params.getMethod());
        int frequencyValue = getFrequencyValue(params.getFrequency(), params.getMethodId());
        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.getMethod()) {
        switch (params.getMethodId()) {
            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.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
                return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_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.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
            return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_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.DISTANCE_MEASUREMENT_ERROR_INTERNAL;
                return BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_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.getDuration();
        mMethod = params.getMethod();
        mDuration = params.getDurationSeconds();
        mMethod = params.getMethodId();
        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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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.DISTANCE_MEASUREMENT_ERROR_INTERNAL,
                BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL,
                DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI);
        verify(mCallback).onStartFail(mDevice,
                BluetoothStatusCodes.DISTANCE_MEASUREMENT_ERROR_INTERNAL);
                BluetoothStatusCodes.ERROR_DISTANCE_MEASUREMENT_INTERNAL);
    }

    @Test
    public void testHandleRssiStopped() throws RemoteException {
        DistanceMeasurementParams params = new DistanceMeasurementParams.Builder(mDevice)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setMethodId(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().getMeters()).isEqualTo(1.00);
        assertThat(result.getValue().getResultMeters()).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)
                .setDuration(1000)
                .setDurationSeconds(1000)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(DistanceMeasurementMethod.DISTANCE_MEASUREMENT_METHOD_RSSI)
                .setDurationSeconds(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)
                .setDuration(TIMEOUT_S)
                .setDurationSeconds(TIMEOUT_S)
                .setFrequency(DistanceMeasurementParams.REPORT_FREQUENCY_LOW)
                .setMethod(mMethod)
                .setMethodId(mMethod)
                .build();
        mTracker = new DistanceMeasurementTracker(
                mDistanceMeasurementManager, mParams, IDENTITY_ADDRESS, mUuid, 1000, mCallback);
Loading