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 --- .../android/bluetooth/BluetoothVolumeControl.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothVolumeControl.java') diff --git a/framework/java/android/bluetooth/BluetoothVolumeControl.java b/framework/java/android/bluetooth/BluetoothVolumeControl.java index 080b9a6d64..d76a08686d 100644 --- a/framework/java/android/bluetooth/BluetoothVolumeControl.java +++ b/framework/java/android/bluetooth/BluetoothVolumeControl.java @@ -157,7 +157,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -245,7 +245,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -276,7 +276,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -306,7 +306,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose 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 (RemoteException | TimeoutException e) { @@ -355,7 +355,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -406,7 +406,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose try { final IBluetoothVolumeControl 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); } @@ -442,7 +442,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.setVolumeOffset(device, volumeOffset, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -483,7 +483,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final boolean defaultValue = false; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.isVolumeOffsetAvailable(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (RemoteException | TimeoutException e) { @@ -523,7 +523,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose && (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 (RemoteException | TimeoutException e) { @@ -559,7 +559,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (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 (RemoteException | 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 --- .../android/bluetooth/BluetoothVolumeControl.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothVolumeControl.java') diff --git a/framework/java/android/bluetooth/BluetoothVolumeControl.java b/framework/java/android/bluetooth/BluetoothVolumeControl.java index d76a08686d..080b9a6d64 100644 --- a/framework/java/android/bluetooth/BluetoothVolumeControl.java +++ b/framework/java/android/bluetooth/BluetoothVolumeControl.java @@ -157,7 +157,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -245,7 +245,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -276,7 +276,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -306,7 +306,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose 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 (RemoteException | TimeoutException e) { @@ -355,7 +355,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - SynchronousResultReceiver.get(); + new SynchronousResultReceiver(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -406,7 +406,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose try { final IBluetoothVolumeControl 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); } @@ -442,7 +442,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.setVolumeOffset(device, volumeOffset, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -483,7 +483,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final boolean defaultValue = false; try { - final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); + final SynchronousResultReceiver recv = new SynchronousResultReceiver(); service.isVolumeOffsetAvailable(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (RemoteException | TimeoutException e) { @@ -523,7 +523,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose && (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 (RemoteException | TimeoutException e) { @@ -559,7 +559,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (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 (RemoteException | 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 --- .../android/bluetooth/BluetoothVolumeControl.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'framework/java/android/bluetooth/BluetoothVolumeControl.java') diff --git a/framework/java/android/bluetooth/BluetoothVolumeControl.java b/framework/java/android/bluetooth/BluetoothVolumeControl.java index 080b9a6d64..d76a08686d 100644 --- a/framework/java/android/bluetooth/BluetoothVolumeControl.java +++ b/framework/java/android/bluetooth/BluetoothVolumeControl.java @@ -157,7 +157,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -245,7 +245,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getConnectedDevices(mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -276,7 +276,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose } else if (isEnabled()) { try { final SynchronousResultReceiver> recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.getDevicesMatchingConnectionStates(states, mAttributionSource, recv); return Attributable.setAttributionSource( recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue), @@ -306,7 +306,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose 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 (RemoteException | TimeoutException e) { @@ -355,7 +355,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final IBluetoothVolumeControl service = getService(); if (service != null) { final SynchronousResultReceiver recv = - new SynchronousResultReceiver(); + SynchronousResultReceiver.get(); service.registerCallback(mCallback, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } @@ -406,7 +406,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose try { final IBluetoothVolumeControl 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); } @@ -442,7 +442,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (isEnabled()) { try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.setVolumeOffset(device, volumeOffset, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(null); } catch (RemoteException | TimeoutException e) { @@ -483,7 +483,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose final boolean defaultValue = false; try { - final SynchronousResultReceiver recv = new SynchronousResultReceiver(); + final SynchronousResultReceiver recv = SynchronousResultReceiver.get(); service.isVolumeOffsetAvailable(device, mAttributionSource, recv); recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(defaultValue); } catch (RemoteException | TimeoutException e) { @@ -523,7 +523,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose && (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 (RemoteException | TimeoutException e) { @@ -559,7 +559,7 @@ public final class BluetoothVolumeControl implements BluetoothProfile, AutoClose if (DBG) log(Log.getStackTraceString(new Throwable())); } else if (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 (RemoteException | TimeoutException e) { -- cgit v1.2.3