public static async void UpdateBloodSugar() { NightscoutData data = await GetBloodSugar(); cachedData = data; BGEvent.Invoke(null, cachedData); }
public async void UpdateText(object sender = null, NightscoutData data = null) { if (data == null) { data = await NightscoutDataService.GetBloodSugar(); // try one more time } if (data == null) { return; } bgText.text = $"{data.sgv} {data.type}{(PluginConfig.Instance.ArrowsEnabled ? data.directionSymbol : "")}"; bgText.color = data.color; }
public static async Task <NightscoutData> GetBloodSugar() { string siteURL = PluginConfig.Instance.NightscoutSiteURL; // do some string manipulation to make sure the URL is valid if (siteURL == "https://example.herokuapp.com") { return(null); } if (siteURL.Substring(siteURL.Length - 1) != "/") { siteURL += "/"; } if (siteURL.Substring(0, 7) == "http://") { siteURL = "https://" + siteURL.Substring(7); } if (siteURL.Substring(0, 8) != "https://") { siteURL = "https://" + siteURL; } string responseString = await client.GetStringAsync(siteURL + "api/v1/entries.json?count=1"); NightscoutData nightscoutData = JsonConvert.DeserializeObject <NightscoutData>(responseString.Substring(1, responseString.Length - 2)); nightscoutData.directionSymbol = ArrowValues(nightscoutData.direction); nightscoutData.color = ColorFromBG(nightscoutData.sgv); nightscoutData.type = "mg/dl"; if (PluginConfig.Instance.DisplayType == "mmol/L (Other)") { nightscoutData.type = "mmol/L"; nightscoutData.sgv = (float)Math.Round(nightscoutData.sgv * 0.55f) / 10; } return(nightscoutData); }