From e36f798dea54cdbccaf907ada652dfd981356ae2 Mon Sep 17 00:00:00 2001 From: Johanna Ye Date: Tue, 29 Jun 2021 16:19:53 +0200 Subject: Add synchronization to all mDeviceBusy state changes. Tag: #stability Test: make Bug: 169559728 Change-Id: I5c1b926a4c774b4bc5f24a9aaa66aa5f7780e121 --- core/java/android/bluetooth/BluetoothGatt.java | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/core/java/android/bluetooth/BluetoothGatt.java b/core/java/android/bluetooth/BluetoothGatt.java index 381318b26dad..1d08ddb65cf4 100644 --- a/core/java/android/bluetooth/BluetoothGatt.java +++ b/core/java/android/bluetooth/BluetoothGatt.java @@ -1153,7 +1153,9 @@ public final class BluetoothGatt implements BluetoothProfile { characteristic.getInstanceId(), AUTHENTICATION_NONE); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } @@ -1187,7 +1189,9 @@ public final class BluetoothGatt implements BluetoothProfile { new ParcelUuid(uuid), startHandle, endHandle, AUTHENTICATION_NONE); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } @@ -1234,7 +1238,9 @@ public final class BluetoothGatt implements BluetoothProfile { AUTHENTICATION_NONE, characteristic.getValue()); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } @@ -1276,7 +1282,9 @@ public final class BluetoothGatt implements BluetoothProfile { descriptor.getInstanceId(), AUTHENTICATION_NONE); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } @@ -1317,7 +1325,9 @@ public final class BluetoothGatt implements BluetoothProfile { AUTHENTICATION_NONE, descriptor.getValue()); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } @@ -1384,7 +1394,9 @@ public final class BluetoothGatt implements BluetoothProfile { mService.endReliableWrite(mClientIf, mDevice.getAddress(), true); } catch (RemoteException e) { Log.e(TAG, "", e); - mDeviceBusy = false; + synchronized (mDeviceBusyLock) { + mDeviceBusy = false; + } return false; } -- cgit v1.2.3-59-g8ed1b