import { useEffect } from 'react'; import { useBluetoothContext } from '@widergy/sfp-mobile-toolbox'; import { getProbeBatteryStatus } from './battery'; export const useProbeBatterySubscription = (disabled = false) => { const bluetoothContext = useBluetoothContext(); useEffect(() => { if (!bluetoothContext.connectedDevice || disabled) { return; } const task = getProbeBatteryStatus({ bluetoothContext }); const immediateId = setImmediate(task); const timerId = setInterval(task, bluetoothContext.timeOuts.batteryIntervalInMs); return () => { clearImmediate(immediateId); clearInterval(timerId); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [!bluetoothContext.connectedDevice]); };