public static async void NavigateToConfirmPhone(IMTProtoService protoService, string phone, string hash) { var response = await protoService.SendConfirmPhoneCodeAsync(hash, false); if (response.IsSucceeded) { var state = new SignInSentCodePage.NavigationParameters { PhoneNumber = phone, //Result = response.Result, }; App.Current.NavigationService.Navigate(typeof(SignInSentCodePage), state); //Telegram.Api.Helpers.Execute.BeginOnUIThread(delegate //{ // if (frame != null) // { // frame.CloseBlockingProgress(); // } // TelegramViewBase.NavigateToConfirmPhone(result); //}); } else { //if (error.CodeEquals(ErrorCode.BAD_REQUEST) && error.TypeEquals(ErrorType.USERNAME_NOT_OCCUPIED)) //{ // return; //} //Telegram.Api.Helpers.Execute.ShowDebugMessage(string.Format("account.sendConfirmPhoneCode error {0}", error)); }; }
private async void SendExecute() { if (PhoneCode == null || PhoneNumber == null) { await TLMessageDialog.ShowAsync("Please enter your phone number.", "Warning", "OK"); return; } IsLoading = true; var response = await ProtoService.SendCodeAsync(_phoneCode + _phoneNumber, /* TODO: Verify */ null); if (response.IsSucceeded) { var state = new SignInSentCodePage.NavigationParameters { PhoneNumber = PhoneCode.TrimStart('+') + PhoneNumber, Result = response.Result, }; NavigationService.Navigate(typeof(SignInSentCodePage), state); } else if (response.Error != null) { IsLoading = false; if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_FLOOD)) { await TLMessageDialog.ShowAsync("Sorry, you have deleted and re-created your account too many times recently. Please wait for a few days before signing up again.", "Telegram", "OK"); } else { await new TLMessageDialog(response.Error.ErrorMessage ?? "Error message", response.Error.ErrorCode.ToString()).ShowQueuedAsync(); } } }
private async void SendExecute() { if (string.IsNullOrEmpty(_phoneCode)) { RaisePropertyChanged("PHONE_CODE_INVALID"); return; } if (string.IsNullOrEmpty(_phoneNumber)) { RaisePropertyChanged("PHONE_NUMBER_INVALID"); return; } IsLoading = true; var response = await ProtoService.SendCodeAsync(_phoneCode + _phoneNumber, /* TODO: Verify */ null); if (response.IsSucceeded) { var state = new SignInSentCodePage.NavigationParameters { PhoneNumber = PhoneCode.TrimStart('+') + PhoneNumber, Result = response.Result, }; NavigationService.Navigate(typeof(SignInSentCodePage), state); } else if (response.Error != null) { IsLoading = false; if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_INVALID)) { //needShowInvalidAlert(req.phone_number, false); } else if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_FLOOD)) { await TLMessageDialog.ShowAsync(Strings.Android.PhoneNumberFlood, Strings.Android.AppName, Strings.Android.OK); } //else if (response.Error.TypeEquals(TLErrorType.PHONE_NUMBER_BANNED)) //{ // needShowInvalidAlert(req.phone_number, true); //} else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EMPTY) || response.Error.TypeEquals(TLErrorType.PHONE_CODE_INVALID)) { await TLMessageDialog.ShowAsync(Strings.Android.InvalidCode, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.TypeEquals(TLErrorType.PHONE_CODE_EXPIRED)) { await TLMessageDialog.ShowAsync(Strings.Android.CodeExpired, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.ErrorMessage.StartsWith("FLOOD_WAIT")) { await TLMessageDialog.ShowAsync(Strings.Android.FloodWait, Strings.Android.AppName, Strings.Android.OK); } else if (response.Error.ErrorCode != -1000) { await TLMessageDialog.ShowAsync(response.Error.ErrorMessage, Strings.Android.AppName, Strings.Android.OK); } } }