am 27543d42: am 0223f9c5: Merge "Bluetooth: GAP: Cancel the pairing notification on bond state change"

* commit '27543d42ff79b92e2ec3ddcbe970633b848231e8':
  Bluetooth: GAP: Cancel the pairing notification on bond state change
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 36bc9f6..48be7d8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1297,6 +1297,7 @@
             <intent-filter>
                 <action android:name="android.bluetooth.device.action.PAIRING_REQUEST" />
                 <action android:name="android.bluetooth.device.action.PAIRING_CANCEL" />
+                <action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
             </intent-filter>
         </receiver>
 
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
index 838e7b1..ea36fee 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingRequest.java
@@ -103,6 +103,19 @@
             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);
+            }
         }
     }
 }