private void LoginUser() { if (ValidateInput()) { if (_isLogginUser) { return; } _isLogginUser = true; _email = this.EmailText.Text; _password = this.PasswordText.Text; // Prevent user form tapping views while logging ((MainActivity)this.Activity).BlockUI(); // Create a new cancellation token for this request _cts0 = new CancellationTokenSource(); AppController.LoginUser(_cts0, _email, _password, // Service call success (data) => { AppController.Settings.LastLoginUsernameUsed = _email; AppController.Settings.AuthAccessToken = data.AuthAccessToken; AppController.Settings.AuthExpirationDate = data.AuthExpirationDate.GetValueOrDefault().ToLocalTime(); var f = new AgendaFragment(); f.Arguments = new Bundle(); f.Arguments.PutInt("UserId", data.UserId); this.FragmentManager.BeginTransaction() .AddToBackStack("BeforeAgendaFragment") .Replace(Resource.Id.ContentLayout, f, "AgendaFragment") .Commit(); }, // Service call error (error) => { if (error.Contains("confirm")) { this.VerifyButton.Visibility = ViewStates.Visible; } Toast.MakeText(this.Activity.Application, error, ToastLength.Long).Show(); }, // Service call finished () => { _isLogginUser = false; // Allow user to tap views ((MainActivity)this.Activity).UnblockUI(); }); } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); #region Desinger Stuff // Set our view from the "main" layout resource SetContentView(Resource.Layout.ActivityMain, Resource.Id.ContentLayout, Resource.Id.Toolbar); this.SupportActionBar.SetDisplayShowHomeEnabled(true); this.SupportActionBar.SetDisplayHomeAsUpEnabled(true); #endregion this.LoadLayout.Focusable = true; this.LoadLayout.FocusableInTouchMode = true; this.LoadLayout.Clickable = true; this.LoadLayout.Visibility = ViewStates.Gone; bool isResuming = this.SupportFragmentManager.FindFragmentById(Resource.Id.ContentLayout) != null; if (!isResuming) { this.SupportFragmentManager.BeginTransaction() .Add(Resource.Id.ContentLayout, new LoginFragment(), "LoginFragment") .Commit(); _userRestored = this.Arguments.GetBoolean("UserRestored", false); if (_userRestored) { _userId = this.Arguments.GetInt("UserId"); var f = new AgendaFragment(); f.Arguments = new Bundle(); f.Arguments.PutInt("UserId", _userId); this.SupportFragmentManager.BeginTransaction() .AddToBackStack("BeforeAgendaFragment") .Replace(Resource.Id.ContentLayout, f, "AgendaFragment") .Commit(); } } }