예제 #1
0
        private async void RefreshConnectionStatus()
        {
            void UpdateConnectionString(string text, Color color) => Device.InvokeOnMainThreadAsync(() => { LblConnectionStatus.Text = text; LblConnectionStatus.TextColor = color; });

            _ = Task.Run(() => ViewExtensions.RelRotateTo(ImgRefreshConnection, 2800, 10000));

            UpdateConnectionString("Připojování...", Color.Gray);

            await Task.Run(() =>
            {
                switch (BluetoothController.ConnectToRPi())
                {
                case ConnectionState.BluetoothOFF:
                    UpdateConnectionString("Bluetooth je vypnuto!", Color.Gray);
                    break;

                case ConnectionState.Failed:
                    UpdateConnectionString("Připojení s RPi selhalo.", Color.Red);
                    break;

                case ConnectionState.Connected:
                    UpdateConnectionString("Připojení s RPi navázano.", Color.Green);
                    break;
                }
            });

            ViewExtensions.CancelAnimations(ImgRefreshConnection);
        }