aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzxzxwu <92432172+zxzxwu@users.noreply.github.com>2024-02-06 16:13:51 +0800
committerGitHub <noreply@github.com>2024-02-06 16:13:51 +0800
commit90f49267d146e143e1e2db513a598a3d538e3e0f (patch)
tree14f2fc024ea0e632e65306c4dc32f705bc89e747
parentf4aeaa6eb3f66b516e702c9e78006a5685abdcf7 (diff)
parent9eccc583d5bafb9b513e7a7d03efaa64b290d902 (diff)
downloadbumble-90f49267d146e143e1e2db513a598a3d538e3e0f.tar.gz
Merge pull request #424 from zxzxwu/adv
Fix double-disable legacy advertising set
-rw-r--r--bumble/device.py13
1 files changed, 5 insertions, 8 deletions
diff --git a/bumble/device.py b/bumble/device.py
index 46ddc48..01a5cbe 100644
--- a/bumble/device.py
+++ b/bumble/device.py
@@ -2065,7 +2065,9 @@ class Device(CompositeEventEmitter):
"""Stop legacy advertising."""
# Disable advertising
if self.legacy_advertising_set:
- await self.legacy_advertising_set.stop()
+ if self.legacy_advertising_set.enabled:
+ await self.legacy_advertising_set.stop()
+ await self.legacy_advertising_set.remove()
self.legacy_advertising_set = None
elif self.legacy_advertiser:
await self.legacy_advertiser.stop()
@@ -2207,9 +2209,6 @@ class Device(CompositeEventEmitter):
if self.legacy_advertiser:
return True
- if self.legacy_advertising_set and self.legacy_advertising_set.enabled:
- return True
-
return any(
advertising_set.enabled
for advertising_set in self.extended_advertising_sets.values()
@@ -3541,11 +3540,9 @@ class Device(CompositeEventEmitter):
connection_handle,
number_of_completed_extended_advertising_events,
):
+ # Legacy advertising set is also one of extended advertising sets.
if not (
- advertising_set := (
- self.extended_advertising_sets.get(advertising_handle)
- or self.legacy_advertising_set
- )
+ advertising_set := self.extended_advertising_sets.get(advertising_handle)
):
logger.warning(f'advertising set {advertising_handle} not found')
return