HKSV: Skip updateRecordingActive delegate call if value didn't change #944
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
♻️ Current situation
As of now, every write to the
Active
characteristic of theCameraRecordingManagement
service is plainly forwarded to theCameraRecordingDelegate
. HomeHub write to this characteristic a lot, even though state isn't changed.💡 Proposed solution
This PR proposes to include a check to determine if the
active
value changed before calling the delegate. This will remove the burden on developers to do this check themselves.⚙️ Release Notes
CameraRecordingDelegate.updateRecordingActive()
is now only ever called if the value actually changed. This is considered a breaking change. It is continued to be called on every startup if recording is enabled, and it will continue to be called on a factory reset (e.g. when all pairings are removed) independent of the current state.➕ Additional Information
This PR includes a breaking change and is planned for the next major/minor release.
Testing
--
Reviewer Nudging
CC @hjdhjd