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

Commit fc82b151 authored by William Escande's avatar William Escande
Browse files

DistanceMeasurement: stop calling NativeInterface in test

Bug: 295237486
Test: atest DistanceMeasurementManagerTest
Change-Id: Ia947cc98a5c42aa9267cb4244ad5d9cb685673bd
parent 511c275d
Loading
Loading
Loading
Loading
+25 −7
Original line number Diff line number Diff line
@@ -17,18 +17,24 @@
package com.android.bluetooth.gatt;

import android.bluetooth.BluetoothStatusCodes;
import android.util.Log;

import com.android.bluetooth.Utils;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;

/**
 * Distance Measurement Native Interface to/from JNI.
 *
 * @hide
 */
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
public class DistanceMeasurementNativeInterface {
    private static DistanceMeasurementNativeInterface sInterface;
    private static final String TAG = DistanceMeasurementNativeInterface.class.getSimpleName();

    @GuardedBy("INSTANCE_LOCK")
    private static DistanceMeasurementNativeInterface sInstance;

    private static final Object INSTANCE_LOCK = new Object();

    private DistanceMeasurementManager mDistanceMeasurementManager;

    /**
@@ -54,11 +60,19 @@ public class DistanceMeasurementNativeInterface {
     */
    public static DistanceMeasurementNativeInterface getInstance() {
        synchronized (INSTANCE_LOCK) {
            if (sInterface == null) {
                sInterface = new DistanceMeasurementNativeInterface();
            if (sInstance == null) {
                sInstance = new DistanceMeasurementNativeInterface();
            }
            return sInstance;
        }
    }

    /** Set singleton instance. */
    @VisibleForTesting
    public static void setInstance(DistanceMeasurementNativeInterface instance) {
        synchronized (INSTANCE_LOCK) {
            sInstance = instance;
        }
        return sInterface;
    }

    void init(DistanceMeasurementManager manager) {
@@ -124,8 +138,12 @@ public class DistanceMeasurementNativeInterface {
    }

    static {
        if (Utils.isInstrumentationTestMode()) {
            Log.w(TAG, "App is instrumented. Skip loading the native");
        } else {
            classInitNative();
        }
    }

    private static native void classInitNative();

+2 −5
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.after;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

@@ -30,9 +29,7 @@ import android.bluetooth.BluetoothStatusCodes;
import android.bluetooth.le.DistanceMeasurementMethod;
import android.bluetooth.le.DistanceMeasurementParams;
import android.bluetooth.le.DistanceMeasurementResult;
import android.bluetooth.le.DistanceMeasurementSession;
import android.bluetooth.le.IDistanceMeasurementCallback;
import android.os.HandlerThread;
import android.os.RemoteException;

import androidx.test.filters.SmallTest;
@@ -70,10 +67,9 @@ public class DistanceMeasurementManagerTest {
    public void setUp() throws Exception {
        MockitoAnnotations.initMocks(this);
        doReturn(IDENTITY_ADDRESS).when(mAdapterService).getIdentityAddress(IDENTITY_ADDRESS);
        DistanceMeasurementNativeInterface.setInstance(mDistanceMeasurementNativeInterface);
        mDistanceMeasurementManager = new DistanceMeasurementManager(mAdapterService);
        mDistanceMeasurementManager.start();
        mDistanceMeasurementManager.mDistanceMeasurementNativeInterface =
                mDistanceMeasurementNativeInterface;
        mUuid = UUID.randomUUID();
        mDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(IDENTITY_ADDRESS);
    }
@@ -81,6 +77,7 @@ public class DistanceMeasurementManagerTest {
    @After
    public void tearDown() throws Exception {
        mDistanceMeasurementManager.cleanup();
        DistanceMeasurementNativeInterface.setInstance(null);
    }

    @Test