getBatteryInfo method

  1. @override
Future<BatteryInfo?> getBatteryInfo()
override

Gets current battery information.

Returns BatteryInfo with current battery status, level, health, and charging information. Returns null if battery information is not available on the current platform.

Implementation

@override
Future<BatteryInfo?> getBatteryInfo() async {
  try {
    final navigator = web.window.navigator;
    final batteryPromise = (navigator as NavigatorWithBattery).getBattery();
    final battery = await batteryPromise.toDart;

    return BatteryInfo(
      batteryLevel: (battery.level * 100).toInt(),
      batteryHealth: 'good',
      chargingStatus: battery.charging ? 'charging' : 'discharging',
      batteryCapacity: 0,
      batteryVoltage: 0,
      batteryTemperature: 0,
    );
  } on Object catch (_) {
    return null;
  }
}