InfiniTime icon indicating copy to clipboard operation
InfiniTime copied to clipboard

Fix bluetooth setting not actually changing bluetooth radio settings.

Open JustScott opened this issue 1 year ago • 2 comments

Long Explanation

NimbleController.cpp was running bleController.Disconnect() each time NimbleController::EnableRadio() was called by SystemTask.cpp's case matching Messages::BleRadioEnableToggle. This meant that each time the bluetooth settings page was opened, the Messages::BleRadioEnableToggle case was matched and the setting variable bleRadioEnabled was set to false. This caused the conditionals for the checkboxList class call in SettingBluetooth.cpp to not allow toggling the bluetooth on and off, and caused the bluetooth status icon to dissappear in StatusIcons.cpp

Short Explanation

The nimblecontroller was telling the bluetooth controller to disconnect when the radio was enabled, which was happening each time the bluetooth settings page was opened. This caused the toggles/checboxes in the bluetooth settings page to be un-changeable, and the bluetooth status icon to disappear.

(A large explanation for removing a single line of code... I know ;) )

This fixes #1961

JustScott avatar Jan 16 '24 07:01 JustScott

Build checks have not completed. Possible reasons for this are:

  1. The checks need to be approved by a maintainer
  2. The branch has conflicts
  3. The firmware build has failed

github-actions[bot] avatar Jan 16 '24 07:01 github-actions[bot]

Thanks @JustScott ! Thought it was something simple, but didn't have the time to investigate 👍

rambonette avatar Jan 18 '24 12:01 rambonette

#2037 created by @JF002 better addresses this issue at its core by only pushing the BleRadioEnableToggle Message when the toggle is actually changed, instead of when the bluetooth settings page is opened.

If you're currently using my PR in your fork, please switch to using #2037 instead, as my solution could (and probably will) cause weird bugs in the future if anything is altered with NimbleController or BleController.

JustScott avatar Mar 15 '24 05:03 JustScott