From 5467b904812bfe30651334826a0bdbfd1b868c1d Mon Sep 17 00:00:00 2001 From: Etienne Ruffieux Date: Wed, 22 Jun 2022 13:54:25 -0700 Subject: Reuse SynchronousResultReceivers instead of creating new. Bug: 217366135 Tag: #feature Test: manual Ignore-AOSP-First: to be chery-picked Change-Id: If8ae530a284151888a3f89a51d2c58f2a5cd3644 (cherry picked from commit 02dcbe72b3564559eaa9c2e2714824e4aac6f18c) Merged-In: If8ae530a284151888a3f89a51d2c58f2a5cd3644 --- .../java/android/bluetooth/BluetoothHapClient.java | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothHapClient.java') diff --git a/framework/java/android/bluetooth/BluetoothHapClient.java b/framework/java/android/bluetooth/BluetoothHapClient.java index 1d51670ffe..08d07ff5f8 100644 --- a/framework/java/android/bluetooth/BluetoothHapClient.java +++ b/framework/java/android/bluetooth/BluetoothHapClient.java @@ -446,7 +446,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -558,7 +558,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -611,7 +611,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable try { final IBluetoothHapClient service = getService(); if (service != null) { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.unregisterCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -654,7 +654,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable && (connectionPolicy == BluetoothProfile.CONNECTION_POLICY_FORBIDDEN || connectionPolicy == BluetoothProfile.CONNECTION_POLICY_ALLOWED)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.setConnectionPolicy(device, connectionPolicy, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -693,7 +693,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (mAdapter.isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectionPolicy(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -725,7 +725,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -760,7 +760,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -795,7 +795,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectionState(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -837,7 +837,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getHapGroup(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -869,7 +869,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getActivePresetIndex(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -904,7 +904,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getActivePresetInfo(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1123,7 +1123,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getPresetInfo(device, presetIndex, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1157,7 +1157,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getAllPresetInfo(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1189,7 +1189,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getFeatures(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { -- cgit v1.2.3 From dd85e91cea26c7f706af36c852e79d5b4ca1f173 Mon Sep 17 00:00:00 2001 From: Neha Jain Date: Wed, 29 Jun 2022 04:04:16 +0000 Subject: Revert "Reuse SynchronousResultReceivers instead of creating new." This reverts commit 02dcbe72b3564559eaa9c2e2714824e4aac6f18c. Reason for revert: Causing builds to fail b/237471430 Change-Id: I6165d838abf312085050359377f67a68a5f8b51a (cherry picked from commit f5dd42bbd05e68f7763ccaa9fae5642acc4ceba1) Merged-In: I6165d838abf312085050359377f67a68a5f8b51a --- .../java/android/bluetooth/BluetoothHapClient.java | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothHapClient.java') diff --git a/framework/java/android/bluetooth/BluetoothHapClient.java b/framework/java/android/bluetooth/BluetoothHapClient.java index 08d07ff5f8..1d51670ffe 100644 --- a/framework/java/android/bluetooth/BluetoothHapClient.java +++ b/framework/java/android/bluetooth/BluetoothHapClient.java @@ -446,7 +446,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -558,7 +558,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -611,7 +611,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable try { final IBluetoothHapClient service = getService(); if (service != null) { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.unregisterCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -654,7 +654,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable && (connectionPolicy == BluetoothProfile.CONNECTION_POLICY_FORBIDDEN || connectionPolicy == BluetoothProfile.CONNECTION_POLICY_ALLOWED)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.setConnectionPolicy(device, connectionPolicy, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -693,7 +693,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (mAdapter.isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getConnectionPolicy(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -725,7 +725,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -760,7 +760,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -795,7 +795,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getConnectionState(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -837,7 +837,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getHapGroup(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -869,7 +869,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getActivePresetIndex(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -904,7 +904,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.getActivePresetInfo(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1123,7 +1123,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.getPresetInfo(device, presetIndex, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1157,7 +1157,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver> recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.getAllPresetInfo(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1189,7 +1189,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.getFeatures(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { -- cgit v1.2.3 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 --- .../java/android/bluetooth/BluetoothHapClient.java | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothHapClient.java') diff --git a/framework/java/android/bluetooth/BluetoothHapClient.java b/framework/java/android/bluetooth/BluetoothHapClient.java index 1d51670ffe..08d07ff5f8 100644 --- a/framework/java/android/bluetooth/BluetoothHapClient.java +++ b/framework/java/android/bluetooth/BluetoothHapClient.java @@ -446,7 +446,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -558,7 +558,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable final IBluetoothHapClient service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -611,7 +611,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable try { final IBluetoothHapClient service = getService(); if (service != null) { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.unregisterCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -654,7 +654,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable && (connectionPolicy == BluetoothProfile.CONNECTION_POLICY_FORBIDDEN || connectionPolicy == BluetoothProfile.CONNECTION_POLICY_ALLOWED)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.setConnectionPolicy(device, connectionPolicy, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -693,7 +693,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (mAdapter.isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectionPolicy(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -725,7 +725,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -760,7 +760,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -795,7 +795,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getConnectionState(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -837,7 +837,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getHapGroup(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -869,7 +869,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getActivePresetIndex(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -904,7 +904,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getActivePresetInfo(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1123,7 +1123,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getPresetInfo(device, presetIndex, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1157,7 +1157,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable } else if (isEnabled() && isValidDevice(device)) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getAllPresetInfo(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { @@ -1189,7 +1189,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled() && isValidDevice(device)) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.getFeatures(device, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (TimeoutException e) { -- cgit v1.2.3