private void UpdatePhone_Click(object sender, EventArgs e) { View view = LayoutInflater.From(this).Inflate(Resource.Layout.dialog_phone, null, false); AlertDialog dialog = new AlertDialog.Builder(this).SetView(view).Create(); EditText edtCountryCode = view.FindViewById <EditText>(Resource.Id.edtCountryCode); EditText edtAccount = view.FindViewById <EditText>(Resource.Id.edtAccount); EditText edtVerifyCode = view.FindViewById <EditText>(Resource.Id.edtVerifyCode); Button btnSend = view.FindViewById <Button>(Resource.Id.btnSend); Button btnUpdate = view.FindViewById <Button>(Resource.Id.btnUpdate); btnSend.Click += async delegate { string countryCode = edtCountryCode.Text.ToString().Trim(); string phoneNumber = edtAccount.Text.ToString().Trim(); // Build a verify code settings. VerifyCodeSettings settings = VerifyCodeSettings.NewBuilder().Action(VerifyCodeSettings.ActionRegisterLogin).Build(); // Request verify code,and waiting for the verification code to be sent to your mobile phone try { var requestVerifyCode = AGConnectAuth.Instance.RequestVerifyCodeAsync(countryCode, phoneNumber, settings); VerifyCodeResult verifyCodeResult = await requestVerifyCode; if (requestVerifyCode.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Send phone verify code success! ", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } }; btnUpdate.Click += async delegate { string countryCode = edtCountryCode.Text.ToString().Trim(); string phoneNumber = edtAccount.Text.ToString().Trim(); string verifyCode = edtVerifyCode.Text.ToString().Trim(); if (AGConnectAuth.Instance.CurrentUser != null) { // Update phone try { var requestUpdatePhone = AGConnectAuth.Instance.CurrentUser.UpdatePhoneAsync(countryCode, phoneNumber, verifyCode); await requestUpdatePhone; if (requestUpdatePhone.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Update phone success! ", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, "Update phone failed! " + ex.Message, ToastLength.Short).Show(); } } dialog.Dismiss(); }; dialog.Show(); }
private void ResetPassword_Click(object sender, EventArgs e) { View view = LayoutInflater.From(this).Inflate(Resource.Layout.dialog_reset_password, null, false); AlertDialog dialog = new AlertDialog.Builder(this).SetView(view).Create(); EditText edtEmail = view.FindViewById <EditText>(Resource.Id.edtEmail); EditText edtNewPassword = view.FindViewById <EditText>(Resource.Id.edtNewPassword); EditText edtVerifyCode = view.FindViewById <EditText>(Resource.Id.edtVerifyCode); Button btnSend = view.FindViewById <Button>(Resource.Id.btnSend); Button btnUpdate = view.FindViewById <Button>(Resource.Id.btnUpdate); btnSend.Click += async delegate { string email = edtEmail.Text.ToString().Trim(); // Build a verify code settings. VerifyCodeSettings settings = VerifyCodeSettings.NewBuilder().Action(VerifyCodeSettings.ActionResetPassword).Build(); // Request verify code,and waiting for the verification code to be sent to your mobile phone try { var requestVerifyCode = AGConnectAuth.Instance.RequestVerifyCodeAsync(email, settings); VerifyCodeResult verifyCodeResult = await requestVerifyCode; if (requestVerifyCode.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Send email verify code success! ", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } }; btnUpdate.Click += async delegate { string email = edtEmail.Text.ToString().Trim(); string newPassword = edtNewPassword.Text.ToString().Trim(); string verifyCode = edtVerifyCode.Text.ToString().Trim(); // Reset password try { var resetPasswordResult = AGConnectAuth.Instance.ResetPasswordAsync(email, newPassword, verifyCode); await resetPasswordResult; if (resetPasswordResult.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Password has been reset.", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, "Reset password failed: " + ex.Message, ToastLength.Long).Show(); } dialog.Dismiss(); }; dialog.Show(); }
private async void SendVerificationCode() { VerifyCodeSettings settings = VerifyCodeSettings.NewBuilder() .Action(VerifyCodeSettings.ActionRegisterLogin) .SendInterval(30) .Locale(Locale.English) .Build(); if (type == Type.Email) { string email = edtAccount.Text.ToString().Trim(); try { var requestVerifyCode = AGConnectAuth.Instance.RequestVerifyCodeAsync(email, settings); VerifyCodeResult verifyCodeResult = await requestVerifyCode; if (requestVerifyCode.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Send email verify code success! ", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } } else { string countryCode = edtCountryCode.Text.ToString().Trim(); string phoneNumber = edtAccount.Text.ToString().Trim(); try { var requestVerifyCode = AGConnectAuth.Instance.RequestVerifyCodeAsync(countryCode, phoneNumber, settings); VerifyCodeResult verifyCodeResult = await requestVerifyCode; if (requestVerifyCode.Status.Equals(System.Threading.Tasks.TaskStatus.RanToCompletion)) { Toast.MakeText(this, "Send email verify code success! ", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.Message, ToastLength.Long).Show(); } } }