private void resetFg_Click(object sender, RoutedEventArgs e) { if (isEnergyManagerConnected) { ForegroundEnergyDiagnostics.ResetTotalEnergyUsage(); ShowEnergyUsage(); } }
async private void ShowEnergyUsage() { if (isEnergyManagerConnected) { try { uint usageFG = ForegroundEnergyManager.RecentEnergyUsage; uint levelFG = ForegroundEnergyManager.RecentEnergyUsageLevel; ulong totalFG = ForegroundEnergyDiagnostics.ComputeTotalEnergyUsage(); Debug.WriteLine("usage={0}, level={1}, total={2}", usageFG, levelFG, totalFG); string level = "Undefined"; if (isBatteryPresent) { if (levelFG == ForegroundEnergyManager.ExcessiveUsageLevel) { level = "Excessive"; } else if (levelFG == ForegroundEnergyManager.MaxAcceptableUsageLevel) { level = "MaxAcceptable"; } else if (levelFG == ForegroundEnergyManager.NearMaxAcceptableUsageLevel) { level = "NearMaxAcceptable"; } else if (levelFG == ForegroundEnergyManager.LowUsageLevel) { level = "Low"; } } await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { fgUsage.Text = string.Format(CultureInfo.CurrentCulture, "{0}%", usageFG); fgLevel.Text = level; fgTotal.Text = string.Format(CultureInfo.CurrentCulture, "{0}%", totalFG); }); } catch (Exception ex) { status.Log("ShowEnergyUsage: " + ex.Message); } } }