public HubwayRentals (CookieContainer cookies, RentalCrendentials credentials) { this.cookies = cookies; this.credentials = credentials; }
async void DoFetch (bool forceRefresh = false) { LoginDialogFragment dialog = null; bool hadError = false; do { if (dialog != null) dialog.AdvertiseLoginError (); var credentials = StoredCredentials; if (dialog == null && (string.IsNullOrEmpty (credentials.Username) || string.IsNullOrEmpty (credentials.Password))) { dialog = new LoginDialogFragment (); dialog.Dismissed += (sender, e) => { if (string.IsNullOrEmpty (credentials.Username) || string.IsNullOrEmpty (credentials.Password) || hadError) Finish (); }; dialog.Show (ChildFragmentManager, "loginDialog"); } if (dialog != null) StoredCredentials = credentials = await dialog.GetCredentialsAsync (); rentals = new HubwayRentals (StoredCookies, credentials); hadError = !(await GetRentals (forceRefresh)); if (hadError) StoredCredentials = new RentalCrendentials (); } while (hadError); if (dialog != null) dialog.Dismiss (); if (refreshLayout != null && refreshLayout.Refreshing) refreshLayout.Refreshing = false; }
public HubwayRentals(CookieContainer cookies, RentalCrendentials credentials) { this.cookies = cookies; this.credentials = credentials; }
async void DoFetch (bool forceRefresh = false) { fetching = true; bool hadError = false; do { statusText.Visibility = hadError ? ViewStates.Visible : ViewStates.Invisible; var credentials = StoredCredentials; if (string.IsNullOrEmpty (credentials.Username) || string.IsNullOrEmpty (credentials.Password)) SwitchLayoutPhase (LayoutPhase.Login); if (currentLayoutPhase == LayoutPhase.Login) { password.Text = string.Empty; StoredCredentials = credentials = await AcceptUserInputAsync (); } rentals = new HubwayRentals (StoredCookies, credentials); SwitchLayoutPhase (LayoutPhase.Loading); hadError = !(await GetRentals (forceRefresh)); if (hadError) StoredCredentials = new RentalCrendentials (); } while (hadError); fetching = false; }