Merge "OPP: Fix leaked IntentReceiver issue" into q-keystone-qcom-dev
diff --git a/src/com/android/bluetooth/opp/BluetoothOppService.java b/src/com/android/bluetooth/opp/BluetoothOppService.java
index 77af4a7..4d529f7 100755
--- a/src/com/android/bluetooth/opp/BluetoothOppService.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppService.java
@@ -337,7 +337,7 @@
mTransfer.onBatchCanceled();
mTransfer = null;
}
- unregisterReceivers();
+ unregisterObserver();
synchronized (BluetoothOppService.this) {
if (mUpdateThread != null) {
mUpdateThread.interrupt();
@@ -510,12 +510,19 @@
Log.v(TAG, "onDestroy");
}
stopListeners();
+
+ try {
+ unregisterReceiver(mBluetoothReceiver);
+ } catch (IllegalArgumentException e) {
+ Log.w(TAG, "unregisterReceiver " + e.toString());
+ }
+
if (mHandler != null) {
mHandler.removeCallbacksAndMessages(null);
}
}
- private void unregisterReceivers() {
+ private void unregisterObserver() {
try {
if (mObserver != null) {
getContentResolver().unregisterContentObserver(mObserver);
@@ -524,11 +531,6 @@
} catch (IllegalArgumentException e) {
Log.w(TAG, "unregisterContentObserver " + e.toString());
}
- try {
- unregisterReceiver(mBluetoothReceiver);
- } catch (IllegalArgumentException e) {
- Log.w(TAG, "unregisterReceiver " + e.toString());
- }
}
/* suppose we auto accept an incoming OPUSH connection */