private void VerifyUser() { if (ValidateInput()) { if (_isConfirmingUser) { return; } _isConfirmingUser = true; _email = this.EmailText.Text; _password = this.PasswordText.Text; // Prevent user form tapping views while logging ((MainActivity)this.Activity).BlockUI(); this.VerifyButton.Visibility = ViewStates.Gone; // Create a new cancellation token for this request _cts1 = new CancellationTokenSource(); AppController.VerifyUser(_cts1, _email, _password, // Service call success () => { Toast.MakeText(this.Activity.Application, "You should receive a new mail!", ToastLength.Long).Show(); }, // Service call error (error) => { Toast.MakeText(this.Activity.Application, error, ToastLength.Long).Show(); }, // Service call finished () => { _isConfirmingUser = false; // Allow user to tap views ((MainActivity)this.Activity).UnblockUI(); }); } }