public static Task <Java.Lang.Object> ToAwaitableTask(this Android.Gms.Tasks.Task task) { var taskCompletionSource = new TaskCompletionSource <Java.Lang.Object>(); var taskCompleteListener = new TaskCompleteListener(taskCompletionSource); task.AddOnCompleteListener(taskCompleteListener); return(taskCompletionSource.Task); }
private void IsReadyToPay() { try { IsReadyToPayRequest request = IsReadyToPayRequest.NewBuilder() .AddAllowedPaymentMethod(WalletConstants.PaymentMethodCard) .AddAllowedPaymentMethod(WalletConstants.PaymentMethodTokenizedCard) .Build(); Task task = MPaymentsClient.IsReadyToPay(request); task.AddOnCompleteListener(this, this); } catch (Exception e) { Console.WriteLine(e); } }
protected override void OnElementChanged(ElementChangedEventArgs <Page> e) { base.OnElementChanged(e); // check if the user is signed in FirebaseAuth mAuth2 = FirebaseAuth.Instance; FirebaseUser currentUser = mAuth2.CurrentUser; if (currentUser != null) { silentSignIn = true; // signed into Firebase, so get the token and save it in user object if (AppManager.User == null) { AppManager.User = new UserDetails(); AppManager.User.UserId = currentUser.Uid; var tokenResult = currentUser.GetToken(false); tokenResult.AddOnSuccessListener(this); } else { if (!publishLoginDone) { Xamarin.Forms.MessagingCenter.Send("NavigateToNextPage", "LoginDone"); publishLoginDone = true; } AppManager.GetFavoritesFromFirebase(AppManager.User.UserId); } } else { try { var credential = TwitterAuthProvider.GetCredential(App.token, App.tokensecret); FirebaseAuth mAuth = FirebaseAuth.Instance; Android.Gms.Tasks.Task signedInTask = mAuth.SignInWithCredential(credential); signedInTask.AddOnCompleteListener(this); } catch (Exception ex) { string j = ex.Message; } } }
public static Task <TResult> CastTask <TResult>(this AndroidTask androidTask) where TResult : Java.Lang.Object { var tcs = new TaskCompletionSource <TResult>(); androidTask.AddOnCompleteListener(new MyCompleteListener( t => { if (t.Exception == null) { tcs.TrySetResult(t.Result.JavaCast <TResult>()); } else { tcs.TrySetException(t.Exception); } })); return(tcs.Task); }
public static Task CastTask(this AndroidTask androidTask) { var tcs = new TaskCompletionSource <bool>(); androidTask.AddOnCompleteListener(new MyCompleteListener( t => { if (t.Exception == null) { tcs.TrySetResult(false); } else { tcs.TrySetException(t.Exception); } } )); return(tcs.Task); }