public void updateStates() { updateUI(); bool isCharging = SystemEndPoints.isCharging(); if (isCharging) { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { DischarginRateTitle.Text = "CHARGING RATE"; PowerOffTitle.Text = "FULL CHARGE IN"; PowerOffAtTitle.Text = "FULL CHARGE AT"; DischargeRateInput.Text = SystemEndPoints.calculateChargeRateString("rate"); powerOffInInput.Text = SystemEndPoints.calculateChargeRateString("in"); powerOffAtInput.Text = SystemEndPoints.calculateChargeRateString("at"); timeSinceLastChargeInput.Text = "currently charging..."; }); //Debug.WriteLine(SystemEndPoints.calculateChargeRate()); } else { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { DischarginRateTitle.Text = "DISCHARGING RATE"; PowerOffTitle.Text = "POWER OFF"; PowerOffAtTitle.Text = "POWER OFF AT"; timeSinceLastChargeInput.Text = SystemEndPoints.timeSinceLastCharge(); DischargeRateInput.Text = SystemEndPoints.getTimeRatio(); powerOffAtInput.Text = SystemEndPoints.getPowerOffTime(); powerOffInInput.Text = SystemEndPoints.getTimeTillPowerOff(); }); } }