Exemplo n.º 1
0
 /// <summary>
 /// Trys to establish a connection with a given Bridge and navigates to RegisterApplication;
 /// </summary>
 /// <param name="ipAddress">The IP address of the Bridge</param>
 private void ConfigureIPAddress(string ipAddress)
 {
     if (ConnectToBridge.SelectBridge(ipAddress))
     {
         Frame.Navigate(typeof(RegisterApplication));
     }
 }
Exemplo n.º 2
0
        private async void YesAPIPopup_Click(object sender, RoutedEventArgs e)
        {
            APIKeyPopup.Scale = new Vector3(0, 0, 0);
            await Task.Delay((int)APIKeyPopup.ScaleTransition.Duration.TotalMilliseconds);

            APIKeyPopup.Visibility      = Visibility.Collapsed;
            ShowAPIKeyButton.Visibility = Visibility.Collapsed;

            APIKey.Text       = ConnectToBridge.GetAppKey();
            APIKey.Visibility = Visibility.Visible;
        }
Exemplo n.º 3
0
        private bool ConnectToSavedBridge()
        {
            if (ConnectToBridge.SelectBridgeWithSavedIPAddress())
            {
                if (ConnectToBridge.InitializeKey())
                {
                    return(true);
                }
            }

            return(false);
        }
Exemplo n.º 4
0
        private void PassOn()
        {
            if (!TelemetryService.HasTelemetryConfig() || (BridgeInformation.demoMode && !BridgeInformation.showedDemoModeIntroduction))
            {
                mainShell.ShowIntroduction();
                return;
            }

            if (BridgeInformation.isConnected)
            {
                FillWithInformation();

                mainShell.userCanUseNav = true;
                return;
            }

            if (!ConnectToBridge.HasIPAddress())
            {
                this.Frame.Navigate(typeof(FindBridge));
                return;
            }

            if (!ConnectToBridge.HasAppKey())
            {
                if (ConnectToBridge.SelectBridgeWithSavedIPAddress())
                {
                    this.Frame.Navigate(typeof(RegisterApplication));
                    return;
                }
            }

            if (!BridgeInformation.isConnected && !BridgeInformation.demoMode)
            {
                if (ConnectToSavedBridge())
                {
                    _ = TelemetryService.SendTelemetryReport();
                    mainShell.userCanUseNav = true;

                    if (BridgeInformation.redirectToLightControl)
                    {
                        BridgeInformation.redirectToLightControl = false;
                        mainShell.NavigateToPageAndSelect(1);
                    }
                    else
                    {
                        FillWithInformation();
                    }
                    return;
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Updates every 5 secondes the buttons of the available Bridges.
        /// </summary>
        private async Task UpdateAvailableBridges()
        {
            Q42.HueApi.Models.Bridge.LocatedBridge[] bridges = await ConnectToBridge.LocateAllBridges();

            while (true)
            {
                bridges = await ConnectToBridge.LocateAllBridges();

                HideAllAvailableBridges();
                ShowAvailableBridges(bridges);

                await Task.Delay(5000);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Trys to register this application every 5 seconds. If successful, it sets BridgeInformation.redirectToLightControl to false and navigates to BridgeConfig.
        /// </summary>
        private async Task UpdateAvailableBridges()
        {
            await Task.Delay(5000);

            while (true)
            {
                if (await ConnectToBridge.RegisterApplication())
                {
                    Connection.BridgeInformation.redirectToLightControl = false;
                    Frame.Navigate(typeof(BridgeConfig));
                    break;
                }

                await Task.Delay(5000);
            }
        }