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 --- .../android/bluetooth/BluetoothGattServer.java | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothGattServer.java') diff --git a/framework/java/android/bluetooth/BluetoothGattServer.java b/framework/java/android/bluetooth/BluetoothGattServer.java index 8b84505e36..d652bd8476 100644 --- a/framework/java/android/bluetooth/BluetoothGattServer.java +++ b/framework/java/android/bluetooth/BluetoothGattServer.java @@ -502,7 +502,7 @@ public final class BluetoothGattServer implements BluetoothProfile { mCallback = callback; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.registerServer(new ParcelUuid(uuid), mBluetoothGattServerCallback, eatt_support, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); @@ -539,7 +539,7 @@ public final class BluetoothGattServer implements BluetoothProfile { try { mCallback = null; - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.unregisterServer(mServerIf, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); mServerIf = 0; @@ -595,7 +595,7 @@ public final class BluetoothGattServer implements BluetoothProfile { try { // autoConnect is inverse of "isDirect" - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.serverConnect(mServerIf, device.getAddress(), !autoConnect, mTransport, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); @@ -621,7 +621,7 @@ public final class BluetoothGattServer implements BluetoothProfile { if (mService == null || mServerIf == 0) return; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.serverDisconnect(mServerIf, device.getAddress(), mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -651,7 +651,7 @@ public final class BluetoothGattServer implements BluetoothProfile { @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(BluetoothDevice device, int txPhy, int rxPhy, int phyOptions) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.serverSetPreferredPhy(mServerIf, device.getAddress(), txPhy, rxPhy, phyOptions, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); @@ -670,7 +670,7 @@ public final class BluetoothGattServer implements BluetoothProfile { @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(BluetoothDevice device) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.serverReadPhy(mServerIf, device.getAddress(), mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -706,7 +706,7 @@ public final class BluetoothGattServer implements BluetoothProfile { if (mService == null || mServerIf == 0) return false; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.sendResponse(mServerIf, device.getAddress(), requestId, status, offset, value, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); @@ -801,7 +801,7 @@ public final class BluetoothGattServer implements BluetoothProfile { } try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.sendNotification(mServerIf, device.getAddress(), characteristic.getInstanceId(), confirm, value, mAttributionSource, recv); @@ -842,7 +842,7 @@ public final class BluetoothGattServer implements BluetoothProfile { mPendingService = service; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.addService(mServerIf, service, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -871,7 +871,7 @@ public final class BluetoothGattServer implements BluetoothProfile { if (intService == null) return false; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.removeService(mServerIf, service.getInstanceId(), mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); mServices.remove(intService); @@ -894,7 +894,7 @@ public final class BluetoothGattServer implements BluetoothProfile { if (mService == null || mServerIf == 0) return; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); mService.clearServices(mServerIf, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); mServices.clear(); -- cgit v1.2.3