Support Bluetooth discovery for adding contacts
The local Bluetooth address is no longer available on the Nexus 5X running Android 8.1. BluetoothAdapter#getAddress()
returns the fake address 02:00:00:00:00:00, and Settings.Secure.getString(ctx, "bluetooth_address")
returns null.
This means we can no longer include our Bluetooth address in the QR code when adding a contact. Instead we'll need to make the device temporarily discoverable, and indicate in the QR code that the contact should use discovery to find us. The contact will need the ACCESS_COARSE_LOCATION permission for discovery.
The contact will need to store our Bluetooth address for future connection attempts. We don't currently have a way for plugins to store local per-contact information, but we can add one.