Keep offline phone capabilities visible

This commit is contained in:
Gabriel Brown
2026-08-17 13:42:31 -04:00
parent 49ec4d8f6a
commit 190e3200e0
2 changed files with 49 additions and 1 deletions
@@ -142,6 +142,27 @@ def loaded_plugins(device_id: str, runner: Runner = subprocess.run) -> list[str]
return parse_loaded_plugins(result.stdout) if result.returncode == 0 else []
def supported_plugins(device_id: str, runner: Runner = subprocess.run) -> list[str]:
result = run_command(
[
"busctl",
"--user",
"get-property",
"org.kde.kdeconnect",
device_object(device_id),
"org.kde.kdeconnect.device",
"supportedPlugins",
],
runner=runner,
)
return parse_loaded_plugins(result.stdout) if result.returncode == 0 else []
def device_plugins(device_id: str, runner: Runner = subprocess.run) -> list[str]:
active = loaded_plugins(device_id, runner)
return active if active else supported_plugins(device_id, runner)
def reported_type(device_id: str, runner: Runner = subprocess.run) -> str:
result = run_command(
[
@@ -181,7 +202,7 @@ def collect_status(runner: Runner = subprocess.run) -> dict[str, object]:
try:
device = normalize_device_line(
line,
loaded_plugins(device_id, runner),
device_plugins(device_id, runner),
reported_type(device_id, runner),
)
except ValueError: