public async void AwaitMinimizedInBackground() { while (TotalWebViewsMovingIntoBackground > 0) { await Task.Delay(50); this.LoadUrl(JavascriptCommands._jsPlayVideo); } await Task.Delay(50); PlaystateManagement.WebViewPlayerNumberIsStreaming = this.Id; PlaystateManagement.WebViewPlayerIsStreaming = true; if (AppState.ForeNote == null) { MainPlaybackSticky.StartForeground(BitChute.ExtNotifications.BuildPlayControlNotification()); } ViewHelpers.DoActionOnUiThread(() => { this.LoadUrl(JavascriptCommands._jsPlayVideo); }); await Task.Delay(100); ViewHelpers.DoActionOnUiThread(() => { this.LoadUrl(JavascriptCommands._jsPlayVideo); }); }
public static void Run_OnLogin() { WebViewsAreReloadingAfterLogin = true; foreach (ServiceWebView view in PlaystateManagement.WebViewTabDictionary.Values) { if (PlaystateManagement.WebViewPlayerIsStreaming) { if (PlaystateManagement.WebViewPlayerNumberIsStreaming != view.Id) { try { view.ClearCache(true); view.LoadUrl(view.RootUrl); } catch { } } else { view.ClearCache(false); } } else { try { view.ClearCache(true); if (view.Url.Contains("/accounts/login/")) { WebViewIdLoginList.Add(view.Id); view.Visibility = Android.Views.ViewStates.Gone; } view.LoadUrl(view.RootUrl); } catch { } } } foreach (var frag in MainActivity.ViewFragmentArray) { ViewHelpers.DoActionOnUiThread(() => { ((CommonFrag)frag).SwapFragView(true); }); } AppState.UserIsLoggedIn = true; }
static async void VerifyInBackground(int webViewId = -1, int backgroundTimeOut = 3000) { int backgroundTimer = 0; while (IsInBkGrd() && AppIsMovingIntoBackgroundAndStreaming && backgroundTimer <= 3000) { await Task.Delay(100); ViewHelpers.DoActionOnUiThread(() => { PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo); }); } await Task.Delay(30); ViewHelpers.DoActionOnUiThread(() => { PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo); }); }
public static async void MakeAvatarsClickable(ServiceWebView serviceWebView = null, WebView webView = null, bool useInternalListener = false, int delay = 2000) { await Task.Delay(delay); if (serviceWebView != null) { ViewHelpers.DoActionOnUiThread(() => { serviceWebView.LoadUrl(JavascriptCommands.GetInjectable(BaseCommentAvatarClickAdder)); }); return; } else if (webView != null) { ViewHelpers.DoActionOnUiThread(() => { webView.LoadUrl(JavascriptCommands.GetInjectable(BaseCommentAvatarClickAdder)); }); return; } return; }
/// <summary> /// starts the video in background /// </summary> /// <param name="tab"></param> public static async void StartVideoInBkgrd(int webViewId = -1, int mediaPlayerId = -1) { if (PlaystateManagement.WebViewPlayerIsStreaming || PlaystateManagement.PlayerTypeQueued() == PlayerType.WebViewPlayer) { if (webViewId == -1) { webViewId = PlaystateManagement.WebViewPlayerNumberIsStreaming; } PlaystateManagement.WebViewPlayerIsStreaming = true; await Task.Delay(10); ViewHelpers.DoActionOnUiThread(() => { PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo); }); await Task.Delay(20); ViewHelpers.DoActionOnUiThread(() => { PlaystateManagement.WebViewIdDictionary[webViewId].LoadUrl(JavascriptCommands._jsPlayVideo); }); VerifyInBackground(webViewId); } }
public void SetReceiveValue(ServiceWebView wv, string javascript) { ViewHelpers.DoActionOnUiThread(() => wv.EvaluateJavascript(javascript, this)); }