public static string GetStreamQualityString(AppConstants.StreamQuality streamQuality)
 {
     if (streamQuality == AppConstants.StreamQuality.Source)
     {
         return("Source");
     }
     else if (streamQuality == AppConstants.StreamQuality.High)
     {
         return("High");
     }
     else if (streamQuality == AppConstants.StreamQuality.Medium)
     {
         return("Medium");
     }
     else if (streamQuality == AppConstants.StreamQuality.Low)
     {
         return("Low");
     }
     else if (streamQuality == AppConstants.StreamQuality.Mobile)
     {
         return("Mobile");
     }
     else if (streamQuality == AppConstants.StreamQuality.Chunked)
     {
         return("Chunked");
     }
     else
     {
         return(string.Empty);
     }
 }
 private void SetQualityComboBox(AppConstants.StreamQuality quality, ComboBox comboBox)
 {
     for (int i = 0; i < comboBox.Items.Count; i++)
     {
         ComboBoxItem item = comboBox.Items[i] as ComboBoxItem;
         if (item != null)
         {
             if ((string)item.Content == HelperMethods.GetStreamQualityString(quality))
             {
                 comboBox.SelectedIndex = i;
                 break;
             }
         }
     }
 }
        public static async Task <Uri> GetPreferredQuality(Dictionary <AppConstants.StreamQuality, Uri> qualities)
        {
            AppConstants.NetworkConnectionType connection = await DetermineInternetConnection();

            AppConstants.StreamQuality preferredQuality = AppConstants.StreamQuality.Mobile;
            if (connection == AppConstants.NetworkConnectionType.Cellular)
            {
                preferredQuality = AppConstants.CellStreamQuality;
            }
            else if (connection == AppConstants.NetworkConnectionType.WiFi)
            {
                preferredQuality = AppConstants.WifiStreamQuality;
            }

            if (preferredQuality == AppConstants.StreamQuality.Source)
            {
                if (qualities.ContainsKey(AppConstants.StreamQuality.Source))
                {
                    return(qualities[AppConstants.StreamQuality.Source]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Chunked))
                {
                    return(qualities[AppConstants.StreamQuality.Chunked]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.High))
                {
                    return(qualities[AppConstants.StreamQuality.High]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Medium))
                {
                    return(qualities[AppConstants.StreamQuality.Medium]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Low))
                {
                    return(qualities[AppConstants.StreamQuality.Low]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Mobile))
                {
                    return(qualities[AppConstants.StreamQuality.Mobile]);
                }
            }
            else if (preferredQuality == AppConstants.StreamQuality.High)
            {
                if (qualities.ContainsKey(AppConstants.StreamQuality.High))
                {
                    return(qualities[AppConstants.StreamQuality.High]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Chunked))
                {
                    return(qualities[AppConstants.StreamQuality.Chunked]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Source))
                {
                    return(qualities[AppConstants.StreamQuality.Source]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Medium))
                {
                    return(qualities[AppConstants.StreamQuality.Medium]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Low))
                {
                    return(qualities[AppConstants.StreamQuality.Low]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Mobile))
                {
                    return(qualities[AppConstants.StreamQuality.Mobile]);
                }
            }
            else if (preferredQuality == AppConstants.StreamQuality.Medium)
            {
                if (qualities.ContainsKey(AppConstants.StreamQuality.Medium))
                {
                    return(qualities[AppConstants.StreamQuality.Medium]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.High))
                {
                    return(qualities[AppConstants.StreamQuality.High]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Chunked))
                {
                    return(qualities[AppConstants.StreamQuality.Chunked]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Source))
                {
                    return(qualities[AppConstants.StreamQuality.Source]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Low))
                {
                    return(qualities[AppConstants.StreamQuality.Low]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Mobile))
                {
                    return(qualities[AppConstants.StreamQuality.Mobile]);
                }
            }
            else if (preferredQuality == AppConstants.StreamQuality.Low)
            {
                if (qualities.ContainsKey(AppConstants.StreamQuality.Low))
                {
                    return(qualities[AppConstants.StreamQuality.Low]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Mobile))
                {
                    return(qualities[AppConstants.StreamQuality.Mobile]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Medium))
                {
                    return(qualities[AppConstants.StreamQuality.Medium]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.High))
                {
                    return(qualities[AppConstants.StreamQuality.High]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Chunked))
                {
                    return(qualities[AppConstants.StreamQuality.Chunked]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Source))
                {
                    return(qualities[AppConstants.StreamQuality.Source]);
                }
            }
            else if (preferredQuality == AppConstants.StreamQuality.Mobile)
            {
                if (qualities.ContainsKey(AppConstants.StreamQuality.Mobile))
                {
                    return(qualities[AppConstants.StreamQuality.Mobile]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Low))
                {
                    return(qualities[AppConstants.StreamQuality.Low]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Medium))
                {
                    return(qualities[AppConstants.StreamQuality.Medium]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.High))
                {
                    return(qualities[AppConstants.StreamQuality.High]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Chunked))
                {
                    return(qualities[AppConstants.StreamQuality.Chunked]);
                }
                else if (qualities.ContainsKey(AppConstants.StreamQuality.Source))
                {
                    return(qualities[AppConstants.StreamQuality.Source]);
                }
            }
            return(qualities[AppConstants.StreamQuality.Chunked]);
        }