private async void FinishExtract(string username, string password)
{
long steamTime = await TimeAligner.GetSteamTimeAsync();
Manifest man = Manifest.GetManifest();
androidAccount.FullyEnrolled = true;
UserLogin mUserLogin = new UserLogin(username, password);
LoginResult response = LoginResult.BadCredentials;
while ((response = mUserLogin.DoLogin()) != LoginResult.LoginOkay)
{
switch (response)
{
case LoginResult.NeedEmail:
InputForm emailForm = new InputForm("Enter the code sent to your email:");
emailForm.ShowDialog();
if (emailForm.Canceled)
{
this.Close();
return;
}
mUserLogin.EmailCode = emailForm.txtBox.Text;
break;
case LoginResult.NeedCaptcha:
CaptchaForm captchaForm = new CaptchaForm(mUserLogin.CaptchaGID);
captchaForm.ShowDialog();
if (captchaForm.Canceled)
{
this.Close();
return;
}
mUserLogin.CaptchaText = captchaForm.CaptchaCode;
break;
case LoginResult.Need2FA:
mUserLogin.TwoFactorCode = androidAccount.GenerateSteamGuardCodeForTime(steamTime);
break;
case LoginResult.BadRSA:
MessageBox.Show("Error logging in: Steam returned \"BadRSA\".", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
return;
case LoginResult.BadCredentials:
MessageBox.Show("Error logging in: Username or password was incorrect.", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
return;
case LoginResult.TooManyFailedLogins:
MessageBox.Show("Error logging in: Too many failed logins, try again later.", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
return;
case LoginResult.GeneralFailure:
MessageBox.Show("Error logging in: Steam returned \"GeneralFailure\".", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
return;
}
}
androidAccount.Session = mUserLogin.Session;
HandleManifest(man);
}