From 68926914213742311fbab28da7883f9ea3f341b6 Mon Sep 17 00:00:00 2001 From: Srinu Jella Date: Mon, 2 Dec 2013 15:48:45 +0530 Subject: [PATCH] Bluetooth: GAP: Cancel the pairing notification on bond state change Cancel the pairing notification on bond state change happens from BOND_BONDING to BOND_NONE. Otherwise it will present in the notification area until it gets cancelled by opening it and press cancel on pairing dialog. Change-Id: I96f673e29e612cd748165a1323a5b4a4276a843c --- AndroidManifest.xml | 1 + .../settings/bluetooth/BluetoothPairingRequest.java | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 7c4be12d302..48287c981f8 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1295,6 +1295,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); + } } } }