Browse Source

Restructure download+install code

pull/8/head
Daniel Martí 11 years ago
parent
commit
4edeb99822
  1. 32
      cmd/fdroidcl/install.go

32
cmd/fdroidcl/install.go

@ -6,6 +6,9 @@ package main
import (
"fmt"
"log"
"github.com/mvdan/fdroidcl"
"github.com/mvdan/fdroidcl/adb"
)
var cmdInstall = &Command{
@ -23,21 +26,30 @@ func runInstall(args []string) {
}
device := mustOneDevice()
apps := findApps(args)
paths := make([]string, len(apps))
type downloaded struct {
apk *fdroidcl.Apk
path string
}
toInstall := make([]downloaded, len(apps))
for i, app := range apps {
apk := app.CurApk()
if apk == nil {
log.Fatalf("No current apk found for %s", app.ID)
}
paths[i] = downloadApk(apk)
path := downloadApk(apk)
toInstall[i] = downloaded{apk: apk, path: path}
}
for i, app := range apps {
path := paths[i]
fmt.Printf("Installing %s... ", app.ID)
if err := device.Install(path); err != nil {
fmt.Println()
log.Fatalf("Could not install '%s': %v", app.ID, err)
}
fmt.Println("done")
for _, t := range toInstall {
installApk(device, t.apk, t.path)
}
}
func installApk(device *adb.Device, apk *fdroidcl.Apk, path string) {
fmt.Printf("Installing %s... ", apk.App.ID)
if err := device.Install(path); err != nil {
fmt.Println()
log.Fatalf("Could not install '%s': %v", apk.App.ID, err)
}
fmt.Println("done")
}

Loading…
Cancel
Save