public async Task Initialise() { int done = 10; while (done-- > 0) { if (ComponentContext.IsConnected) { try { await LocalisationHelper.BuildLocalCulture(); await LocalisationHelper.BuildLocalTimeZone(); Console.WriteLine($"reading GitterKey from storage - {done} attempts left"); SetApiKey(await LocalStorage.GetItem <string>("GitterKey")); break; } catch (Exception e) { Console.WriteLine(e); } } else { Console.WriteLine("Waiting for connection..."); } await Task.Delay(1000); } initialised = true; }
public async Task Initialise() { int done = 10; while (done-- > 0) { if (ComponentContext.IsConnected) { try { await LocalisationHelper.BuildLocalCulture(); await LocalisationHelper.BuildLocalTimeZone(); if (!HasApiKey) { SetApiKey(await LocalStorage.GetItemAsync <string>("GitterKey")); } break; } catch (Exception ex) { if (done == 1) { Console.WriteLine(ex); } } } await Task.Delay(1000); } if (HasApiKey) { initialised = true; } else { var currentUri = UriHelper.GetAbsoluteUri(); var baseUri = UriHelper.GetBaseUri(); var currentPage = UriHelper.ToBaseRelativePath(baseUri, currentUri); if (!currentPage.Equals(LOGINPAGE, StringComparison.OrdinalIgnoreCase) && !string.IsNullOrWhiteSpace(currentPage)) { UriHelper.NavigateTo(LOGINPAGE); } } }