You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This adds a guard to ensure that we only attempt a further scan when we
the scan cycler is started. This helps ensure we've terminated scanning
for the case where all regions have been removed but the service is
still bound. In this case only `stop` will be called (instead of both
`stop` and `destroy`). When this happens there are two potential
scheduled tasks still queued:
- `scanLeDevice(true)` from `deferScanIfNeeded`
- `scheduleScanCycleStop`
Which potential task is queued is based on if we were in an active scan
period or a between scan period when `stop` was called. In the case of a
between scan period the `deferScanIfNeeded` _will_ cause scanning to
start up again when it ends. It will run for one more scan cycle before
it terminates in `finishScanCycle`. Similarly, if we are in an active
scan period the scheduled job for finishing the scan cycle will continue
for the duration of the scan period.
0 commit comments