Merge "Bluetooth: only unregisterReceiver if we register"
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingService.java b/src/com/android/settings/bluetooth/BluetoothPairingService.java
index 5dfd283..41a5cce 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingService.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingService.java
@@ -65,6 +65,7 @@
     return pairingIntent;
   }
 
+  private boolean mRegistered = false;
   private final BroadcastReceiver mCancelReceiver = new BroadcastReceiver() {
     @Override
     public void onReceive(Context context, Intent intent) {
@@ -130,6 +131,7 @@
     filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED);
     filter.addAction(BluetoothDevice.ACTION_PAIRING_CANCEL);
     registerReceiver(mCancelReceiver, filter);
+    mRegistered = true;
 
     startForeground(NOTIFICATION_ID, builder.getNotification());
     return START_REDELIVER_INTENT;
@@ -137,7 +139,10 @@
 
   @Override
   public void onDestroy() {
-    unregisterReceiver(mCancelReceiver);
+    if (mRegistered) {
+      unregisterReceiver(mCancelReceiver);
+      mRegistered = false;
+    }
     stopForeground(true);
   }