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);
            }
        }
Example #3
0
        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;
                }
            }
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }