Esempio n. 1
0
        public static async void UpdateBloodSugar()
        {
            NightscoutData data = await GetBloodSugar();

            cachedData = data;
            BGEvent.Invoke(null, cachedData);
        }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
        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);
        }