Fix bluetooth setting : emit the radio toggle message only if the value of the setting changed #2037
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.
Emit the message BleRadioEnableToggle to DisplayApp only if the enable state of the radio has actually changed.
This fixes an issue where the BLE connected logo would disappear when opening and closing the BLE setting (without changing it) while InfiniTime was already connected to a companion app.
This fix is based on the work done by @JustScott in #1972 and also thanks to the very detailed description of the issue by @rambonette in #1961.
I think this fix makes more sense since we do not actually need to call
NimbleController::EnableRadio()
again if the radio was previously enabled and need to stay enabled.This change also removed the need to send the message in
SettingBluetooth::~SettingBluetooth()
by capturing this in the lambda (which is called inCheckboxList::~CheckboxList()
which is destroyed beforeSettingBluetooth
.What do think about this @JustScott?
Fixes #1961.