more merge fixes

This commit is contained in:
Gilles Boccon-Gibod
2025-05-04 11:31:15 -07:00
parent 088bcbed0b
commit 9f1e95d87f

View File

@@ -1811,7 +1811,7 @@ class Connection(utils.CompositeEventEmitter):
try: try:
await asyncio.wait_for( await asyncio.wait_for(
utils.cancel_on_event(self.device, 'flush', abort), timeout utils.cancel_on_event(self.device, Device.EVENT_FLUSH, abort), timeout
) )
finally: finally:
self.remove_listener(self.EVENT_DISCONNECTION, abort.set_result) self.remove_listener(self.EVENT_DISCONNECTION, abort.set_result)
@@ -3758,7 +3758,9 @@ class Device(utils.CompositeEventEmitter):
self.le_connecting = True self.le_connecting = True
if timeout is None: if timeout is None:
return await utils.cancel_on_event(self, 'flush', pending_connection) return await utils.cancel_on_event(
self, Device.EVENT_FLUSH, pending_connection
)
try: try:
return await asyncio.wait_for( return await asyncio.wait_for(
@@ -3776,7 +3778,7 @@ class Device(utils.CompositeEventEmitter):
try: try:
return await utils.cancel_on_event( return await utils.cancel_on_event(
self, 'flush', pending_connection self, Device.EVENT_FLUSH, pending_connection
) )
except core.ConnectionError as error: except core.ConnectionError as error:
raise core.TimeoutError() from error raise core.TimeoutError() from error
@@ -3833,7 +3835,9 @@ class Device(utils.CompositeEventEmitter):
try: try:
# Wait for a request or a completed connection # Wait for a request or a completed connection
pending_request = utils.cancel_on_event(self, 'flush', pending_request_fut) pending_request = utils.cancel_on_event(
self, Device.EVENT_FLUSH, pending_request_fut
)
result = await ( result = await (
asyncio.wait_for(pending_request, timeout) asyncio.wait_for(pending_request, timeout)
if timeout if timeout
@@ -3895,7 +3899,9 @@ class Device(utils.CompositeEventEmitter):
) )
# Wait for connection complete # Wait for connection complete
return await utils.cancel_on_event(self, 'flush', pending_connection) return await utils.cancel_on_event(
self, Device.EVENT_FLUSH, pending_connection
)
finally: finally:
self.remove_listener(self.EVENT_CONNECTION, on_connection) self.remove_listener(self.EVENT_CONNECTION, on_connection)
@@ -3971,7 +3977,9 @@ class Device(utils.CompositeEventEmitter):
# Wait for the disconnection process to complete # Wait for the disconnection process to complete
self.disconnecting = True self.disconnecting = True
return await utils.cancel_on_event(self, 'flush', pending_disconnection) return await utils.cancel_on_event(
self, Device.EVENT_FLUSH, pending_disconnection
)
finally: finally:
connection.remove_listener( connection.remove_listener(
connection.EVENT_DISCONNECTION, pending_disconnection.set_result connection.EVENT_DISCONNECTION, pending_disconnection.set_result
@@ -4195,7 +4203,7 @@ class Device(utils.CompositeEventEmitter):
else: else:
return None return None
return await utils.cancel_on_event(self, 'flush', peer_address) return await utils.cancel_on_event(self, Device.EVENT_FLUSH, peer_address)
finally: finally:
if listener is not None: if listener is not None:
self.remove_listener(event_name, listener) self.remove_listener(event_name, listener)
@@ -4245,7 +4253,7 @@ class Device(utils.CompositeEventEmitter):
if not self.scanning: if not self.scanning:
await self.start_scanning(filter_duplicates=True) await self.start_scanning(filter_duplicates=True)
return await utils.cancel_on_event(self, 'flush', peer_address) return await utils.cancel_on_event(self, Device.EVENT_FLUSH, peer_address)
finally: finally:
if listener is not None: if listener is not None:
self.remove_listener(event_name, listener) self.remove_listener(event_name, listener)
@@ -4353,7 +4361,7 @@ class Device(utils.CompositeEventEmitter):
# Wait for the authentication to complete # Wait for the authentication to complete
await utils.cancel_on_event( await utils.cancel_on_event(
connection, 'disconnection', pending_authentication connection, Connection.EVENT_DISCONNECTION, pending_authentication
) )
finally: finally:
connection.remove_listener( connection.remove_listener(
@@ -4441,7 +4449,9 @@ class Device(utils.CompositeEventEmitter):
raise hci.HCI_StatusError(result) raise hci.HCI_StatusError(result)
# Wait for the result # Wait for the result
await utils.cancel_on_event(connection, 'disconnection', pending_encryption) await utils.cancel_on_event(
connection, Connection.EVENT_DISCONNECTION, pending_encryption
)
finally: finally:
connection.remove_listener( connection.remove_listener(
connection.EVENT_CONNECTION_ENCRYPTION_CHANGE, on_encryption_change connection.EVENT_CONNECTION_ENCRYPTION_CHANGE, on_encryption_change
@@ -4486,7 +4496,7 @@ class Device(utils.CompositeEventEmitter):
) )
raise hci.HCI_StatusError(result) raise hci.HCI_StatusError(result)
await utils.cancel_on_event( await utils.cancel_on_event(
connection, 'disconnection', pending_role_change connection, Connection.EVENT_DISCONNECTION, pending_role_change
) )
finally: finally:
connection.remove_listener(connection.EVENT_ROLE_CHANGE, on_role_change) connection.remove_listener(connection.EVENT_ROLE_CHANGE, on_role_change)
@@ -4538,7 +4548,7 @@ class Device(utils.CompositeEventEmitter):
raise hci.HCI_StatusError(result) raise hci.HCI_StatusError(result)
# Wait for the result # Wait for the result
return await utils.cancel_on_event(self, 'flush', pending_name) return await utils.cancel_on_event(self, Device.EVENT_FLUSH, pending_name)
finally: finally:
self.remove_listener(self.EVENT_REMOTE_NAME, handler) self.remove_listener(self.EVENT_REMOTE_NAME, handler)
self.remove_listener(self.EVENT_REMOTE_NAME_FAILURE, failure_handler) self.remove_listener(self.EVENT_REMOTE_NAME_FAILURE, failure_handler)
@@ -5080,7 +5090,7 @@ class Device(utils.CompositeEventEmitter):
) )
utils.cancel_on_event( utils.cancel_on_event(
self, 'flush', self.update_keys(str(bd_addr), pairing_keys) self, Device.EVENT_FLUSH, self.update_keys(str(bd_addr), pairing_keys)
) )
if connection := self.find_connection_by_bd_addr( if connection := self.find_connection_by_bd_addr(
@@ -5350,8 +5360,10 @@ class Device(utils.CompositeEventEmitter):
# Setup auto-restart of the advertising set if needed. # Setup auto-restart of the advertising set if needed.
if advertising_set.auto_restart: if advertising_set.auto_restart:
connection.once( connection.once(
'disconnection', Connection.EVENT_DISCONNECTION,
lambda _: utils.cancel_on_event(self, 'flush', advertising_set.start()), lambda _: utils.cancel_on_event(
self, Device.EVENT_FLUSH, advertising_set.start()
),
) )
self.emit(self.EVENT_CONNECTION, connection) self.emit(self.EVENT_CONNECTION, connection)
@@ -5465,8 +5477,10 @@ class Device(utils.CompositeEventEmitter):
if self.legacy_advertiser.auto_restart: if self.legacy_advertiser.auto_restart:
advertiser = self.legacy_advertiser advertiser = self.legacy_advertiser
connection.once( connection.once(
'disconnection', Connection.EVENT_DISCONNECTION,
lambda _: utils.cancel_on_event(self, 'flush', advertiser.start()), lambda _: utils.cancel_on_event(
self, Device.EVENT_FLUSH, advertiser.start()
),
) )
else: else:
self.legacy_advertiser = None self.legacy_advertiser = None
@@ -5725,7 +5739,9 @@ class Device(utils.CompositeEventEmitter):
async def reply() -> None: async def reply() -> None:
try: try:
if await utils.cancel_on_event(connection, 'disconnection', method()): if await utils.cancel_on_event(
connection, Connection.EVENT_DISCONNECTION, method()
):
await self.host.send_command( await self.host.send_command(
hci.HCI_User_Confirmation_Request_Reply_Command( hci.HCI_User_Confirmation_Request_Reply_Command(
bd_addr=connection.peer_address bd_addr=connection.peer_address
@@ -5753,7 +5769,9 @@ class Device(utils.CompositeEventEmitter):
async def reply() -> None: async def reply() -> None:
try: try:
number = await utils.cancel_on_event( number = await utils.cancel_on_event(
connection, 'disconnection', pairing_config.delegate.get_number() connection,
Connection.EVENT_DISCONNECTION,
pairing_config.delegate.get_number(),
) )
if number is not None: if number is not None:
await self.host.send_command( await self.host.send_command(
@@ -5787,7 +5805,9 @@ class Device(utils.CompositeEventEmitter):
# Ask the user to enter a string # Ask the user to enter a string
async def get_pin_code(): async def get_pin_code():
pin_code = await utils.cancel_on_event( pin_code = await utils.cancel_on_event(
connection, 'disconnection', pairing_config.delegate.get_string(16) connection,
Connection.EVENT_DISCONNECTION,
pairing_config.delegate.get_string(16),
) )
if pin_code is not None: if pin_code is not None:
@@ -5825,13 +5845,10 @@ class Device(utils.CompositeEventEmitter):
pairing_config = self.pairing_config_factory(connection) pairing_config = self.pairing_config_factory(connection)
# Show the passkey to the user # Show the passkey to the user
<<<<<<< HEAD
utils.cancel_on_event( utils.cancel_on_event(
connection, 'disconnection', pairing_config.delegate.display_number(passkey) connection,
======= Connection.EVENT_DISCONNECTION,
connection.abort_on( pairing_config.delegate.display_number(passkey, digits=6),
'disconnection', pairing_config.delegate.display_number(passkey, digits=6)
>>>>>>> fdf90c6 (add LE advertisement and HR service)
) )
# [Classic only] # [Classic only]