private async void BtnLoginClicked(object sender, EventArgs e) { if (BtnLogin.Opacity < 1) { return; } if (!PGService.CheckConnection(true)) { return; } Indicator.IsRunning = true; Indicator.IsVisible = true; BtnLogin.Opacity = 0.4; if (!string.IsNullOrWhiteSpace(Core.Settings.AuthToken)) { // Check if authtoken about to expired var res = await LoginHelper.CheckAuthTokenExpiration(); if (!res) { LoginFailed(); } else { LoginFinish(); } } else { LoginStart(); } }
public void ShowBrowser(string title, string url, BrowserType type = BrowserType.Cached, bool hideTitle = false) { if (string.IsNullOrEmpty(url)) { return; } var urldata = UrlParser.Parse(url); if (string.IsNullOrEmpty(urldata.AbsoluteUrl) || !PGService.CheckConnection(true)) { return; } if (browser == null) { browser = new WebViewerView(type, this, true, true, showTitlePanel: !hideTitle); browser.WidthRequest = Bounds.Width; browser.HeightRequest = Bounds.Height; browser.OnReturn += BrowserOnReturn; } browser.Uri = urldata.AbsoluteUrl; browser.GoHome(); browser.Title = title; browser.IsVisible = true; GridLogin.IsVisible = false; SLContent.Children.Add(browser); }
public override bool ShouldOverrideUrlLoading(WebView view, string url) { if (Renderer.WebViewer.BrowserType == BrowserType.NewLogin) { Renderer?.LoginUrls.Add(url); if (url.Contains("callback?code")) { //Renderer?.SaveHpIdCookie(); return(true); } } _url = url.ToString(); if (string.IsNullOrEmpty(_url) || //_url.Contains("about:blank") || _url.StartsWith("tel:", StringComparison.OrdinalIgnoreCase)) { return(true); } //Debug.WriteLine("ShouldStartLoad Pre: " + _url); var urlData = UrlParser.Parse(_url); if (urlData.AbsoluteUrl.ToLower().Contains(".pdf") || urlData.AbsoluteUrl.ToLower().Contains(".ics")) { if (PGService.CheckConnection(true)) { //MainActivity.Instance.GetWritePermission(); Renderer?.DocLinkRequested(urlData.AbsoluteUrl); } return(true); } else if (urlData.AbsoluteUrl.ToLower().Contains(".mp4")) { if (PGService.CheckConnection(true)) { Intent intent = new Intent(Intent.ActionView); intent.SetDataAndType(Android.Net.Uri.Parse(url), "video/*"); view.Context.StartActivity(intent); } return(true); } _url = urlData.AbsoluteUrl; var webViewer = Renderer?.WebViewer; if (webViewer == null) { return(false); } if (!urlData.Url.Contains(PGService.ApiServerUrl) && !webViewer.IsExternal && (webViewer.BrowserType == BrowserType.Standard || webViewer.BrowserType == BrowserType.Cached)) { if (PGService.CheckConnection(true) && webViewer.ParentPage != null) { Renderer?.ExternalLinkRequested(urlData.AbsoluteUrl); } view.EvaluateJavascript(JS_STOP_PROGRESS, null); return(true); } System.Diagnostics.Debug.WriteLine("ShouldStartLoad: " + _url); if (webViewer.BrowserType != BrowserType.Login) { webViewer.Uri = _url; } return(false); }
public async void LoadUrl(bool fullRefresh = false, bool needCheckEtag = true) { if (Native == null || WebViewer == null) { return; } try { if (WebViewer.BrowserType == BrowserType.NewLogin) { if (WebViewer.Uri == null) { return; } Native.LoadUrl(WebViewer.Uri); return; } if (needCheckEtag) { if (!fullRefresh && WebViewer.BrowserType != BrowserType.Background) { ShowLoadingOverlay(); // fullRefresh = await PGService.IsWebPageContentChanged(WebViewer?.Uri); } } string baseUrl = string.Empty, query = string.Empty; if (WebViewer == null) { return; } if (WebViewer.BrowserType == BrowserType.Standard || WebViewer.BrowserType == BrowserType.Cached || WebViewer.BrowserType == BrowserType.Background) { var urldata = UrlParser.Parse(WebViewer.Uri); if (string.IsNullOrEmpty(homeUrl)) { homeUrl = urldata.AbsoluteUrl; } /* Native.Settings.CacheMode = HPHService.CheckConnection() ? * fullRefresh || (urldata?.Params != null && urldata.Params.ContainsKey("RefreshOnReturn")) ? * CacheModes.NoCache : * CacheModes.Normal : * CacheModes.CacheOnly;*/ Native.Settings.CacheMode = PGService.CheckConnection() && (fullRefresh || (urldata?.Params != null && urldata.Params.ContainsKey("RefreshOnReturn"))) ? CacheModes.Normal : CacheModes.CacheElseNetwork; var check = Native.Settings.CacheMode; if (string.IsNullOrEmpty(urldata.AbsoluteUrl)) { return; } if (urldata.AbsoluteUrl.StartsWith(PGService.ApiServerUrl, StringComparison.InvariantCultureIgnoreCase)) { if (!string.IsNullOrEmpty(Core.Settings.AuthToken)) { var headers = new Dictionary <string, string> { { "Authorization", "Bearer " + Core.Settings.AuthToken } }; Native.LoadUrl(urldata.AbsoluteUrl, headers); } else { var loc = new Localize(); urldata.AddParam("CountryCode", loc.GetCurrentCountry()); urldata.AddParam("Language", loc.GetCurrentLanguage()); Native.LoadUrl(urldata.AbsoluteUrl); } } else { /*if (urldata.Url.Contains("id.hp.com")) * SetHpIdCookie(urldata.Url);*/ Native.LoadUrl(urldata.AbsoluteUrl); } } else if (WebViewer.BrowserType == BrowserType.Login || WebViewer.BrowserType == BrowserType.ErrorLog) { CanExecuteJScript = true; switch (WebViewer.BrowserType) { case BrowserType.Login: Native.LoadUrl(WebViewer.Uri); break; case BrowserType.ErrorLog: Native.LoadUrl(ErrorLogUrl); break; } } } catch { } }