Browse Source

Better handling of features that need a device

pull/8/head
Daniel Martí 11 years ago
parent
commit
7d9205d4b9
  1. 17
      cmd/fdroidcl/devices.go
  2. 8
      cmd/fdroidcl/search.go

17
cmd/fdroidcl/devices.go

@ -40,18 +40,21 @@ func startAdbIfNeeded() {
}
}
func oneDevice() *adb.Device {
func maybeOneDevice() *adb.Device {
devices, err := adb.Devices()
if err != nil {
log.Fatalf("Could not get devices: %v", err)
}
if len(devices) == 0 {
log.Printf("No devices found, no device info will be available")
return nil
}
if len(devices) > 1 {
log.Printf("Too many devices found, no device info will be available")
if len(devices) != 1 {
return nil
}
return devices[0]
}
func mustOneDevice() *adb.Device {
device := maybeOneDevice()
if device == nil {
log.Fatalf("Exactly one connected device is needed")
}
return device
}

8
cmd/fdroidcl/search.go

@ -33,9 +33,11 @@ func runSearch(args []string) {
fmt.Println("-i is redundant if -u is specified")
cmdSearch.Flag.Usage()
}
device := oneDevice()
if device == nil && (*installed || *updates) {
log.Fatalf("Exactly one connected device is needed")
var device *adb.Device
if *installed || *updates {
device = mustOneDevice()
} else {
device = maybeOneDevice()
}
index := mustLoadIndex()
apps := filterAppsSearch(index.Apps, args)

Loading…
Cancel
Save