BluetoothProfileConnecter now calls the ServiceListener's

onServiceDisconnected method after unbinding the service

Bug: 155120232
Test: atest BluetoothHostTest#testMapClose
Change-Id: I324b4ea6654261eb67d5ec184f6b3456ba3d1aa4
This commit is contained in:
Rahul Sabnis
2020-05-01 15:00:00 -07:00
parent 3779310359
commit ee31c78cb8

View File

@@ -103,14 +103,21 @@ public abstract class BluetoothProfileConnector<T> {
private void doUnbind() {
synchronized (mConnection) {
if (mService != null) {
logDebug("Unbinding service...");
try {
mContext.unbindService(mConnection);
} catch (IllegalArgumentException ie) {
logError("Unable to unbind service: " + ie);
} finally {
mService = null;
try {
if (mService != null) {
logDebug("Unbinding service...");
try {
mContext.unbindService(mConnection);
} catch (IllegalArgumentException ie) {
logError("Unable to unbind service: " + ie);
} finally {
mService = null;
}
}
} finally {
if (mServiceListener != null) {
mServiceListener.onServiceDisconnected(mProfileId);
mServiceListener = null;
}
}
}
@@ -131,7 +138,6 @@ public abstract class BluetoothProfileConnector<T> {
}
void disconnect() {
mServiceListener = null;
IBluetoothManager mgr = BluetoothAdapter.getDefaultAdapter().getBluetoothManager();
if (mgr != null) {
try {