public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request) { var url = request.Url.ToString(); var lowerUrl = url.ToLower(); if (lowerUrl.StartsWith("modsaber://playlist/")) { string dlurl = url.Substring(20); Download?.Invoke(this, dlurl); return(true); } else if (lowerUrl.StartsWith("beatsaver://")) { string dlurl = url.Substring(12); Download?.Invoke(this, string.Format(Constants.BEATSAVER_DOWNLOAD_API, dlurl)); return(true); } return(base.ShouldOverrideUrlLoading(view, request)); }
public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request) { var url = request.Url.ToString(); var lowerUrl = url.ToLower(); if (lowerUrl.StartsWith("modsaber://playlist/")) { string dlurl = url.Substring(20); Download?.Invoke(this, dlurl); return(true); } else if (lowerUrl.StartsWith("sidequest://bsaber-multi/#")) { string dlurls = url.Substring(26) .Replace("%22,%22", "\",\"") .Replace("[%22", "[\"") .Replace("%22]", "\"]"); JArray urls = JArray.Parse(dlurls); if (urls.Count > 0) { for (int i = 0; i < urls.Count; i++) { Download?.Invoke(this, (string)urls[i]); } return(true); } } else if (lowerUrl.StartsWith("beatsaver://")) { string dlurl = url.Substring(12); Download?.Invoke(this, string.Format(Constants.BEATSAVER_DOWNLOAD_API, dlurl)); return(true); } return(base.ShouldOverrideUrlLoading(view, request)); }