Skip to content

Commit

Permalink
Do not exit after pairing is finished
Browse files Browse the repository at this point in the history
Android performs additional service
discovery during pairing, otherwise
pairing fails.
  • Loading branch information
benquike committed Nov 17, 2023
1 parent 42868b0 commit 24e75bf
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions apps/pair.py
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,7 @@ async def pair(
mitm,
bond,
ctkd,
linger,
io,
oob,
prompt,
Expand Down Expand Up @@ -395,17 +396,20 @@ async def pair(
address_or_name,
transport=BT_LE_TRANSPORT if mode == 'le' else BT_BR_EDR_TRANSPORT,
)
pairing_failure = False

if not request:
try:
if mode == 'le':
await connection.pair()
else:
await connection.authenticate()
return
except ProtocolError as error:
pairing_failure = True
print(color(f'Pairing failed: {error}', 'red'))
return

if not linger or pairing_failure:
return
else:
if mode == 'le':
# Advertise so that peers can find us and connect
Expand Down Expand Up @@ -455,6 +459,7 @@ def emit(self, record):
help='Enable CTKD',
show_default=True,
)
@click.option('--linger', default=True, is_flag=True, help='Linger after pairing')
@click.option(
'--io',
type=click.Choice(
Expand Down Expand Up @@ -490,6 +495,7 @@ def main(
mitm,
bond,
ctkd,
linger,
io,
oob,
prompt,
Expand All @@ -514,6 +520,7 @@ def main(
mitm,
bond,
ctkd,
linger,
io,
oob,
prompt,
Expand Down

0 comments on commit 24e75bf

Please sign in to comment.