Example #1
0
        protected override void Run()
        {
            if (!MonoDroidFramework.EnsureSdksInstalled())
            {
                return;
            }

            var proj      = DefaultUploadToDeviceHandler.GetActiveExecutableMonoDroidProject();
            var configSel = IdeApp.Workspace.ActiveConfiguration;

            OperationHandler createApk = delegate {
                using (var monitor = new MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor()) {
                    MonoDroidUtility.SignAndCopy(monitor, proj, configSel);
                }
            };

            if (proj.NeedsBuilding(configSel))
            {
                IdeApp.ProjectOperations.Build(proj).Completed += createApk;
            }
            else
            {
                createApk(null);
            }
        }
Example #2
0
        protected override void Run()
        {
            if (!MonoDroidFramework.EnsureSdksInstalled())
            {
                return;
            }

            MonoDroidFramework.Toolbox.StartAvdManager();
        }
Example #3
0
        //may block while it's showing a GUI. project MUST be built before calling this
        public static MonoDroidUploadOperation SignAndUpload(IProgressMonitor monitor, MonoDroidProject project,
                                                             ConfigurationSelector configSel, bool forceReplace, ref AndroidDevice device)
        {
            var conf  = project.GetConfiguration(configSel);
            var opMon = new AggregatedOperationMonitor(monitor);

            InvokeSynch(() => MonoDroidFramework.EnsureSdksInstalled());

            IAsyncOperation signOp = null;

            if (project.PackageNeedsSigning(configSel))
            {
                ClearUploadFlags(conf);
                signOp = project.SignPackage(configSel);
                opMon.AddOperation(signOp);
            }

            if (device == null)
            {
                device = InvokeSynch(() => ChooseDevice(null));
            }

            if (device == null)
            {
                opMon.Dispose();
                return(null);
            }

            if (!device.IsEmulator && MonoDroidFramework.CheckTrial())
            {
                opMon.Dispose();
                return(null);
            }

            //copture the device for a later anonymous method
            AndroidDevice dev = device;

            bool replaceIfExists = forceReplace || !GetUploadFlag(conf, device);

            var uploadOp = Upload(device, conf.ApkSignedPath, conf.PackageName, signOp, replaceIfExists);

            opMon.AddOperation(uploadOp);
            uploadOp.Completed += delegate(IAsyncOperation op) {
                if (op.Success)
                {
                    SetUploadFlag(conf, dev);
                }
                opMon.Dispose();
            };
            return(uploadOp);
        }
Example #4
0
        protected override void Run(object dataItem)
        {
            if (!MonoDroidFramework.EnsureSdksInstalled())
            {
                return;
            }

            var proj = DefaultUploadToDeviceHandler.GetActiveExecutableMonoDroidProject();
            var conf = (MonoDroidProjectConfiguration)proj.GetConfiguration(IdeApp.Workspace.ActiveConfiguration);

            var device = MonoDroidUtility.ChooseDevice(null);

            if (device != null)
            {
                proj.SetDeviceTarget(conf, device.ID);
            }
        }
Example #5
0
        public static IAsyncOperation Sign(IProgressMonitor monitor, MonoDroidProject project, ConfigurationSelector configSel)
        {
            var conf  = project.GetConfiguration(configSel);
            var opMon = new AggregatedOperationMonitor(monitor);

            InvokeSynch(() => MonoDroidFramework.EnsureSdksInstalled());

            IAsyncOperation signOp = null;

            if (project.PackageNeedsSigning(configSel))
            {
                ClearUploadFlags(conf);
                signOp            = project.SignPackage(configSel);
                signOp.Completed += delegate {
                    opMon.Dispose();
                };
                return(signOp);
            }

            return(Core.Execution.NullProcessAsyncOperation.Success);
        }
Example #6
0
        protected override void Run()
        {
            if (!MonoDroidFramework.EnsureSdksInstalled())
            {
                return;
            }

            var configSel = IdeApp.Workspace.ActiveConfiguration;
            var proj      = GetActiveExecutableMonoDroidProject();

            OperationHandler upload = delegate {
                using (var monitor = new MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor()) {
                    AndroidDevice device = null;

                    var conf     = (MonoDroidProjectConfiguration)proj.GetConfiguration(configSel);
                    var deviceId = proj.GetDeviceTarget(conf);
                    if (deviceId != null)
                    {
                        device = MonoDroidFramework.DeviceManager.GetDevice(deviceId);
                    }
                    if (device == null)
                    {
                        proj.SetDeviceTarget(conf, null);
                    }

                    MonoDroidUtility.SignAndUpload(monitor, proj, configSel, true, ref device);
                }
            };

            if (proj.NeedsBuilding(configSel))
            {
                IdeApp.ProjectOperations.Build(proj).Completed += upload;
            }
            else
            {
                upload(null);
            }
        }
Example #7
0
        protected override void Run()
        {
            if (!MonoDroidFramework.EnsureSdksInstalled())
            {
                return;
            }

            // TODO: We may should check the current build profile and
            // show a warning if we are in a debug mode.
            var configSel = IdeApp.Workspace.ActiveConfiguration;
            var proj      = DefaultUploadToDeviceHandler.GetActiveExecutableMonoDroidProject();
            var conf      = proj.GetConfiguration(configSel);

            OperationHandler signOp = delegate {
                using (var monitor = new MonoDevelop.Ide.ProgressMonitoring.MessageDialogProgressMonitor()) {
                    var dlg = new MonoDevelop.MonoDroid.Gui.MonoDroidPublishDialog()
                    {
                        ApkPath       = conf.ApkPath,
                        BaseDirectory = proj.BaseDirectory
                    };

                    if (MessageService.ShowCustomDialog(dlg) == (int)Gtk.ResponseType.Ok)
                    {
                        MonoDroidUtility.PublishPackage(monitor, proj, configSel, dlg.SigningOptions,
                                                        conf.ApkPath, dlg.DestinationApkPath, dlg.CreateNewKey, dlg.DName, dlg.KeyValidity * 365);
                    }
                };
            };

            if (proj.NeedsBuilding(configSel))
            {
                IdeApp.ProjectOperations.Build(proj).Completed += signOp;
            }
            else
            {
                signOp(null);
            }
        }