From 856f6acf59076eb3b200b1581d178745c9f0e681 Mon Sep 17 00:00:00 2001 From: Neha Jain Date: Wed, 29 Jun 2022 23:53:57 +0000 Subject: Revert "Revert "Reuse SynchronousResultReceivers instead of creating new."" This reverts commit dd85e91cea26c7f706af36c852e79d5b4ca1f173. Bug: 217366135 Reason for revert: Need this to fix a crash bug in tm-dev Change-Id: I2a94c278edc0681c5b8af6ea0a0171b71d72c650 (cherry picked from commit dbaf406ccb0ed887d4e93057c9ec0d3457f14457) Merged-In: I2a94c278edc0681c5b8af6ea0a0171b71d72c650 --- .../server/bluetooth/BluetoothManagerService.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'service/java/com/android/server/bluetooth/BluetoothManagerService.java') diff --git a/service/java/com/android/server/bluetooth/BluetoothManagerService.java b/service/java/com/android/server/bluetooth/BluetoothManagerService.java index a7d9831740..211154ceab 100644 --- a/service/java/com/android/server/bluetooth/BluetoothManagerService.java +++ b/service/java/com/android/server/bluetooth/BluetoothManagerService.java @@ -794,7 +794,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private boolean synchronousDisable(AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return false; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.disable(attributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(false); } @@ -803,7 +803,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private boolean synchronousEnable(boolean quietMode, AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return false; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.enable(quietMode, attributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(false); } @@ -812,7 +812,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private String synchronousGetAddress(AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return null; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.getAddressWithAttribution(attributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -821,7 +821,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private String synchronousGetName(AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return null; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.getName(attributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -830,7 +830,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private int synchronousGetState() throws RemoteException, TimeoutException { if (mBluetooth == null) return BluetoothAdapter.STATE_OFF; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.getState(recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(BluetoothAdapter.STATE_OFF); } @@ -839,7 +839,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private void synchronousOnBrEdrDown(AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.onBrEdrDown(attributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -848,7 +848,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private void synchronousOnLeServiceUp(AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.onLeServiceUp(attributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -857,7 +857,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private void synchronousRegisterCallback(IBluetoothCallback callback, AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.registerCallback(callback, attributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -866,7 +866,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { private void synchronousUnregisterCallback(IBluetoothCallback callback, AttributionSource attributionSource) throws RemoteException, TimeoutException { if (mBluetooth == null) return; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetooth.unregisterCallback(callback, attributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -1223,7 +1223,7 @@ public class BluetoothManagerService extends IBluetoothManager.Stub { if (isBleAppPresent()) { // Need to stay at BLE ON. Disconnect all Gatt connections try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mBluetoothGatt.unregAll(attributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { -- cgit v1.2.3