コード例 #1
0
        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);
        }
コード例 #2
0
 public void Start()
 {
     chop.Start();
 }