feat(services): streamline DBus menu caching and notification handling

- Consolidate logger disabling, cache empty menus with TTL, and move name resolution to a dedicated resolver to reduce duplication and improve performance
This commit is contained in:
sankalp committed 2026-06-24 12:52:36 +05:45
1 parent 8ec0ae267d
commit 0594759fed
6 files changed
+161 -75

No files matched your search

+6 -9
View File
@@ -225,8 +225,7 @@ class BluetoothAdapter(Service):
@Property(list, "readable")
def devices(self) -> list:
return [d for d in self._devices.values() if d.paired or d.trusted]
return list(self._devices.values())
@Property(list, "readable")
def connected_devices(self) -> list:
@@ -378,15 +377,13 @@ class BluetoothAdapter(Service):
if not device:
return
was_visible = device.paired or device.trusted
logger.info(f"[Bluetooth:{self.name}] Removing device: {addr}")
if was_visible:
self.emit("device-removed", addr)
if device.connected:
self.notify("connected-devices")
self.notify("devices")
self.emit("changed")
self.emit("device-removed", addr)
if device.connected:
self.notify("connected-devices")
self.notify("devices")
self.emit("changed")
device.close()