Пример #1
0
        /// <summary>
        /// Run the packet on the given (already started) device.
        /// </summary>
        private void RunOnStartedDevice(IDevice device)
        {
            // Set state
            stateUpdate(LauncherStates.Deploying, string.Empty);

            // Prepare debug launcher
            Launcher.PrepareForLaunch();

            // Install package
            if (IsCancelled)
            {
                return;
            }
            var deployer = new BarDeployer(device);

            deployer.Logger += LogLine;
            LogLine(string.Format("----- Installing {0}", barPath));
            deployer.Install(barPath, false);
            LogLine(string.Format("----- Installed {0}", barPath));

            // Prepare for debugger attachment (if debuggable)
            if (IsCancelled)
            {
                return;
            }
            if (debuggable)
            {
                Launcher.StartLaunchMonitor(ide, device, barPath, packageName, 17 /*minSdkVersion TODO */, launchFlags, stateUpdate, cancellationTokenSource.Token);
            }

            // Run activity
            if (IsCancelled)
            {
                return;
            }
            stateUpdate(LauncherStates.Starting, string.Empty);
            LogLine(string.Format("----- Starting activity {0}", activity));
            deployer.LaunchFile(barPath);
            LogLine(string.Format("----- Started activity {0}", activity));
            stateUpdate(LauncherStates.Started, string.Empty);
        }
Пример #2
0
        /// <summary>
        /// Run the deployer in a background task.
        /// </summary>
        private void RunDeployer(Action <BarDeployLib.BarDeployer> action)
        {
            treeView.Nodes.Clear();
            var device   = BlackBerryDevices.Instance.DefaultDevice;
            var deployer = new BarDeployer(device)
            {
                Logger = LogResults
            };

            Enabled = false;
            var ui = TaskScheduler.FromCurrentSynchronizationContext();

            Task.Factory.StartNew(() => {
                try
                {
                    action(deployer);
                }
                catch (Exception ex)
                {
                    LogResults("Failure: " + ex.Message);
                }
            }).ContinueWith(t => { Enabled = true; }, ui);
        }