public void ApplyChanges()
 {
     MonoDroidSdk.SetConfiguredSdkLocations(androidFolderEntry.Path, javaFolderEntry.Path);
     MonoDroidFramework.UpdateSdkLocations();
 }
Example #2
0
        public DeviceChooserDialog()
        {
            this.Build();

            /*
             * var banner = new HeaderBanner () {
             *      Text = GettextCatalog.GetString ("Select Device"),
             *      Image = Gdk.Pixbuf.LoadFromResource ("banner.png"),
             * };
             * bannerPlaceholder.Add (banner);
             * bannerPlaceholder.ShowAll ();*/

            deviceListTreeView.Model = store;
            var txtRenderer = new CellRendererText();

            deviceListTreeView.AppendColumn("Devices", txtRenderer, DeviceDataFunc);

            createEmulatorButton.Clicked += delegate {
                MonoDroidFramework.Toolbox.StartAvdManager();
            };

            startEmulatorButton.Clicked += delegate {
                TreeIter iter;
                if (deviceListTreeView.Selection.GetSelected(out iter))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    //status.StartOperation (GettextCatalog.GetString ("Starting virtual device '{0}'...", avd.Name));
                    if (dd.VirtualDevice != null)
                    {
                        MonoDroidFramework.VirtualDeviceManager.StartEmulator(dd.VirtualDevice);
                    }
                }
            };

            deviceListTreeView.Selection.Changed += UpdatedSelection;

            deviceListTreeView.RowActivated += delegate(object o, RowActivatedArgs args) {
                TreeIter iter;
                if (store.GetIter(out iter, args.Path))
                {
                    var dd = (DisplayDevice)store.GetValue(iter, 0);
                    if (dd.Device != null)
                    {
                        Device = dd.Device;
                        Respond(ResponseType.Ok);
                    }
                }
            };

            buttonOk.Sensitive            = false;
            startEmulatorButton.Sensitive = false;

            MonoDroidFramework.DeviceManager.DevicesUpdated += OnDevicesUpdated;
            MonoDroidFramework.VirtualDeviceManager.Changed += OnVirtualDevicesUpdated;
            OnDevicesUpdated(null, EventArgs.Empty);

            restartAdbButton.Clicked += delegate {
                store.Clear();
                restartAdbButton.Sensitive = false;
                MonoDroidFramework.DeviceManager.RestartAdbServer(() => {
                    Gtk.Application.Invoke(delegate {
                        if (!destroyed)
                        {
                            restartAdbButton.Sensitive = true;
                        }
                    });
                });
            };

            isTrial = MonoDroidFramework.IsTrial;

            if (isTrial)
            {
                var ib  = new MonoDevelop.Components.InfoBar();
                var img = new Image(typeof(DeviceChooserDialog).Assembly, "information.png");
                img.SetAlignment(0.5f, 0.5f);
                ib.PackEnd(img, false, false, 0);
                var msg = GettextCatalog.GetString("Trial version only supports the emulator");
                ib.MessageArea.Add(new Gtk.Label(msg)
                {
                    Yalign = 0.5f,
                    Xalign = 0f,
                    Style  = ib.Style,
                });
                string buyMessage;
                if (PropertyService.IsMac)
                {
                    buyMessage = GettextCatalog.GetString("Buy Full Version");
                }
                else
                {
                    buyMessage = GettextCatalog.GetString("Activate");
                }
                var buyButton = new Button(buyMessage);
                buyButton.Clicked += delegate {
                    if (MonoDroidFramework.Activate())
                    {
                        UnTrialify();
                    }
                };
                ib.ActionArea.Add(buyButton);
                ib.ShowAll();
                bannerPlaceholder.Add(ib);
            }
        }