Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e546222 authored by David Duarte's avatar David Duarte Committed by Automerger Merge Worker
Browse files

Merge "Remove unused {get,set}LeIoCapability hidden api" am: 699cfe24

parents 9aab81d4 699cfe24
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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;
+0 −26
Original line number Diff line number Diff line
@@ -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>();
@@ -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
     */
@@ -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++) {
+0 −53
Original line number Diff line number Diff line
@@ -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();
@@ -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 {
+0 −13
Original line number Diff line number Diff line
@@ -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());
@@ -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");
+0 −66
Original line number Diff line number Diff line
@@ -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