Use config_entry.async_on_unload in forked_daapd (#137656)

This commit is contained in:
epenet 2025-02-07 16:30:58 +01:00 committed by GitHub
parent 040e1ff5fb
commit 1d6aec44df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 16 deletions

View File

@ -4,7 +4,7 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from .const import DOMAIN, HASS_DATA_REMOVE_LISTENERS_KEY, HASS_DATA_UPDATER_KEY
from .const import DOMAIN, HASS_DATA_UPDATER_KEY
PLATFORMS = [Platform.MEDIA_PLAYER]
@ -23,10 +23,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
HASS_DATA_UPDATER_KEY
].websocket_handler:
websocket_handler.cancel()
for remove_listener in hass.data[DOMAIN][entry.entry_id][
HASS_DATA_REMOVE_LISTENERS_KEY
]:
remove_listener()
del hass.data[DOMAIN][entry.entry_id]
if not hass.data[DOMAIN]:
del hass.data[DOMAIN]

View File

@ -32,7 +32,6 @@ DEFAULT_TTS_VOLUME = 0.8
DEFAULT_UNMUTE_VOLUME = 0.6
DOMAIN = "forked_daapd" # key for hass.data
FD_NAME = "OwnTone"
HASS_DATA_REMOVE_LISTENERS_KEY = "REMOVE_LISTENERS"
HASS_DATA_UPDATER_KEY = "UPDATER"
KNOWN_PIPES = {"librespot-java"}
PIPE_FUNCTION_MAP = {

View File

@ -58,7 +58,6 @@ from .const import (
DEFAULT_UNMUTE_VOLUME,
DOMAIN,
FD_NAME,
HASS_DATA_REMOVE_LISTENERS_KEY,
HASS_DATA_UPDATER_KEY,
KNOWN_PIPES,
PIPE_FUNCTION_MAP,
@ -110,19 +109,16 @@ async def async_setup_entry(
ForkedDaapdZone(api, output, config_entry.entry_id) for output in outputs
)
remove_add_zones_listener = async_dispatcher_connect(
hass, SIGNAL_ADD_ZONES.format(config_entry.entry_id), async_add_zones
config_entry.async_on_unload(
async_dispatcher_connect(
hass, SIGNAL_ADD_ZONES.format(config_entry.entry_id), async_add_zones
)
)
remove_entry_listener = config_entry.add_update_listener(update_listener)
config_entry.async_on_unload(config_entry.add_update_listener(update_listener))
if not hass.data.get(DOMAIN):
hass.data[DOMAIN] = {config_entry.entry_id: {}}
hass.data[DOMAIN][config_entry.entry_id] = {
HASS_DATA_REMOVE_LISTENERS_KEY: [
remove_add_zones_listener,
remove_entry_listener,
]
}
async_add_entities([forked_daapd_master], False)
forked_daapd_updater = ForkedDaapdUpdater(
hass, forked_daapd_api, config_entry.entry_id