Ejemplo n.º 1
0
        private void OnDeviceCreated(object sender, DeviceCreatedEventArgs e)
        {
            WLEDDevice toAdd = e.CreatedDevice;

            if (toAdd != null)
            {
                foreach (WLEDDevice d in deviceList)
                {
                    //ensure there is only one device entry per IP
                    if (toAdd.NetworkAddress.Equals(d.NetworkAddress))
                    {
                        if (toAdd.NameIsCustom)
                        {
                            d.Name         = toAdd.Name;
                            d.NameIsCustom = true;
                            ReinsertDeviceSorted(d);
                        }
                        return;
                    }
                }
                InsertDeviceSorted(toAdd);

                toAdd.PropertyChanged += DevicePropertyChanged;
                if (e.RefreshRequired)
                {
                    _ = toAdd.Refresh();
                }

                UpdateElementsVisibility();
            }
        }
Ejemplo n.º 2
0
        private async void OnServiceAdded(object sender, ServiceAnnouncementEventArgs e)
        {
            WLEDDevice toAdd = new WLEDDevice();

            foreach (var addr in e.Announcement.Addresses)
            {
                toAdd.NetworkAddress = addr.ToString(); break; //only get first address
            }
            toAdd.Name         = e.Announcement.Hostname;
            toAdd.NameIsCustom = false;
            if (await toAdd.Refresh()) //check if the service is a valid WLED light
            {
                OnValidDeviceFound(new DeviceCreatedEventArgs(toAdd, false));
            }
        }
Ejemplo n.º 3
0
        private async void OnBackButtonTapped(object sender, EventArgs e)
        {
            await Navigation.PopModalAsync(false);

            currentDevice?.Refresh(); //refresh device list item to apply changes made in the control page
        }