Changed thread / added helper for UI based messages on MAIN thread.
This commit is contained in:
@@ -104,6 +104,9 @@ public partial class MainPage : ContentPage
|
||||
Console.WriteLine(e.Data);
|
||||
return;
|
||||
}
|
||||
|
||||
SafeSendRawToWebView($"[{_username}] RAW WS DATA: {e.Data}");
|
||||
|
||||
|
||||
Console.WriteLine($"[{_username}] RAW WS DATA: {e.Data}");
|
||||
|
||||
@@ -358,9 +361,9 @@ public partial class MainPage : ContentPage
|
||||
{
|
||||
//TODO: get bool value for if channel ID has an active call
|
||||
//TODO: Join RTC using current channel ID
|
||||
hybridWebView.SendRawMessage($"Attempting to join RTC Channel {_currentChannelName}");
|
||||
SafeSendRawToWebView($"Attempting to join RTC Channel {_currentChannelName}");
|
||||
bool active = await ServerAPI.GetIsChannelActiveAsync(_currentChannelId);
|
||||
hybridWebView.SendRawMessage($"Rtc Channel {_currentChannelName} is active: {active}");
|
||||
SafeSendRawToWebView($"Rtc Channel {_currentChannelName} is active: {active}");
|
||||
return active;
|
||||
//await hybridWebView.EvaluateJavaScriptAsync($"window.channelCallJoin({active})");
|
||||
|
||||
@@ -380,7 +383,7 @@ public partial class MainPage : ContentPage
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
hybridWebView.SendRawMessage(ex.Message);
|
||||
SafeSendRawToWebView(ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -408,7 +411,7 @@ public partial class MainPage : ContentPage
|
||||
|
||||
private void OnSendMessageButtonClicked(object sender, EventArgs e)
|
||||
{
|
||||
hybridWebView.SendRawMessage($"Hello from C#!");
|
||||
SafeSendRawToWebView($"Hello from C#!");
|
||||
}
|
||||
|
||||
private async void OnHybridWebViewRawMessageReceived(object sender, HybridWebViewRawMessageReceivedEventArgs e)
|
||||
@@ -477,4 +480,19 @@ public partial class MainPage : ContentPage
|
||||
|
||||
Console.WriteLine($"[{_username}] pushed RTC context into HybridWebView.");
|
||||
}
|
||||
|
||||
private void SafeSendRawToWebView(string message)
|
||||
{
|
||||
MainThread.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
hybridWebView.SendRawMessage(message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"[{_username}] failed to send raw message to HybridWebView: {ex.Message}");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user