Loading android/app/src/com/android/bluetooth/btservice/AbstractionLayer.java +0 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ public final class AbstractionLayer { public static final int BT_DEVICE_TYPE_DUAL = 0x03; static final int BT_PROPERTY_LOCAL_IO_CAPS = 0x0e; static final int BT_PROPERTY_LOCAL_IO_CAPS_BLE = 0x0f; static final int BT_BOND_STATE_NONE = 0x00; static final int BT_BOND_STATE_BONDING = 0x01; Loading android/app/src/com/android/bluetooth/btservice/AdapterProperties.java +0 −26 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ class AdapterProperties { private volatile int mDiscoverableTimeout; private volatile ParcelUuid[] mUuids; private volatile int mLocalIOCapability = BluetoothAdapter.IO_CAPABILITY_UNKNOWN; private volatile int mLocalIOCapabilityBLE = BluetoothAdapter.IO_CAPABILITY_UNKNOWN; private CopyOnWriteArrayList<BluetoothDevice> mBondedDevices = new CopyOnWriteArrayList<BluetoothDevice>(); Loading Loading @@ -372,26 +371,6 @@ class AdapterProperties { } } boolean setLeIoCapability(int capability) { synchronized (mObject) { boolean result = mService.setAdapterPropertyNative( AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE, Utils.intToByteArray(capability)); if (result) { mLocalIOCapabilityBLE = capability; } return result; } } int getLeIoCapability() { synchronized (mObject) { return mLocalIOCapabilityBLE; } } /** * @return the mScanMode */ Loading Loading @@ -1066,11 +1045,6 @@ class AdapterProperties { debugLog("mLocalIOCapability set to " + mLocalIOCapability); break; case AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE: mLocalIOCapabilityBLE = Utils.byteArrayToInt(val); debugLog("mLocalIOCapabilityBLE set to " + mLocalIOCapabilityBLE); break; case AbstractionLayer.BT_PROPERTY_WL_MEDIA_PLAYERS_LIST: int pos = 0; for (int j = 0; j < val.length; j++) { Loading android/app/src/com/android/bluetooth/btservice/AdapterService.java +0 −53 Original line number Diff line number Diff line Loading @@ -488,7 +488,6 @@ public class AdapterService extends Service { setBluetoothClassFromConfig(); initProfileServices(); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_DYNAMIC_AUDIO_BUFFER); mAdapterStateMachine.sendMessage(AdapterState.BREDR_STARTED); mBtCompanionManager.loadCompanionInfo(); Loading Loading @@ -2258,58 +2257,6 @@ public class AdapterService extends Service { return service.mAdapterProperties.setIoCapability(capability); } @Override public void getLeIoCapability(AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getLeIoCapability(source)); } catch (RuntimeException e) { receiver.propagateException(e); } } @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) private int getLeIoCapability(AttributionSource attributionSource) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getLeIoCapability") || !Utils.checkConnectPermissionForDataDelivery( service, attributionSource, "AdapterService getLeIoCapability")) { return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; } return service.mAdapterProperties.getLeIoCapability(); } @Override public void setLeIoCapability(int capability, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(setLeIoCapability(capability, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) private boolean setLeIoCapability(int capability, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "setLeIoCapability") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return false; } enforceBluetoothPrivilegedPermission(service); if (!isValidIoCapability(capability)) { return false; } return service.mAdapterProperties.setLeIoCapability(capability); } @Override public void getScanMode(AttributionSource source, SynchronousResultReceiver receiver) { try { Loading android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceBinderTest.java +0 −13 Original line number Diff line number Diff line Loading @@ -108,12 +108,6 @@ public class AdapterServiceBinderTest { verify(mService.mAdapterProperties).getIoCapability(); } @Test public void getLeIoCapability() { mBinder.getLeIoCapability(mAttributionSource, SynchronousResultReceiver.get()); verify(mService.mAdapterProperties).getLeIoCapability(); } @Test public void getLeMaximumAdvertisingDataLength() { mBinder.getLeMaximumAdvertisingDataLength(SynchronousResultReceiver.get()); Loading Loading @@ -191,13 +185,6 @@ public class AdapterServiceBinderTest { verify(mService.mAdapterProperties).setIoCapability(capability); } @Test public void setLeIoCapability() { int capability = BluetoothAdapter.IO_CAPABILITY_MAX - 1; mBinder.setLeIoCapability(capability, mAttributionSource, SynchronousResultReceiver.get()); verify(mService.mAdapterProperties).setLeIoCapability(capability); } @Test public void stopRfcommListener() { ParcelUuid uuid = ParcelUuid.fromString("0000110A-0000-1000-8000-00805F9B34FB"); Loading framework/java/android/bluetooth/BluetoothAdapter.java +0 −66 Original line number Diff line number Diff line Loading @@ -1935,72 +1935,6 @@ public final class BluetoothAdapter { return false; } /** * Returns the Input/Output capability of the device for BLE operations. * * @return Input/Output capability of the device. One of {@link #IO_CAPABILITY_OUT}, * {@link #IO_CAPABILITY_IO}, {@link #IO_CAPABILITY_IN}, {@link #IO_CAPABILITY_NONE}, * {@link #IO_CAPABILITY_KBDISP} or {@link #IO_CAPABILITY_UNKNOWN}. * * @hide */ @RequiresLegacyBluetoothAdminPermission @RequiresBluetoothConnectPermission @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) @IoCapability public int getLeIoCapability() { if (getState() != STATE_ON) return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; mServiceLock.readLock().lock(); try { if (mService != null) { final SynchronousResultReceiver<Integer> recv = SynchronousResultReceiver.get(); mService.getLeIoCapability(mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()) .getValue(BluetoothAdapter.IO_CAPABILITY_UNKNOWN); } } catch (RemoteException | TimeoutException e) { Log.e(TAG, e.toString() + "\n" + Log.getStackTraceString(new Throwable())); } finally { mServiceLock.readLock().unlock(); } return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; } /** * Sets the Input/Output capability of the device for BLE operations. * * <p>Changing the Input/Output capability of a device only takes effect on restarting the * Bluetooth stack. You would need to restart the stack using {@link BluetoothAdapter#disable()} * and {@link BluetoothAdapter#enable()} to see the changes. * * @param capability Input/Output capability of the device. One of {@link #IO_CAPABILITY_OUT}, * {@link #IO_CAPABILITY_IO}, {@link #IO_CAPABILITY_IN}, * {@link #IO_CAPABILITY_NONE} or {@link #IO_CAPABILITY_KBDISP}. * * @hide */ @RequiresBluetoothConnectPermission @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) public boolean setLeIoCapability(@IoCapability int capability) { if (getState() != STATE_ON) return false; mServiceLock.readLock().lock(); try { if (mService != null) { final SynchronousResultReceiver<Boolean> recv = SynchronousResultReceiver.get(); mService.setLeIoCapability(capability, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(false); } } catch (RemoteException | TimeoutException e) { Log.e(TAG, e.toString() + "\n" + Log.getStackTraceString(new Throwable())); } finally { mServiceLock.readLock().unlock(); } return false; } /** * Get the current Bluetooth scan mode of the local Bluetooth adapter. * <p>The Bluetooth scan mode determines if the local adapter is Loading Loading
android/app/src/com/android/bluetooth/btservice/AbstractionLayer.java +0 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,6 @@ public final class AbstractionLayer { public static final int BT_DEVICE_TYPE_DUAL = 0x03; static final int BT_PROPERTY_LOCAL_IO_CAPS = 0x0e; static final int BT_PROPERTY_LOCAL_IO_CAPS_BLE = 0x0f; static final int BT_BOND_STATE_NONE = 0x00; static final int BT_BOND_STATE_BONDING = 0x01; Loading
android/app/src/com/android/bluetooth/btservice/AdapterProperties.java +0 −26 Original line number Diff line number Diff line Loading @@ -90,7 +90,6 @@ class AdapterProperties { private volatile int mDiscoverableTimeout; private volatile ParcelUuid[] mUuids; private volatile int mLocalIOCapability = BluetoothAdapter.IO_CAPABILITY_UNKNOWN; private volatile int mLocalIOCapabilityBLE = BluetoothAdapter.IO_CAPABILITY_UNKNOWN; private CopyOnWriteArrayList<BluetoothDevice> mBondedDevices = new CopyOnWriteArrayList<BluetoothDevice>(); Loading Loading @@ -372,26 +371,6 @@ class AdapterProperties { } } boolean setLeIoCapability(int capability) { synchronized (mObject) { boolean result = mService.setAdapterPropertyNative( AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE, Utils.intToByteArray(capability)); if (result) { mLocalIOCapabilityBLE = capability; } return result; } } int getLeIoCapability() { synchronized (mObject) { return mLocalIOCapabilityBLE; } } /** * @return the mScanMode */ Loading Loading @@ -1066,11 +1045,6 @@ class AdapterProperties { debugLog("mLocalIOCapability set to " + mLocalIOCapability); break; case AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE: mLocalIOCapabilityBLE = Utils.byteArrayToInt(val); debugLog("mLocalIOCapabilityBLE set to " + mLocalIOCapabilityBLE); break; case AbstractionLayer.BT_PROPERTY_WL_MEDIA_PLAYERS_LIST: int pos = 0; for (int j = 0; j < val.length; j++) { Loading
android/app/src/com/android/bluetooth/btservice/AdapterService.java +0 −53 Original line number Diff line number Diff line Loading @@ -488,7 +488,6 @@ public class AdapterService extends Service { setBluetoothClassFromConfig(); initProfileServices(); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_LOCAL_IO_CAPS_BLE); getAdapterPropertyNative(AbstractionLayer.BT_PROPERTY_DYNAMIC_AUDIO_BUFFER); mAdapterStateMachine.sendMessage(AdapterState.BREDR_STARTED); mBtCompanionManager.loadCompanionInfo(); Loading Loading @@ -2258,58 +2257,6 @@ public class AdapterService extends Service { return service.mAdapterProperties.setIoCapability(capability); } @Override public void getLeIoCapability(AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(getLeIoCapability(source)); } catch (RuntimeException e) { receiver.propagateException(e); } } @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) private int getLeIoCapability(AttributionSource attributionSource) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "getLeIoCapability") || !Utils.checkConnectPermissionForDataDelivery( service, attributionSource, "AdapterService getLeIoCapability")) { return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; } return service.mAdapterProperties.getLeIoCapability(); } @Override public void setLeIoCapability(int capability, AttributionSource source, SynchronousResultReceiver receiver) { try { receiver.send(setLeIoCapability(capability, source)); } catch (RuntimeException e) { receiver.propagateException(e); } } @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) private boolean setLeIoCapability(int capability, AttributionSource source) { AdapterService service = getService(); if (service == null || !callerIsSystemOrActiveOrManagedUser(service, TAG, "setLeIoCapability") || !Utils.checkConnectPermissionForDataDelivery(service, source, TAG)) { return false; } enforceBluetoothPrivilegedPermission(service); if (!isValidIoCapability(capability)) { return false; } return service.mAdapterProperties.setLeIoCapability(capability); } @Override public void getScanMode(AttributionSource source, SynchronousResultReceiver receiver) { try { Loading
android/app/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceBinderTest.java +0 −13 Original line number Diff line number Diff line Loading @@ -108,12 +108,6 @@ public class AdapterServiceBinderTest { verify(mService.mAdapterProperties).getIoCapability(); } @Test public void getLeIoCapability() { mBinder.getLeIoCapability(mAttributionSource, SynchronousResultReceiver.get()); verify(mService.mAdapterProperties).getLeIoCapability(); } @Test public void getLeMaximumAdvertisingDataLength() { mBinder.getLeMaximumAdvertisingDataLength(SynchronousResultReceiver.get()); Loading Loading @@ -191,13 +185,6 @@ public class AdapterServiceBinderTest { verify(mService.mAdapterProperties).setIoCapability(capability); } @Test public void setLeIoCapability() { int capability = BluetoothAdapter.IO_CAPABILITY_MAX - 1; mBinder.setLeIoCapability(capability, mAttributionSource, SynchronousResultReceiver.get()); verify(mService.mAdapterProperties).setLeIoCapability(capability); } @Test public void stopRfcommListener() { ParcelUuid uuid = ParcelUuid.fromString("0000110A-0000-1000-8000-00805F9B34FB"); Loading
framework/java/android/bluetooth/BluetoothAdapter.java +0 −66 Original line number Diff line number Diff line Loading @@ -1935,72 +1935,6 @@ public final class BluetoothAdapter { return false; } /** * Returns the Input/Output capability of the device for BLE operations. * * @return Input/Output capability of the device. One of {@link #IO_CAPABILITY_OUT}, * {@link #IO_CAPABILITY_IO}, {@link #IO_CAPABILITY_IN}, {@link #IO_CAPABILITY_NONE}, * {@link #IO_CAPABILITY_KBDISP} or {@link #IO_CAPABILITY_UNKNOWN}. * * @hide */ @RequiresLegacyBluetoothAdminPermission @RequiresBluetoothConnectPermission @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) @IoCapability public int getLeIoCapability() { if (getState() != STATE_ON) return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; mServiceLock.readLock().lock(); try { if (mService != null) { final SynchronousResultReceiver<Integer> recv = SynchronousResultReceiver.get(); mService.getLeIoCapability(mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()) .getValue(BluetoothAdapter.IO_CAPABILITY_UNKNOWN); } } catch (RemoteException | TimeoutException e) { Log.e(TAG, e.toString() + "\n" + Log.getStackTraceString(new Throwable())); } finally { mServiceLock.readLock().unlock(); } return BluetoothAdapter.IO_CAPABILITY_UNKNOWN; } /** * Sets the Input/Output capability of the device for BLE operations. * * <p>Changing the Input/Output capability of a device only takes effect on restarting the * Bluetooth stack. You would need to restart the stack using {@link BluetoothAdapter#disable()} * and {@link BluetoothAdapter#enable()} to see the changes. * * @param capability Input/Output capability of the device. One of {@link #IO_CAPABILITY_OUT}, * {@link #IO_CAPABILITY_IO}, {@link #IO_CAPABILITY_IN}, * {@link #IO_CAPABILITY_NONE} or {@link #IO_CAPABILITY_KBDISP}. * * @hide */ @RequiresBluetoothConnectPermission @RequiresPermission(allOf = { android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) public boolean setLeIoCapability(@IoCapability int capability) { if (getState() != STATE_ON) return false; mServiceLock.readLock().lock(); try { if (mService != null) { final SynchronousResultReceiver<Boolean> recv = SynchronousResultReceiver.get(); mService.setLeIoCapability(capability, mAttributionSource, recv); return recv.awaitResultNoInterrupt(getSyncTimeout()).getValue(false); } } catch (RemoteException | TimeoutException e) { Log.e(TAG, e.toString() + "\n" + Log.getStackTraceString(new Throwable())); } finally { mServiceLock.readLock().unlock(); } return false; } /** * Get the current Bluetooth scan mode of the local Bluetooth adapter. * <p>The Bluetooth scan mode determines if the local adapter is Loading