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 ( import (
"fmt" "fmt"
"log" "log"
"github.com/mvdan/fdroidcl"
"github.com/mvdan/fdroidcl/adb"
) )
var cmdInstall = &Command{ var cmdInstall = &Command{
@ -23,21 +26,30 @@ func runInstall(args []string) {
} }
device := mustOneDevice() device := mustOneDevice()
apps := findApps(args) 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 { for i, app := range apps {
apk := app.CurApk() apk := app.CurApk()
if apk == nil { if apk == nil {
log.Fatalf("No current apk found for %s", app.ID) 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 { for _, t := range toInstall {
path := paths[i] installApk(device, t.apk, t.path)
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) func installApk(device *adb.Device, apk *fdroidcl.Apk, path string) {
} fmt.Printf("Installing %s... ", apk.App.ID)
fmt.Println("done") 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