private async Task DiscoverService(KnownService knownService) { try { _userDialogs.ShowLoading($"Discovering service {knownService.Id}..."); var service = await _device.GetServiceAsync(knownService.Id); Services = service != null ? new List <Service> { service } : new List <Service>(); await RaisePropertyChanged(nameof(Services)); if (service == null) { _userDialogs.Toast($"Service not found: '{knownService}'", TimeSpan.FromSeconds(3)); } } catch (Exception ex) { await _userDialogs.AlertAsync(ex.Message, "Error while discovering services"); Trace.Message(ex.Message); } finally { _userDialogs.HideLoading(); } }
/// <summary> /// Load Items From Json /// </summary> public static void LoadItemsFromJson() { _items = new Dictionary <Guid, KnownService>(); //TODO: switch over to ServiceStack.Text when it gets bound. KnownService service = new KnownService(); var itemsJson = ResourceLoader.GetEmbeddedResourceString(typeof(KnownServices).GetTypeInfo().Assembly, "KnownServices.json"); var json = JToken.Parse(itemsJson); foreach (var item in json.Children()) { var prop = item as JProperty; if (prop != null) { service = new KnownService { Name = prop.Value.ToString(), ID = Guid.ParseExact(prop.Name, "d") } } ; _items.Add(service.ID, service); } } #endregion }