public MainWindow() { InitializeComponent(); /** * TODO: * Copy keys * Load all packages * Download them * List connected devices * Ask for a package to be selected * Install to all current devices, also start listening for device connections */ Packages = new ObservableCollection <AndroidPackage>(); Devices = new ObservableCollection <DeviceData>(); lblIcon.Content = "Loading keys."; mKeyHelper = new KeyHelper(true); lblIcon.Content = "Downloading packages"; cmbDevice.ItemsSource = Devices; mPkgMgr = PackageManager.CreateWithUrlAndFetch(null); lstPackages.ItemsSource = Packages; mPkgMgr.PackageDownloaded += MPkgMgrOnPackageDownloaded; mPkgMgr.PackageLoaded += MPkgMgrOnPackageLoaded; mPkgMgr.AddAllAsync(mPackages.ToArray()) .ContinueWith(t => { if (t.IsFaulted) { OnInitialPackagesFailed(t); } else { OnInitalPackagesDone(t); } }); string adbFile = Path.Combine(Directory.GetCurrentDirectory(), "platform_tools", "adb.exe"); //Ask for the package to be selected.. mAdb = new AdbManager(adbFile); StartListening(); var devs = mAdb.GetDevicesInfos(); foreach (var dev in devs) { Devices.Add(dev); } if (devs.Count == 0) { lblStatus.Text = "No devices connected."; } else { lblStatus.Text = $"Devices connected: {devs.Count}"; } }
private async Task installToCurrentDevices(string pkgname) { var devs = mAdb.GetDevicesInfos(); foreach (var device in devs) { await CheckPrerequisites(device); await InstallPackage(device, pkgname); } }