bumble 0.0.215__tar.gz → 0.0.216__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bumble-0.0.215 → bumble-0.0.216}/PKG-INFO +1 -1
- {bumble-0.0.215 → bumble-0.0.216}/bumble/_version.py +3 -3
- {bumble-0.0.215 → bumble-0.0.216}/bumble/device.py +76 -39
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/PKG-INFO +1 -1
- {bumble-0.0.215 → bumble-0.0.216}/rust/Cargo.lock +140 -56
- {bumble-0.0.215 → bumble-0.0.216}/rust/Cargo.toml +2 -2
- {bumble-0.0.215 → bumble-0.0.216}/.devcontainer/devcontainer.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.git-blame-ignore-revs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/ci-gradle.properties +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/code-check.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/codeql-analysis.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/gradle-btbench.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/python-avatar.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/python-build-test.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.github/workflows/python-publish.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/.vscode/settings.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/CONTRIBUTING.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/LICENSE +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/auracast.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/bench.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/ble_rpa_tool.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/console.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/controller_info.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/controller_loopback.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/controllers.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/device_info.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/gatt_dump.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/gg_bridge.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/hci_bridge.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/l2cap_bridge.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/lea_unicast/app.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/lea_unicast/index.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/pair.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/pandora_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/player/player.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/rfcomm_bridge.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/scan.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/show.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/logo.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/speaker.css +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/speaker.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/speaker.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/speaker/speaker.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/unbond.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/apps/usb_probe.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/a2dp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/at.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/att.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/audio/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/audio/io.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/avc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/avctp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/avdtp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/avrcp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/bridge.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/codecs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/colors.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/company_ids.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/controller.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/core.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/crypto/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/crypto/builtin.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/crypto/cryptography.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/data_types.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/decoder.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/drivers/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/drivers/common.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/drivers/intel.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/drivers/rtk.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/gap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/gatt.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/gatt_adapters.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/gatt_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/gatt_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/hci.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/helpers.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/hfp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/hid.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/host.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/keys.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/l2cap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/link.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/logging.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pairing.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/config.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/device.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/host.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/l2cap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/py.typed +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/security.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/pandora/utils.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/aics.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/ams.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/ancs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/ascs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/asha.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/bap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/bass.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/battery_service.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/cap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/csip.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/device_information_service.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/gap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/gatt_service.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/gmap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/hap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/heart_rate_service.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/le_audio.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/mcp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/pacs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/pbp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/py.typed +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/tmap.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/vcs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/profiles/vocs.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/py.typed +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/rfcomm.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/rtp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/sdp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/smp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/snoop.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/android_emulator.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/android_netsim.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/common.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/file.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_device_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_packets_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/emulated_bluetooth_vhci_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/grpc_endpoint_description_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/common_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/hci_packet_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/model_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/packet_streamer_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/netsim/startup_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2.pyi +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/grpc_protobuf/rootcanal/configuration_pb2_grpc.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/hci_socket.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/pty.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/py.typed +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/pyusb.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/serial.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/tcp_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/tcp_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/udp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/unix.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/usb.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/vhci.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/ws_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/transport/ws_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/utils.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/vendor/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/vendor/android/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/vendor/android/hci.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/vendor/zephyr/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble/vendor/zephyr/hci.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/SOURCES.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/dependency_links.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/entry_points.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/requires.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/bumble.egg-info/top_level.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/favicon.ico +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.vectornator/Artboard0.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.vectornator/Document.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.vectornator/Manifest.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.vectornator/Thumbnail.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo.vectornator/UndoHistory.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Artboard0.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Document.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Manifest.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.vectornator/Thumbnail.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/images/logo_framed.vectornator/UndoHistory.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/mkdocs.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/requirements.txt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/api/examples.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/api/guide.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/api/reference.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/auracast.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/bench.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/console.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/gatt_dump.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/gg_bridge.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/hci_bridge.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/pair.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/show.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/speaker.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/unbond.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/apps_and_tools/usb_probe.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/components/controller.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/components/gatt.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/components/host.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/components/security_manager.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/development/code_style.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/development/contributing.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/development/python_environments.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/downloads/zephyr/hci_usb.zip +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/drivers/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/drivers/intel.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/drivers/realtek.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/examples/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/extras/android_bt_bench.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/extras/android_remote_hci.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/extras/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/getting_started.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hardware/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/index.toml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/bumble.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/heart_rate_monitor/heart_rate_monitor.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/heart_rate_monitor/heart_rate_monitor.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/heart_rate_monitor/heart_rate_monitor.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.css +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/scanner/scanner.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/logo.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.css +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/speaker/speaker.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/hive/web/ui.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/bumble_layers.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/console_screenshot.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/favicon.ico +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/logo.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/logo_framed.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/images/speaker_screenshot.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/android.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/linux.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/macos.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/windows.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/winusb_driver.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/platforms/zephyr.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/android_emulator.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/file.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/hci_socket.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/pty.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/serial.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/tcp_client.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/tcp_server.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/udp.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/usb.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/vhci.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/ws_client.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/transports/ws_server.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/index.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_1.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_2.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_3.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_4.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_5.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/src/use_cases/use_case_6.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/docs/mkdocs/theme/partials/footer.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/environment.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/a2dp_sink1.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/asha_sink.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/asha_sink1.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/asha_sink2.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/async_runner.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/avrcp_as_sink.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/battery_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/battery_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/classic1.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/classic2.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/cs_initiator.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/cs_reflector.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device1.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device2.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device3.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device_information_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device_information_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/device_with_rpa.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/heart_rate_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/heart_rate_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hfp_gateway.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hfp_gateway.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hfp_handsfree.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hfp_handsfree.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hid_key_map.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hid_keyboard.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/hid_report_parser.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/keyboard.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/keyboard.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/keyboard.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/leaudio.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/leaudio_with_classic.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/mcp_server.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/mobly/bench/one_device_bench_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/mobly/bench/sample_config.yml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/mobly/bench/two_devices_bench_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_a2dp_info.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_a2dp_sink.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_a2dp_source.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_advertiser.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_ams_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_ancs_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_asha_sink.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_avrcp.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_channel_sounding.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_cig_setup.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_classic_connect.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_classic_discoverable.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_classic_discovery.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_connect_and_encrypt.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_controller.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_controller_with_scanner.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_csis_servers.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_device_with_snooper.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_esco_connection.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_extended_advertiser.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_extended_advertiser_2.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_gatt_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_gatt_client_and_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_gatt_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_gatt_server_with_pairing_delegate.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_gatt_with_adapters.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_hap_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_hfp_gateway.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_hfp_handsfree.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_hid_device.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_hid_host.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_mcp_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_notifier.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_rfcomm_client.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_rfcomm_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_scanner.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_unicast_server.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/run_vcp_renderer.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/speaker.json +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/examples/vcp_renderer.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/build.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/proguard-rules.pro +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/AndroidManifest.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/ic_launcher-playstore.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Advertiser.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/AutomationSnippet.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Connection.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Gatt.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/GattClient.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/GattServer.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/IoClient.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capClient.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/L2capServer.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/MainActivity.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Mode.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Model.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Packet.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Pinger.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Ponger.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Receiver.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/RfcommClient.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/RfcommServer.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Scan.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/Sender.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/SocketClient.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/SocketServer.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Color.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Theme.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/java/com/github/google/bumble/btbench/ui/theme/Type.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/drawable/ic_launcher_background.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/drawable/ic_launcher_foreground.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/colors.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/ic_launcher_background.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/strings.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/values/themes.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/xml/backup_rules.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/app/src/main/res/xml/data_extraction_rules.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/build.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradle/libs.versions.toml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradle/wrapper/gradle-wrapper.jar +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradle/wrapper/gradle-wrapper.properties +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradle.properties +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradlew +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/gradlew.bat +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/BtBench/settings.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/build.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/proguard-rules.pro +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/AndroidManifest.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/IBluetoothHci.aidl +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/IBluetoothHciCallbacks.aidl +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/aidl/android/hardware/bluetooth/Status.aidl +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/hidl/bluetooth/1.1/IBluetoothHci.hal +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/hidl/bluetooth/1.1/IBluetoothHciCallbacks.hal +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/ic_launcher-playstore.png +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/IBluetoothHci.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/IBluetoothHciCallbacks.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/Status.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/IBluetoothHci.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/IBluetoothHciCallbacks.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_0/Status.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_1/IBluetoothHci.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/android/hardware/bluetooth/V1_1/IBluetoothHciCallbacks.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/CommandLineInterface.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciHal.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciHalCallback.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciPacket.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciParser.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciProxy.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/HciServer.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/MainActivity.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Color.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Theme.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/java/com/github/google/bumble/remotehci/ui/theme/Type.kt +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/colors.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/ic_launcher_background.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/strings.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/values/themes.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/xml/backup_rules.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/app/src/main/res/xml/data_extraction_rules.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/build.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/libs.versions.toml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/wrapper/gradle-wrapper.jar +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradle/wrapper/gradle-wrapper.properties +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradle.properties +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradlew +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/gradlew.bat +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/build.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/consumer-rules.pro +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/proguard-rules.pro +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/AndroidManifest.xml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/internal/hidl/base/V1_0/DebugInfo.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/internal/hidl/base/V1_0/IBase.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HidlSupport.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwBinder.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwBlob.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/HwParcel.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/IHwBinder.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/IHwInterface.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/NativeHandle.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/lib/src/main/java/android/os/ServiceManager.java +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/scripts/generate_java_from_aidl.sh +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/extras/android/RemoteHCI/settings.gradle.kts +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/noxfile.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/pyproject.toml +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/CHANGELOG.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/examples/battery_client.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/examples/broadcast.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/examples/scanner.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/assigned_numbers.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/pytests.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/wrapper/drivers.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/wrapper/hci.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/wrapper/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/pytests/wrapper/transport.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/resources/test/firmware/realtek/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/resources/test/firmware/realtek/rtl8723b_fw_structure.bin +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/resources/test/firmware/realtek/rtl8761bu_fw_structure.bin +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/adv.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/firmware/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/firmware/rtk.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/l2cap/client_bridge.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/l2cap/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/l2cap/server_bridge.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/cli/usb/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/drivers/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/drivers/rtk.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/hci/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/hci/packets.pdl +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/hci/tests.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/internal/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/lib.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/main.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/company_ids.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/assigned_numbers/services.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/common.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/controller.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/core.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/device/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/device/tests.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/drivers/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/drivers/rtk.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/gatt_client.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/hci.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/host.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/l2cap.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/link.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/logging.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/mod.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/profile.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/src/wrapper/transport.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/tools/file_header.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/rust/tools/gen_assigned_numbers.rs +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/scripts/process_android_emulator_protos.sh +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/scripts/process_android_netsim_protos.sh +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/setup.cfg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tasks.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/a2dp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/aics_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/asha_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/at_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/avdtp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/avrcp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/bap_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/bass_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/cap_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/codecs_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/core_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/csip_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/decoder_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/device_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/g722_sample.g722 +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/gatt_service_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/gatt_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/gmap_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/hap_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/hci_data_001.bin +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/hci_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/hfp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/host_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/import_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/keystore_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/l2cap_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/le_audio_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/mcp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/pytest.ini +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/rfcomm_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/sdp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/self_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/smp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/test_utils.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/transport_tcp_server_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/transport_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/utils_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/vcp_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tests/vocs_test.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/__init__.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/generate_company_id_list.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/intel_fw_download.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/intel_util.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/rtk_fw_download.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/tools/rtk_util.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/.gitignore +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/README.md +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/bumble.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/favicon.ico +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/heart_rate_monitor/heart_rate_monitor.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/scanner/scanner.css +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/scanner/scanner.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/scanner/scanner.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/scanner/scanner.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/speaker/logo.svg +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/speaker/speaker.css +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/speaker/speaker.html +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/speaker/speaker.js +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/speaker/speaker.py +0 -0
- {bumble-0.0.215 → bumble-0.0.216}/web/ui.js +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
31
|
+
__version__ = version = '0.0.216'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 216)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gf8223ca81'
|
|
@@ -2169,10 +2169,12 @@ def with_connection_from_handle(function):
|
|
|
2169
2169
|
# Decorator that converts the first argument from a bluetooth address to a connection
|
|
2170
2170
|
def with_connection_from_address(function):
|
|
2171
2171
|
@functools.wraps(function)
|
|
2172
|
-
def wrapper(
|
|
2173
|
-
|
|
2172
|
+
def wrapper(device: Device, address: hci.Address, *args, **kwargs):
|
|
2173
|
+
if connection := device.pending_connections.get(address):
|
|
2174
|
+
return function(device, connection, address, *args, **kwargs)
|
|
2175
|
+
for connection in device.connections.values():
|
|
2174
2176
|
if connection.peer_address == address:
|
|
2175
|
-
return function(
|
|
2177
|
+
return function(device, connection, *args, **kwargs)
|
|
2176
2178
|
raise ObjectLookupError('no connection for address')
|
|
2177
2179
|
|
|
2178
2180
|
return wrapper
|
|
@@ -2182,11 +2184,13 @@ def with_connection_from_address(function):
|
|
|
2182
2184
|
# connection
|
|
2183
2185
|
def try_with_connection_from_address(function):
|
|
2184
2186
|
@functools.wraps(function)
|
|
2185
|
-
def wrapper(
|
|
2186
|
-
|
|
2187
|
+
def wrapper(device: Device, address: hci.Address, *args, **kwargs):
|
|
2188
|
+
if connection := device.pending_connections.get(address):
|
|
2189
|
+
return function(device, connection, address, *args, **kwargs)
|
|
2190
|
+
for connection in device.connections.values():
|
|
2187
2191
|
if connection.peer_address == address:
|
|
2188
|
-
return function(
|
|
2189
|
-
return function(
|
|
2192
|
+
return function(device, connection, address, *args, **kwargs)
|
|
2193
|
+
return function(device, None, address, *args, **kwargs)
|
|
2190
2194
|
|
|
2191
2195
|
return wrapper
|
|
2192
2196
|
|
|
@@ -2234,7 +2238,7 @@ class Device(utils.CompositeEventEmitter):
|
|
|
2234
2238
|
scan_response_data: bytes
|
|
2235
2239
|
cs_capabilities: ChannelSoundingCapabilities | None = None
|
|
2236
2240
|
connections: dict[int, Connection]
|
|
2237
|
-
|
|
2241
|
+
pending_connections: dict[hci.Address, Connection]
|
|
2238
2242
|
classic_pending_accepts: dict[
|
|
2239
2243
|
hci.Address,
|
|
2240
2244
|
list[asyncio.Future[Union[Connection, tuple[hci.Address, int, int]]]],
|
|
@@ -2356,9 +2360,9 @@ class Device(utils.CompositeEventEmitter):
|
|
|
2356
2360
|
self.le_connecting = False
|
|
2357
2361
|
self.disconnecting = False
|
|
2358
2362
|
self.connections = {} # Connections, by connection handle
|
|
2359
|
-
self.
|
|
2363
|
+
self.pending_connections = (
|
|
2360
2364
|
{}
|
|
2361
|
-
) #
|
|
2365
|
+
) # Pending connections, by BD address (BR/EDR only)
|
|
2362
2366
|
self.sco_links = {} # ScoLinks, by connection handle (BR/EDR only)
|
|
2363
2367
|
self.cis_links = {} # CisLinks, by connection handle (LE only)
|
|
2364
2368
|
self._pending_cis = {} # (CIS_ID, CIG_ID), by CIS_handle
|
|
@@ -3827,7 +3831,17 @@ class Device(utils.CompositeEventEmitter):
|
|
|
3827
3831
|
)
|
|
3828
3832
|
else:
|
|
3829
3833
|
# Save pending connection
|
|
3830
|
-
self.
|
|
3834
|
+
self.pending_connections[peer_address] = Connection(
|
|
3835
|
+
device=self,
|
|
3836
|
+
handle=0,
|
|
3837
|
+
transport=core.PhysicalTransport.BR_EDR,
|
|
3838
|
+
self_address=self.public_address,
|
|
3839
|
+
self_resolvable_address=None,
|
|
3840
|
+
peer_address=peer_address,
|
|
3841
|
+
peer_resolvable_address=None,
|
|
3842
|
+
role=hci.Role.CENTRAL,
|
|
3843
|
+
parameters=Connection.Parameters(0, 0, 0),
|
|
3844
|
+
)
|
|
3831
3845
|
|
|
3832
3846
|
# TODO: allow passing other settings
|
|
3833
3847
|
result = await self.send_command(
|
|
@@ -3880,7 +3894,7 @@ class Device(utils.CompositeEventEmitter):
|
|
|
3880
3894
|
self.le_connecting = False
|
|
3881
3895
|
self.connect_own_address_type = None
|
|
3882
3896
|
else:
|
|
3883
|
-
self.
|
|
3897
|
+
self.pending_connections.pop(peer_address, None)
|
|
3884
3898
|
|
|
3885
3899
|
async def accept(
|
|
3886
3900
|
self,
|
|
@@ -3978,7 +3992,17 @@ class Device(utils.CompositeEventEmitter):
|
|
|
3978
3992
|
# Even if we requested a role switch in the hci.HCI_Accept_Connection_Request
|
|
3979
3993
|
# command, this connection is still considered Peripheral until an eventual
|
|
3980
3994
|
# role change event.
|
|
3981
|
-
self.
|
|
3995
|
+
self.pending_connections[peer_address] = Connection(
|
|
3996
|
+
device=self,
|
|
3997
|
+
handle=0,
|
|
3998
|
+
transport=core.PhysicalTransport.BR_EDR,
|
|
3999
|
+
self_address=self.public_address,
|
|
4000
|
+
self_resolvable_address=None,
|
|
4001
|
+
peer_address=peer_address,
|
|
4002
|
+
peer_resolvable_address=None,
|
|
4003
|
+
role=hci.Role.PERIPHERAL,
|
|
4004
|
+
parameters=Connection.Parameters(0, 0, 0),
|
|
4005
|
+
)
|
|
3982
4006
|
|
|
3983
4007
|
try:
|
|
3984
4008
|
# Accept connection request
|
|
@@ -3996,7 +4020,7 @@ class Device(utils.CompositeEventEmitter):
|
|
|
3996
4020
|
finally:
|
|
3997
4021
|
self.remove_listener(self.EVENT_CONNECTION, on_connection)
|
|
3998
4022
|
self.remove_listener(self.EVENT_CONNECTION_FAILURE, on_connection_failure)
|
|
3999
|
-
self.
|
|
4023
|
+
self.pending_connections.pop(peer_address, None)
|
|
4000
4024
|
|
|
4001
4025
|
@asynccontextmanager
|
|
4002
4026
|
async def connect_as_gatt(self, peer_address: Union[hci.Address, str]):
|
|
@@ -5441,29 +5465,27 @@ class Device(utils.CompositeEventEmitter):
|
|
|
5441
5465
|
connection_handle: int,
|
|
5442
5466
|
peer_address: hci.Address,
|
|
5443
5467
|
) -> None:
|
|
5444
|
-
|
|
5468
|
+
if connection := self.pending_connections.pop(peer_address, None):
|
|
5469
|
+
connection.handle = connection_handle
|
|
5470
|
+
else:
|
|
5471
|
+
# Create a new connection
|
|
5472
|
+
connection = Connection(
|
|
5473
|
+
device=self,
|
|
5474
|
+
handle=connection_handle,
|
|
5475
|
+
transport=PhysicalTransport.BR_EDR,
|
|
5476
|
+
self_address=self.public_address,
|
|
5477
|
+
self_resolvable_address=None,
|
|
5478
|
+
peer_address=peer_address,
|
|
5479
|
+
peer_resolvable_address=None,
|
|
5480
|
+
role=hci.Role.PERIPHERAL,
|
|
5481
|
+
parameters=Connection.Parameters(0.0, 0, 0.0),
|
|
5482
|
+
)
|
|
5445
5483
|
|
|
5446
|
-
logger.debug(
|
|
5447
|
-
f'*** Connection: [0x{connection_handle:04X}] '
|
|
5448
|
-
f'{peer_address} {hci.HCI_Constant.role_name(connection_role)}'
|
|
5449
|
-
)
|
|
5484
|
+
logger.debug('*** %s', connection)
|
|
5450
5485
|
if connection_handle in self.connections:
|
|
5451
5486
|
logger.warning(
|
|
5452
5487
|
'new connection reuses the same handle as a previous connection'
|
|
5453
5488
|
)
|
|
5454
|
-
|
|
5455
|
-
# Create a new connection
|
|
5456
|
-
connection = Connection(
|
|
5457
|
-
device=self,
|
|
5458
|
-
handle=connection_handle,
|
|
5459
|
-
transport=PhysicalTransport.BR_EDR,
|
|
5460
|
-
self_address=self.public_address,
|
|
5461
|
-
self_resolvable_address=None,
|
|
5462
|
-
peer_address=peer_address,
|
|
5463
|
-
peer_resolvable_address=None,
|
|
5464
|
-
role=connection_role,
|
|
5465
|
-
parameters=Connection.Parameters(0.0, 0, 0.0),
|
|
5466
|
-
)
|
|
5467
5489
|
self.connections[connection_handle] = connection
|
|
5468
5490
|
|
|
5469
5491
|
self.emit(self.EVENT_CONNECTION, connection)
|
|
@@ -5618,7 +5640,9 @@ class Device(utils.CompositeEventEmitter):
|
|
|
5618
5640
|
|
|
5619
5641
|
# FIXME: Explore a delegate-model for BR/EDR wait connection #56.
|
|
5620
5642
|
@host_event_handler
|
|
5621
|
-
def on_connection_request(
|
|
5643
|
+
def on_connection_request(
|
|
5644
|
+
self, bd_addr: hci.Address, class_of_device: int, link_type: int
|
|
5645
|
+
):
|
|
5622
5646
|
logger.debug(f'*** Connection request: {bd_addr}')
|
|
5623
5647
|
|
|
5624
5648
|
# Handle SCO request.
|
|
@@ -5647,7 +5671,17 @@ class Device(utils.CompositeEventEmitter):
|
|
|
5647
5671
|
# device configuration is set to accept any incoming connection
|
|
5648
5672
|
elif self.classic_accept_any:
|
|
5649
5673
|
# Save pending connection
|
|
5650
|
-
self.
|
|
5674
|
+
self.pending_connections[bd_addr] = Connection(
|
|
5675
|
+
device=self,
|
|
5676
|
+
handle=0,
|
|
5677
|
+
transport=core.PhysicalTransport.BR_EDR,
|
|
5678
|
+
self_address=self.public_address,
|
|
5679
|
+
self_resolvable_address=None,
|
|
5680
|
+
peer_address=bd_addr,
|
|
5681
|
+
peer_resolvable_address=None,
|
|
5682
|
+
role=hci.Role.PERIPHERAL,
|
|
5683
|
+
parameters=Connection.Parameters(0, 0, 0),
|
|
5684
|
+
)
|
|
5651
5685
|
|
|
5652
5686
|
self.host.send_command_sync(
|
|
5653
5687
|
hci.HCI_Accept_Connection_Request_Command(
|
|
@@ -5958,7 +5992,7 @@ class Device(utils.CompositeEventEmitter):
|
|
|
5958
5992
|
@host_event_handler
|
|
5959
5993
|
@try_with_connection_from_address
|
|
5960
5994
|
def on_remote_name(
|
|
5961
|
-
self, connection: Connection, address: hci.Address, remote_name: bytes
|
|
5995
|
+
self, connection: Optional[Connection], address: hci.Address, remote_name: bytes
|
|
5962
5996
|
):
|
|
5963
5997
|
# Try to decode the name
|
|
5964
5998
|
try:
|
|
@@ -5977,7 +6011,7 @@ class Device(utils.CompositeEventEmitter):
|
|
|
5977
6011
|
@host_event_handler
|
|
5978
6012
|
@try_with_connection_from_address
|
|
5979
6013
|
def on_remote_name_failure(
|
|
5980
|
-
self, connection: Connection, address: hci.Address, error: int
|
|
6014
|
+
self, connection: Optional[Connection], address: hci.Address, error: int
|
|
5981
6015
|
):
|
|
5982
6016
|
if connection:
|
|
5983
6017
|
connection.emit(connection.EVENT_REMOTE_NAME_FAILURE, error)
|
|
@@ -6411,19 +6445,22 @@ class Device(utils.CompositeEventEmitter):
|
|
|
6411
6445
|
@host_event_handler
|
|
6412
6446
|
@try_with_connection_from_address
|
|
6413
6447
|
def on_role_change(
|
|
6414
|
-
self,
|
|
6448
|
+
self,
|
|
6449
|
+
connection: Optional[Connection],
|
|
6450
|
+
peer_address: hci.Address,
|
|
6451
|
+
new_role: hci.Role,
|
|
6415
6452
|
):
|
|
6416
6453
|
if connection:
|
|
6417
6454
|
connection.role = new_role
|
|
6418
6455
|
connection.emit(connection.EVENT_ROLE_CHANGE, new_role)
|
|
6419
6456
|
else:
|
|
6420
|
-
|
|
6457
|
+
logger.warning("Role change to unknown connection %s", peer_address)
|
|
6421
6458
|
|
|
6422
6459
|
# [Classic only]
|
|
6423
6460
|
@host_event_handler
|
|
6424
6461
|
@try_with_connection_from_address
|
|
6425
6462
|
def on_role_change_failure(
|
|
6426
|
-
self, connection: Connection, address: hci.Address, error: int
|
|
6463
|
+
self, connection: Optional[Connection], address: hci.Address, error: int
|
|
6427
6464
|
):
|
|
6428
6465
|
if connection:
|
|
6429
6466
|
connection.emit(connection.EVENT_ROLE_CHANGE_FAILURE, error)
|