useBattery function
Tracks battery status using battery_plus
(ref link).
ref link
Implementation
UseBatteryState useBattery() {
final state = useRef(const UseBatteryState(fetched: false));
final battery = useMemoized(() => Battery());
final batteryStateChanged = useStream(battery.onBatteryStateChanged);
final batteryLevel = useFuture(battery.batteryLevel);
final isInBatterySaveMode = useFuture(battery.isInBatterySaveMode);
state.value = UseBatteryState(
fetched: batteryStateChanged.hasData ||
batteryLevel.hasData ||
isInBatterySaveMode.hasData,
batteryLevel: batteryLevel.data,
isInBatterySaveMode: isInBatterySaveMode.data,
batteryState: batteryStateChanged.data,
);
return state.value;
}