diff --git a/cmd/fdroidcl/devices.go b/cmd/fdroidcl/devices.go index 1487788..85a4a27 100644 --- a/cmd/fdroidcl/devices.go +++ b/cmd/fdroidcl/devices.go @@ -40,14 +40,25 @@ func startAdbIfNeeded() { } } -func mustOneDevice() *adb.Device { +func maybeOneDevice() *adb.Device { startAdbIfNeeded() devices, err := adb.Devices() if err != nil { log.Fatalf("Could not get devices: %v", err) } - if len(devices) != 1 { - log.Fatalf("Exactly one connected device is needed") + if len(devices) > 1 { + log.Fatalf("At most one connected device can be used") + } + if len(devices) < 1 { + return nil } return devices[0] } + +func mustOneDevice() *adb.Device { + device := maybeOneDevice() + if device == nil { + log.Fatalf("A connected device is needed") + } + return device +}