private async Task Login(string login, string password, bool newUser) { //TODO: try to move it to Shared logic LoadingView.Hidden = false; View.BringSubviewToFront(LoadingView); LoadingView.StartAnimating(); var configurationProvider = ServiceLocator.Current.GetInstance <ISyncConfigurationsProvider>(); var result = await configurationProvider.DoLogin(login, password, newUser); if (result) { var syncingManager = ServiceLocator.Current.GetInstance <ISyncingManager>(); await syncingManager.Sync(); SyncCompleted(); } else { var popup = new UIAlertController { Title = "Some shit happened" }; popup.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Cancel, obj => { popup.DismissViewController(true, null); })); PresentViewController(popup, true, null); LoadingView.Hidden = true; LoadingView.StopAnimating(); } }