Browse Source

Get more information from adb devices

pull/8/head
Daniel Martí 11 years ago
parent
commit
2d0d953f52
  1. 20
      adb/adb.go
  2. 4
      cmd/fdroidcl/main.go

20
adb/adb.go

@ -18,12 +18,17 @@ func StartServer() error {
return nil
}
type Device string
type Device struct {
Id string
Product string
Model string
Device string
}
var deviceRegex = regexp.MustCompile(`^(.+)\tdevice`)
var deviceRegex = regexp.MustCompile(`^([^\s]+)\s+device\s+product:([^\s]+)\s+model:([^\s]+)\s+device:([^\s]+)`)
func Devices() ([]Device, error) {
cmd := exec.Command("adb", "devices")
cmd := exec.Command("adb", "devices", "-l")
stdout, err := cmd.StdoutPipe()
if err != nil {
return nil, err
@ -39,8 +44,13 @@ func Devices() ([]Device, error) {
if len(m) < 2 {
continue
}
device := Device(m[1])
if device == "" {
device := Device{
Id: m[1],
Product: m[2],
Model: m[3],
Device: m[4],
}
if device.Id == "" {
continue
}
devices = append(devices, device)

4
cmd/fdroidcl/main.go

@ -16,7 +16,7 @@ import (
)
func appMatches(fields []string, terms []string) bool {
fieldLoop:
fieldLoop:
for _, field := range fields {
for _, term := range terms {
if !strings.Contains(field, term) {
@ -132,7 +132,7 @@ func main() {
log.Fatalf("Could not list devices: %v", err)
}
for _, device := range devices {
fmt.Println(device)
fmt.Printf("%s - %s (%s)\n", device.Id, device.Model, device.Product)
}
default:
log.Printf("Unrecognised command '%s'\n\n", cmd)

Loading…
Cancel
Save