Usecase:
1. Start advertising from DUT (using BLE Smartertooth app).
2. Scan and connect from central device.
3. Now initiate bond from central and accept pairing request.
(Consent Pairing Dialog will be shown on DUT)
4. Notification will be received for PASSKEY CONFIRMATION Dialog.
Do not open notification and let it timeout.
5. Repeat steps 2 and 3. At step 3, Passkey Confirmation pairing
dialog is show instead of Consent pairing dialog.
Issue:
Wrong Pairing Popup is shown. Passkey Confirmation pairing
dialog is show instead of Consent pairing dialog.
Reproducible Rate: 100%
Root Cause:
PendingIntent created for showing pairing notification are getting
reused as only FLAG_ONE_SHOT is used. This flag is not updating new
extra's in the pending intent.
Fix:
Use flag FLAG_UPDATE_CURRENT in pending Intent.
Test: Tested above mentioned testcase and pairing scenarios.
Bug: 129456113
Change-Id: I46813f355cd796cee1b472774b494c8580b39784
This will prevent them from showing up on external devices where they
would be less than useful.
Test: connect to watch and pair a device
Bug: 34612389
Change-Id: I8b02c20200ce78a73967b8121cf7d5653b68f356
Add actions to the pairing service notification so the user can dismiss
the pairing request if they want to.
Add some more information to logs when the user takes an action.
Reformat the file to match android style.
Test: pair from a remote device, dismiss using the new actions
Bug: 36036358
Change-Id: Ie110044bd4caf465f454452737000f01e7430925
(cherry picked from commit c79470d089)
Add actions to the pairing service notification so the user can dismiss
the pairing request if they want to.
Add some more information to logs when the user takes an action.
Reformat the file to match android style.
Test: pair from a remote device, dismiss using the new actions
Bug: 36036358
Change-Id: Ie110044bd4caf465f454452737000f01e7430925
We can get to onDestroy() without registering now.
Test: none
Fixes: 36501241
Change-Id: I90da3b350f9951993238d51f9fde86ccb335cafd
(cherry picked from commit af34ed06f1)
If BluetoothPairingService was stopped and restarted, it would receive
a null intent, and it also would not signal correctly when it needed to
be stopped.
Since restarts can happen, check that we are still bonding when starting.
Also prevent crashes when we might be called with a null intent.
Test: initiate pairing remotely, adb am kill service, notice no crash
Bug: 36130262
Change-Id: I408811935fdb36591826f4481d103cf4799db27e
Use a foreground service to show the notification, separating dialog
creation from the receiver.
Test: pair request from remote device while the screen is off
Bug: 35234069
Change-Id: Ia3be3e8efdacf465e095af5a498ef5eb0fca83cd