Loading framework/tests/bumble/src/android/bluetooth/DeviceDiscoveryTest.java +43 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.Log; import androidx.test.core.app.ApplicationProvider; import androidx.test.runner.AndroidJUnit4; Loading @@ -34,6 +35,11 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.ArrayList; import pandora.HostProto.DiscoverabilityMode; import pandora.HostProto.SetDiscoverabilityModeRequest; /** Test cases for {@link DeviceDiscoveryManager}. */ @RunWith(AndroidJUnit4.class) public class DeviceDiscoveryTest { Loading @@ -50,6 +56,8 @@ public class DeviceDiscoveryTest { @Rule public final PandoraDevice mBumble = new PandoraDevice(); private ArrayList<Intent> mDeviceFoundData; private BroadcastReceiver mConnectionStateReceiver = new BroadcastReceiver() { @Override Loading @@ -61,6 +69,8 @@ public class DeviceDiscoveryTest { intent.getAction())) { mFutureDiscoveryFinishedIntent.set( BluetoothAdapter.ACTION_DISCOVERY_FINISHED); } else if (BluetoothDevice.ACTION_FOUND.equals(intent.getAction())) { mDeviceFoundData.add(intent); } } }; Loading Loading @@ -105,4 +115,37 @@ public class DeviceDiscoveryTest { mContext.unregisterReceiver(mConnectionStateReceiver); } @Test public void checkDeviceIsDiscoveredTest() throws Exception { mFutureDiscoveryStartedIntent = SettableFuture.create(); mFutureDiscoveryFinishedIntent = SettableFuture.create(); mDeviceFoundData = new ArrayList<Intent>(); // Ensure remote device is discoverable mBumble.hostBlocking() .setDiscoverabilityMode( SetDiscoverabilityModeRequest.newBuilder() .setMode(DiscoverabilityMode.DISCOVERABLE_GENERAL) .build()); IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED); filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); filter.addAction(BluetoothDevice.ACTION_FOUND); mContext.registerReceiver(mConnectionStateReceiver, filter); assertThat(mAdapter.startDiscovery()).isTrue(); assertThat(mFutureDiscoveryStartedIntent.get()) .isEqualTo(BluetoothAdapter.ACTION_DISCOVERY_STARTED); // Wait for device discovery to complete assertThat(mFutureDiscoveryFinishedIntent.get()) .isEqualTo(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); mContext.unregisterReceiver(mConnectionStateReceiver); // Ensure we received at least one inquiry response assertThat(!mDeviceFoundData.isEmpty()).isTrue(); Log.i(TAG, "Found inquiry results count:" + mDeviceFoundData.size()); } } Loading
framework/tests/bumble/src/android/bluetooth/DeviceDiscoveryTest.java +43 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.util.Log; import androidx.test.core.app.ApplicationProvider; import androidx.test.runner.AndroidJUnit4; Loading @@ -34,6 +35,11 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.ArrayList; import pandora.HostProto.DiscoverabilityMode; import pandora.HostProto.SetDiscoverabilityModeRequest; /** Test cases for {@link DeviceDiscoveryManager}. */ @RunWith(AndroidJUnit4.class) public class DeviceDiscoveryTest { Loading @@ -50,6 +56,8 @@ public class DeviceDiscoveryTest { @Rule public final PandoraDevice mBumble = new PandoraDevice(); private ArrayList<Intent> mDeviceFoundData; private BroadcastReceiver mConnectionStateReceiver = new BroadcastReceiver() { @Override Loading @@ -61,6 +69,8 @@ public class DeviceDiscoveryTest { intent.getAction())) { mFutureDiscoveryFinishedIntent.set( BluetoothAdapter.ACTION_DISCOVERY_FINISHED); } else if (BluetoothDevice.ACTION_FOUND.equals(intent.getAction())) { mDeviceFoundData.add(intent); } } }; Loading Loading @@ -105,4 +115,37 @@ public class DeviceDiscoveryTest { mContext.unregisterReceiver(mConnectionStateReceiver); } @Test public void checkDeviceIsDiscoveredTest() throws Exception { mFutureDiscoveryStartedIntent = SettableFuture.create(); mFutureDiscoveryFinishedIntent = SettableFuture.create(); mDeviceFoundData = new ArrayList<Intent>(); // Ensure remote device is discoverable mBumble.hostBlocking() .setDiscoverabilityMode( SetDiscoverabilityModeRequest.newBuilder() .setMode(DiscoverabilityMode.DISCOVERABLE_GENERAL) .build()); IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED); filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); filter.addAction(BluetoothDevice.ACTION_FOUND); mContext.registerReceiver(mConnectionStateReceiver, filter); assertThat(mAdapter.startDiscovery()).isTrue(); assertThat(mFutureDiscoveryStartedIntent.get()) .isEqualTo(BluetoothAdapter.ACTION_DISCOVERY_STARTED); // Wait for device discovery to complete assertThat(mFutureDiscoveryFinishedIntent.get()) .isEqualTo(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); mContext.unregisterReceiver(mConnectionStateReceiver); // Ensure we received at least one inquiry response assertThat(!mDeviceFoundData.isEmpty()).isTrue(); Log.i(TAG, "Found inquiry results count:" + mDeviceFoundData.size()); } }