Improve calls to async_show_progress in snooz (#107793)
This commit is contained in:
parent
e12dcfc1b4
commit
1c9764bc44
1 changed files with 12 additions and 15 deletions
|
@ -134,18 +134,20 @@ class SnoozConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||
self._pairing_task = self.hass.async_create_task(
|
||||
self._async_wait_for_pairing_mode()
|
||||
)
|
||||
|
||||
if not self._pairing_task.done():
|
||||
return self.async_show_progress(
|
||||
step_id="wait_for_pairing_mode",
|
||||
progress_action="wait_for_pairing_mode",
|
||||
progress_task=self._pairing_task,
|
||||
)
|
||||
|
||||
try:
|
||||
await self._pairing_task
|
||||
except asyncio.TimeoutError:
|
||||
self._pairing_task = None
|
||||
return self.async_show_progress_done(next_step_id="pairing_timeout")
|
||||
|
||||
self._pairing_task = None
|
||||
finally:
|
||||
self._pairing_task = None
|
||||
|
||||
return self.async_show_progress_done(next_step_id="pairing_complete")
|
||||
|
||||
|
@ -192,15 +194,10 @@ class SnoozConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||
) -> bool:
|
||||
return device.supported(service_info) and device.is_pairing
|
||||
|
||||
try:
|
||||
await async_process_advertisements(
|
||||
self.hass,
|
||||
is_device_in_pairing_mode,
|
||||
{"address": self._discovery.info.address},
|
||||
BluetoothScanningMode.ACTIVE,
|
||||
WAIT_FOR_PAIRING_TIMEOUT,
|
||||
)
|
||||
finally:
|
||||
self.hass.async_create_task(
|
||||
self.hass.config_entries.flow.async_configure(flow_id=self.flow_id)
|
||||
)
|
||||
await async_process_advertisements(
|
||||
self.hass,
|
||||
is_device_in_pairing_mode,
|
||||
{"address": self._discovery.info.address},
|
||||
BluetoothScanningMode.ACTIVE,
|
||||
WAIT_FOR_PAIRING_TIMEOUT,
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue