public static async Task <string> GetPin() { var trezorPinPad = new TrezorPinPad(); await App.MainNavigationPage.Navigation.PushModalAsync(trezorPinPad); var taskCompletionSource = new TaskCompletionSource <string>(); async void CompletedHandler(object s, EventArgs args) { await App.MainNavigationPage.Navigation.PopModalAsync(); var currentApp = App.Current as App; taskCompletionSource.SetResult(trezorPinPad.Pin); } trezorPinPad.OKClicked += CompletedHandler; return(await taskCompletionSource.Task); }
public static async Task <string> GetPin() { var trezorPinPad = new TrezorPinPad(); await App.MainNavigationPage.Navigation.PushModalAsync(trezorPinPad).ConfigureAwait(false); var taskCompletionSource = new TaskCompletionSource <string>(); async void CompletedHandler(object s, EventArgs args) { _ = await App.MainNavigationPage.Navigation.PopModalAsync().ConfigureAwait(false); var currentApp = Xamarin.Forms.Application.Current as App; taskCompletionSource.SetResult(trezorPinPad.PinBox.Text); } trezorPinPad.OKClicked += CompletedHandler; return(await taskCompletionSource.Task.ConfigureAwait(false)); }