static IAsyncOperation CopyApk(IAsyncOperation signOp, string srcApk, string destApk) { var monitor = IdeApp.Workbench.ProgressMonitors.GetOutputProgressMonitor( GettextCatalog.GetString("Create Android Package"), MonoDevelop.Ide.Gui.Stock.RunProgramIcon, true, true); var chop = new ChainedAsyncOperationSequence(monitor, new ChainedAsyncOperation() { TaskName = "Waiting for package creation to complete", Skip = () => signOp == null || signOp.IsCompleted ? "" : null, Create = () => signOp, ErrorMessage = "Package creation failed" }, new ChainedAsyncOperation() { TaskName = "Moving package to final destination", Create = () => { File.Copy(srcApk, destApk, true); return(Core.Execution.NullProcessAsyncOperation.Success); }, ErrorMessage = "Error moving package to final destination" } ); chop.Completed += delegate { monitor.Dispose(); }; chop.Start(); return(chop); }
public void Start() { chop.Start(); }