diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 36bc9f645d0..48be7d80bef 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1297,6 +1297,7 @@ + diff --git a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java index 838e7b1b00e..ea36fee42de 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java @@ -103,6 +103,19 @@ public final class BluetoothPairingRequest extends BroadcastReceiver { NotificationManager manager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); manager.cancel(NOTIFICATION_ID); + + } else if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(action)) { + int bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, + BluetoothDevice.ERROR); + int oldState = intent.getIntExtra(BluetoothDevice.EXTRA_PREVIOUS_BOND_STATE, + BluetoothDevice.ERROR); + if((oldState == BluetoothDevice.BOND_BONDING) && + (bondState == BluetoothDevice.BOND_NONE)) { + // Remove the notification + NotificationManager manager = (NotificationManager) context + .getSystemService(Context.NOTIFICATION_SERVICE); + manager.cancel(NOTIFICATION_ID); + } } } }