Esempio n. 1
0
        private void GenerateWebview(StackPanel addElement, HtmlNode htmlNode)
        {
            try
            {
                //Check if webview limit reached
                if (vWebViewAdded == vWebViewLimit)
                {
                    WebContainer webView = new WebContainer();
                    webView.item_status.Text = "Webview not loaded,\nlimit has been reached.";

                    addElement.Children.Add(webView);
                    //GenerateBreak(addElement);
                    return;
                }

                //Check if media loading is allowed
                if (!AppVariables.LoadMedia)
                {
                    WebContainer webView = new WebContainer();
                    webView.item_status.Text = "Webview not loaded,\nnetwork is not available.";

                    addElement.Children.Add(webView);
                    //GenerateBreak(addElement);
                    return;
                }

                //Check if device is low on memory
                if (AVFunctions.DevMemoryAvailableMB() < 200)
                {
                    WebContainer webView = new WebContainer();
                    webView.item_status.Text = "Webview not loaded,\ndevice is low on memory.";

                    addElement.Children.Add(webView);
                    //GenerateBreak(addElement);
                    return;
                }

                //Check if low bandwidth mode is enabled
                if ((bool)AppVariables.ApplicationSettings["LowBandwidthMode"])
                {
                    WebContainer webView = new WebContainer();
                    webView.item_status.Text = "Webview not loaded,\nlow bandwidth mode.";

                    addElement.Children.Add(webView);
                    //GenerateBreak(addElement);
                    return;
                }

                //Create item webview
                string WebLink = htmlNode.Attributes["src"].Value;
                if (!string.IsNullOrWhiteSpace(WebLink))
                {
                    System.Diagnostics.Debug.WriteLine("Opening webview: " + WebLink);

                    WebContainer webView = new WebContainer();
                    webView.MinHeight                       = AppVariables.DefaultMediaHeight;
                    webView.item_source.Source              = new Uri(WebLink);
                    webView.item_source.NewWindowRequested += webview_Full_NewWindowRequested;

                    addElement.Children.Add(webView);
                    //GenerateBreak(addElement);
                    System.Diagnostics.Debug.WriteLine("Added webview: " + WebLink);

                    //Update the webview count
                    vWebViewAdded++;
                }
            }
            catch { }
        }