Previously, GapPairingNone did not do any setup, so it kept the config from previous configured pairing mode
Having a pairing mode in API that doesn't do anything and doesn't really work is also confusing to the user, since now BLE Profiles can set custom GapPairing values
This adds support for GapPairingNone, in the sense that it will try to show a simple Yes/No prompt (with no PIN code shown), or fall back to basic PIN code confirm
This is supported on iOS (gotta love iOS' "security"), it will show simply '"Device Name" would like to pair with your iPhone' 'Cancel' 'Pair', the Flipper will not show any on-screen prompt
Android and basically everything else that doesn't accept "Just works" pairing will fall back to showing a PIN code and asking to confirm Yes/No if it matches the one on Flipper
This code and idea was originally from @yocvito, I ported it to the new BLE API and did some further testing
Verification
No example app available for OFW yet, can test by modifying any BLE app to use GapPairingNone mode
Test pairing on iOS, should show simply "Pair" or "Cancel", without any PIN code (tested on iOS 14.4.2, should work on newer too)
Test pairing on Android and other devices, should fall back to PIN code Yes/No
Checklist (For Reviewer)
[x] PR has description of feature/bug or link to Confluence/Jira task
[x] Description contains actions to verify feature/bugfix
[x] I've built this code, uploaded it to the device and verified feature/bugfix
What's new
GapPairingNone
did not do any setup, so it kept the config from previous configured pairing modeGapPairing
valuesGapPairingNone
, in the sense that it will try to show a simple Yes/No prompt (with no PIN code shown), or fall back to basic PIN code confirmVerification
Checklist (For Reviewer)