private void OnConnectionIceCandidate(object sender, HtmlCustomEventArgs e) { Show("Ice Candidate ready"); var tcs = Interlocked.Exchange(ref _iceTcs, null); tcs?.TrySetResult(e.Detail); }
private void OnUnoEvent2bis(object sender, HtmlCustomEventArgs e) { tapResult.Text = e.Detail == "String detail from event." ? "Ok" : "Error: received " + e.Detail; }
private void OnUnoEvent2(object sender, HtmlCustomEventArgs e) { result.Text += $"Received string event from {sender}: \"{e.Detail}\"\n."; tapResult.Text = e.Detail == "String detail from event." ? "Ok" : "Error: received " + e.Detail; }
private void OnHtmlValueChanged(object sender, HtmlCustomEventArgs e) { if (long.TryParse(e.Detail, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, NumberFormatInfo.InvariantInfo, out var value)) { Value = value; } else { Console.Error.WriteLine($"Unable to parse {e.Detail} as a valid number."); } }
private void OnHtmlValueChanged(object sender, HtmlCustomEventArgs e) { if (TimeSpan.TryParseExact(e.Detail, _timeFormats, DateTimeFormatInfo.InvariantInfo, TimeSpanStyles.None, out var time)) { Time = time; } else { Console.Error.WriteLine($"Unable to parse {e.Detail} as a valid Time."); } }
private void OnHtmlValueChanged(object sender, HtmlCustomEventArgs e) { if (TryParseColor(e.Detail, out var color)) { Color = color; } else { Console.Error.WriteLine($"Unable to parse {e.Detail} as a valid Color."); } }
private void OnHtmlValueChanged(object sender, HtmlCustomEventArgs e) { if (DateTime.TryParseExact(e.Detail, _dateFormats, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AssumeLocal, out var date)) { Date = date; } else { Console.Error.WriteLine($"Unable to parse {e.Detail} as a valid Date."); } }
private void OnUnoEvent3bis(object sender, HtmlCustomEventArgs e) { try { var json = JToken.Parse(e.Detail); if (json["msg"].Value <string>() == "msg" && json["int"].Value <int>() == 123 && json["txt"].Value <string>() == "it works!") { tapResult.Text = "Ok"; } else { tapResult.Text = "Error: invalid json " + json.ToString(Newtonsoft.Json.Formatting.None); } } catch (Exception ex) { tapResult.Text = "Error: " + ex.Message; } }
private void OnSecurityTokens(object sender, HtmlCustomEventArgs e) { var parts = e.Detail.Split('|'); if (parts.Length == 0) { return; } switch (parts[0]) { case "canceled": break; case "error": break; case "nav": _webView.NavigatedUri = new Uri(parts[1]); break; } }
private void OnStateChanged(object sender, HtmlCustomEventArgs e) { ParseStateString(e.Detail); }
void OnDeviceError(object sender, HtmlCustomEventArgs e) { Close(false); Kit.Warn("打开摄像头或麦克风出错:" + e.Detail); }
void OnIceCandidate(object sender, HtmlCustomEventArgs e) { AtMsg.SendIceCandidate(Kit.UserID, _other.ID, e.Detail, true); }
void OnOffer(object sender, HtmlCustomEventArgs e) { _tbInfo.Text = $"正在呼叫 [{_detail.Other.Name}]..."; AtMsg.SendRtcOffer(Kit.UserID, _detail.OtherID, e.Detail); }
private void OnUnoEvent3(object sender, HtmlCustomEventArgs e) { tapResult.Text = "[WORKING]"; result.Text += $"Received json event from {sender}: {e.Detail}\n."; }
private void OnUnoEvent2(object sender, HtmlCustomEventArgs e) { tapResult.Text = "[WORKING]"; result.Text += $"Received string event from {sender}: \"{e.Detail}\"\n."; }
void OnIceCandidate(object sender, HtmlCustomEventArgs e) { AtMsg.SendIceCandidate(Kit.UserID, _detail.OtherID, e.Detail, false); }
private void OnConnectionError(object sender, HtmlCustomEventArgs e) { Show("Connection Error " + e.Detail); }
private void OnConnectionMessage(object sender, HtmlCustomEventArgs e) { Show(">> " + e.Detail, isMessage: true); }
async void OnAnswer(object sender, HtmlCustomEventArgs e) { await AtMsg.SendRtcAnswer(Kit.UserID, _other.ID, e.Detail); }