private void authenticate() { bool isValid = validateInput(); if (!isValid) { return; } toggleUiInput(); loginBtn.Text = "Authenticating..."; Task.Run(async() => { return(await DavinciApi.Authenticate(usernameField.Text, passwordField.Text)); }).ContinueWith(async responseTask => { var response = responseTask.Result; if (responseTask.Status == TaskStatus.Canceled) { toggleUiInput(); loginBtn.Text = "Login"; Infobar.Show(this.Context, "Connection error", Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false); } else if (response.OK) { saveCredentials(rememberBox.Checked); Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false); await Task.Delay(500); showFeed(); } else { toggleUiInput(); loginBtn.Text = "Login"; Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Error, GravityFlags.Top | GravityFlags.FillHorizontal, false); } }, TaskScheduler.FromCurrentSynchronizationContext()); }
private void Register() { bool isValid = validateInput(); if (!isValid) { return; } toggleUiInput(); registerBtn.Text = "Registering..."; Task.Run(async() => { return(await DavinciApi.Register(usernameField.Text, emailField.Text, passwordField.Text)); }).ContinueWith(responseTask => { var response = responseTask.Result; if (responseTask.Status == TaskStatus.Canceled) { toggleUiInput(); registerBtn.Text = "Register"; Infobar.Show(this.Context, "Connection error", Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false); } else if (response.OK) { Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Info, GravityFlags.Top | GravityFlags.FillHorizontal, false); ((AccountActivity)parentActivity).Login(); } else { toggleUiInput(); registerBtn.Text = "Register"; Infobar.Show(this.Context, response.message, Infobar.InfoLevel.Error, GravityFlags.Top | GravityFlags.FillHorizontal, false); } }, TaskScheduler.FromCurrentSynchronizationContext()); }