void IntroPhone::phoneSubmitDone(const MTPauth_SentCode &result) { stopCheck(); enableAll(false); if (result.type() == mtpc_auth_sentCode) { const MTPDauth_sentCode &d(result.c_auth_sentCode()); intro()->setPhone(sentPhone, d.vphone_code_hash.c_string().v.c_str(), d.vphone_registered.v); intro()->setCallTimeout(d.vsend_call_timeout.v); } else if (result.type() == mtpc_auth_sentAppCode) { const MTPDauth_sentAppCode &d(result.c_auth_sentAppCode()); intro()->setPhone(sentPhone, d.vphone_code_hash.c_string().v.c_str(), d.vphone_registered.v); intro()->setCallTimeout(d.vsend_call_timeout.v); } intro()->onIntroNext(); }
void IntroPhone::phoneSubmitDone(const MTPauth_SentCode &result) { stopCheck(); sentRequest = 0; enableAll(true); if (result.type() != mtpc_auth_sentCode) { showError(lang(lng_server_error)); return; } const auto &d(result.c_auth_sentCode()); switch (d.vtype.type()) { case mtpc_auth_sentCodeTypeApp: intro()->setCodeByTelegram(true); break; case mtpc_auth_sentCodeTypeSms: case mtpc_auth_sentCodeTypeCall: intro()->setCodeByTelegram(false); break; case mtpc_auth_sentCodeTypeFlashCall: LOG(("Error: should not be flashcall!")); break; } intro()->setPhone(sentPhone, d.vphone_code_hash.c_string().v.c_str(), d.is_phone_registered()); if (d.has_next_type() && d.vnext_type.type() == mtpc_auth_codeTypeCall) { intro()->setCallStatus({ IntroWidget::CallWaiting, d.has_timeout() ? d.vtimeout.v : 60 }); } else { intro()->setCallStatus({ IntroWidget::CallDisabled, 0 }); } intro()->nextStep(new IntroCode(intro())); }
void ChangePhoneBox::EnterPhone::sendPhoneDone(const QString &phoneNumber, const MTPauth_SentCode &result) { Expects(result.type() == mtpc_auth_sentCode); _requestId = 0; auto codeLength = 0; auto &data = result.c_auth_sentCode(); switch (data.vtype.type()) { case mtpc_auth_sentCodeTypeApp: LOG(("Error: should not be in-app code!")); showError(Lang::Hard::ServerError()); return; case mtpc_auth_sentCodeTypeSms: codeLength = data.vtype.c_auth_sentCodeTypeSms().vlength.v; break; case mtpc_auth_sentCodeTypeCall: codeLength = data.vtype.c_auth_sentCodeTypeCall().vlength.v; break; case mtpc_auth_sentCodeTypeFlashCall: LOG(("Error: should not be flashcall!")); showError(Lang::Hard::ServerError()); return; } auto phoneCodeHash = qs(data.vphone_code_hash); auto callTimeout = 0; if (data.has_next_type() && data.vnext_type.type() == mtpc_auth_codeTypeCall) { callTimeout = data.has_timeout() ? data.vtimeout.v : 60; } Ui::show( Box<EnterCode>( phoneNumber, phoneCodeHash, codeLength, callTimeout), LayerOption::KeepOther); }
void CodeWidget::callDone(const MTPauth_SentCode &v) { if (v.type() == mtpc_auth_sentCode) { fillSentCodeData(v.c_auth_sentCode()); _code->setDigitsCountMax(getData()->codeLength); } if (_callStatus == Widget::Data::CallStatus::Calling) { _callStatus = Widget::Data::CallStatus::Called; getData()->callStatus = _callStatus; getData()->callTimeout = _callTimeout; updateCallText(); } }
void ConfirmPhoneBox::sendCodeDone(const MTPauth_SentCode &result) { Expects(result.type() == mtpc_auth_sentCode); _sendCodeRequestId = 0; auto &resultInner = result.c_auth_sentCode(); switch (resultInner.vtype.type()) { case mtpc_auth_sentCodeTypeApp: LOG(("Error: should not be in-app code!")); break; case mtpc_auth_sentCodeTypeSms: _sentCodeLength = resultInner.vtype.c_auth_sentCodeTypeSms().vlength.v; break; case mtpc_auth_sentCodeTypeCall: _sentCodeLength = resultInner.vtype.c_auth_sentCodeTypeCall().vlength.v; break; case mtpc_auth_sentCodeTypeFlashCall: LOG(("Error: should not be flashcall!")); break; } _phoneHash = qs(resultInner.vphone_code_hash); if (resultInner.has_next_type() && resultInner.vnext_type.type() == mtpc_auth_codeTypeCall) { _call.setStatus({ SentCodeCall::State::Waiting, resultInner.has_timeout() ? resultInner.vtimeout.v : 60 }); } launch(); }
void CodeWidget::noTelegramCodeDone(const MTPauth_SentCode &result) { if (result.type() != mtpc_auth_sentCode) { showCodeError(&Lang::Hard::ServerError); return; } const auto &d = result.c_auth_sentCode(); fillSentCodeData(d); _code->setDigitsCountMax(getData()->codeLength); if (d.has_next_type() && d.vnext_type.type() == mtpc_auth_codeTypeCall) { getData()->callStatus = Widget::Data::CallStatus::Waiting; getData()->callTimeout = d.has_timeout() ? d.vtimeout.v : 60; } else { getData()->callStatus = Widget::Data::CallStatus::Disabled; getData()->callTimeout = 0; } getData()->codeByTelegram = false; updateDescText(); }
void PhoneWidget::phoneSubmitDone(const MTPauth_SentCode &result) { stopCheck(); _sentRequest = 0; if (result.type() != mtpc_auth_sentCode) { showPhoneError(&Lang::Hard::ServerError); return; } const auto &d = result.c_auth_sentCode(); fillSentCodeData(d); getData()->phone = _sentPhone; getData()->phoneHash = qba(d.vphone_code_hash); getData()->phoneIsRegistered = d.is_phone_registered(); if (d.has_next_type() && d.vnext_type.type() == mtpc_auth_codeTypeCall) { getData()->callStatus = Widget::Data::CallStatus::Waiting; getData()->callTimeout = d.has_timeout() ? d.vtimeout.v : 60; } else { getData()->callStatus = Widget::Data::CallStatus::Disabled; getData()->callTimeout = 0; } goNext(new Intro::CodeWidget(parentWidget(), getData())); }