From af34ed06f1b4b3734d883c7398b713b20585e1bd Mon Sep 17 00:00:00 2001 From: Marie Janssen Date: Thu, 23 Mar 2017 14:36:45 -0700 Subject: [PATCH] Bluetooth: only unregisterReceiver if we register We can get to onDestroy() without registering now. Test: none Fixes: 36501241 Change-Id: I90da3b350f9951993238d51f9fde86ccb335cafd --- .../settings/bluetooth/BluetoothPairingService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/bluetooth/BluetoothPairingService.java b/src/com/android/settings/bluetooth/BluetoothPairingService.java index 5dfd2839b0e..41a5cceda20 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingService.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingService.java @@ -65,6 +65,7 @@ public final class BluetoothPairingService extends Service { return pairingIntent; } + private boolean mRegistered = false; private final BroadcastReceiver mCancelReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -130,6 +131,7 @@ public final class BluetoothPairingService extends Service { 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 @@ public final class BluetoothPairingService extends Service { @Override public void onDestroy() { - unregisterReceiver(mCancelReceiver); + if (mRegistered) { + unregisterReceiver(mCancelReceiver); + mRegistered = false; + } stopForeground(true); }