Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Future proof threading / scheduled task flows
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.
- Loading branch information