From 358044bdfd357916bad9ae9298fd89b54291a7a6 Mon Sep 17 00:00:00 2001 From: Ojas Kavathe Date: Wed, 27 Nov 2024 04:18:52 +0530 Subject: feat: add battery_percent to bluetooth devices --- lib/bluetooth/bluetooth.vala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lib/bluetooth/bluetooth.vala') diff --git a/lib/bluetooth/bluetooth.vala b/lib/bluetooth/bluetooth.vala index 6eb6b76..68431e5 100644 --- a/lib/bluetooth/bluetooth.vala +++ b/lib/bluetooth/bluetooth.vala @@ -138,6 +138,9 @@ public class AstalBluetooth.Bluetooth : Object { [CCode (cname="astal_bluetooth_iadapter_proxy_get_type")] extern static GLib.Type get_iadapter_proxy_type(); + [CCode (cname="astal_bluetooth_ibattery_proxy_get_type")] + extern static GLib.Type get_ibattery_proxy_type(); + private Type manager_proxy_get_type(DBusObjectManagerClient _, string object_path, string? interface_name) { if (interface_name == null) return typeof(DBusObjectProxy); @@ -147,6 +150,8 @@ public class AstalBluetooth.Bluetooth : Object { return get_idevice_proxy_type(); case "org.bluez.Adapter1": return get_iadapter_proxy_type(); + case "org.bluez.Battery1": + return get_ibattery_proxy_type(); default: return typeof(DBusProxy); } @@ -161,6 +166,15 @@ public class AstalBluetooth.Bluetooth : Object { sync(); } + if (iface is IBattery) { + var battery = new Battery((IBattery)iface); + var device = _devices.lookup(iface.g_object_path); + if (device != null) { + device.battery = battery; + } + sync(); + } + if (iface is IAdapter) { var adapter = new Adapter((IAdapter)iface); _adapters.set(adapter.object_path, adapter); -- cgit v1.2.3 From 95b2daac6cd4867ead5fb84defa6673410421039 Mon Sep 17 00:00:00 2001 From: Ojas Kavathe Date: Wed, 27 Nov 2024 15:24:57 +0530 Subject: bluetooth: percentage notify on change --- lib/bluetooth/bluetooth.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/bluetooth/bluetooth.vala') diff --git a/lib/bluetooth/bluetooth.vala b/lib/bluetooth/bluetooth.vala index 68431e5..02005c3 100644 --- a/lib/bluetooth/bluetooth.vala +++ b/lib/bluetooth/bluetooth.vala @@ -170,7 +170,7 @@ public class AstalBluetooth.Bluetooth : Object { var battery = new Battery((IBattery)iface); var device = _devices.lookup(iface.g_object_path); if (device != null) { - device.battery = battery; + device.set_battery(battery); } sync(); } -- cgit v1.2.3