/// <summary>
 ///
 /// </summary>
 /// <param name="views">A list of views to display in the alert.</param>
 /// <param name="accentColor">Color of the circle.</param>
 /// <param name="title"></param>
 /// <param name="titleFont"></param>
 /// <param name="content"></param>
 /// <param name="contentFont"></param>
 /// <param name="alertType"></param>
 /// <param name="customImage">Image to be displayed in the circle.</param>
 /// <returns></returns>
 public static async Task ShowCustomAlert(List <View> views, Color accentColor, string title = "", ExtendedFont titleFont = null,
                                          string content          = "", ExtendedFont contentFont = null, AlertType alertType = AlertType.AccentOnly,
                                          ImageSource customImage = null)
 {
     var view = new AdvancedAlertView(views, accentColor, title, titleFont, content, contentFont, alertType, customImage);
     await Application.Current.MainPage.Navigation.PushPopupAsync(view);
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="accentColor"></param>
        /// <param name="title"></param>
        /// <param name="titleFont"></param>
        /// <param name="content"></param>
        /// <param name="contentFont"></param>
        /// <param name="duration">How long the alert should be visible</param>
        /// <returns></returns>
        public static async Task ShowWaitingAlert(Color accentColor, string title = "", ExtendedFont titleFont = null,
                                                  string content = "", ExtendedFont contentFont = null, int duration = 0)
        {
            var view = new AdvancedAlertView(null, accentColor, title, titleFont, content, contentFont, AlertType.Waiting);
            await Application.Current.MainPage.Navigation.PushPopupAsync(view);

            if (duration > 0)
            {
                await Task.Delay(duration);

                await view.Navigation.PopPopupAsync();
            }
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="buttons">A list of buttons to appear in the alert view.</param>
 /// <param name="presetType"></param>
 /// <param name="title"></param>
 /// <param name="titleFont"></param>
 /// <param name="content"></param>
 /// <param name="contentFont"></param>
 /// <param name="buttonFont"></param>
 /// <param name="okCommand"></param>
 /// <returns></returns>
 public static async Task ShowPresetAlert(List <ExtendedButton> buttons, PresetType presetType, string title = "", ExtendedFont titleFont = null,
                                          string content = "", ExtendedFont contentFont = null, ExtendedFont buttonFont = null, Command okCommand = null)
 {
     var view = new AdvancedAlertView(buttons.Cast <View>().ToList(), DefaultColor, title, titleFont, content, contentFont, AlertType.Preset, presetType: presetType);
     await Application.Current.MainPage.Navigation.PushPopupAsync(view);
 }