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); }