Use async_on_remove for vizio listeners (#40185)

This commit is contained in:
Raman Gupta 2020-09-17 21:13:40 -04:00 committed by GitHub
parent 0a0a8fc67d
commit 100d2369d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -143,7 +143,6 @@ class VizioDevice(MediaPlayerEntity):
) -> None:
"""Initialize Vizio device."""
self._config_entry = config_entry
self._async_unsub_listeners = []
self._apps_coordinator = apps_coordinator
self._name = name
@ -312,14 +311,14 @@ class VizioDevice(MediaPlayerEntity):
async def async_added_to_hass(self) -> None:
"""Register callbacks when entity is added."""
# Register callback for when config entry is updated.
self._async_unsub_listeners.append(
self.async_on_remove(
self._config_entry.add_update_listener(
self._async_send_update_options_signal
)
)
# Register callback for update event
self._async_unsub_listeners.append(
self.async_on_remove(
async_dispatcher_connect(
self.hass, self._config_entry.entry_id, self._async_update_options
)
@ -333,17 +332,10 @@ class VizioDevice(MediaPlayerEntity):
self.async_write_ha_state()
if self._device_class == DEVICE_CLASS_TV:
self._async_unsub_listeners.append(
self.async_on_remove(
self._apps_coordinator.async_add_listener(apps_list_update)
)
async def async_will_remove_from_hass(self) -> None:
"""Disconnect callbacks when entity is removed."""
for listener in self._async_unsub_listeners:
listener()
self._async_unsub_listeners.clear()
@property
def available(self) -> bool:
"""Return the availabiliity of the device."""