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

Commit e4441430 authored by Zach Johnson's avatar Zach Johnson
Browse files

Simplify setPin

Bug: 145171640
Test: compile & run
Change-Id: Ice7b32c7c9a6bcc1b524c30ea6cdbc8e45485a09
parent 25dac82f
Loading
Loading
Loading
Loading
+12 −20
Original line number Diff line number Diff line
@@ -1646,7 +1646,18 @@ public class AdapterService extends Service {

            enforceBluetoothAdminPermission(service);

            return service.setPin(device, accept, len, pinCode);
            DeviceProperties deviceProp = service.mRemoteDevices.getDeviceProperties(device);
            // Only allow setting a pin in bonding state, or bonded state in case of security upgrade.
            if (deviceProp == null || !deviceProp.isBondingOrBonded()) {
                return false;
            }
            if (pinCode.length != len) {
                android.util.EventLog.writeEvent(0x534e4554, "139287605", -1,
                        "PIN code length mismatch");
                return false;
            }
            service.logUserBondResponse(device, accept, BluetoothProtoEnums.BOND_SUB_STATE_LOCAL_PIN_REPLIED);
            return service.pinReplyNative(addressToBytes(device.getAddress()), accept, len, pinCode);
        }

        @Override
@@ -2547,25 +2558,6 @@ public class AdapterService extends Service {
                accepted ? 0 : BluetoothDevice.UNBOND_REASON_AUTH_REJECTED);
    }

    boolean setPin(BluetoothDevice device, boolean accept, int len, byte[] pinCode) {
        DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device);
        // Only allow setting a pin in bonding state, or bonded state in case of security upgrade.
        if (deviceProp == null || !deviceProp.isBondingOrBonded()) {
            return false;
        }

        if (pinCode.length != len) {
            android.util.EventLog.writeEvent(0x534e4554, "139287605", -1,
                    "PIN code length mismatch");
            return false;
        }

        logUserBondResponse(device, accept, BluetoothProtoEnums.BOND_SUB_STATE_LOCAL_PIN_REPLIED);

        byte[] addr = Utils.getBytesFromAddress(device.getAddress());
        return pinReplyNative(addr, accept, len, pinCode);
    }

    boolean setPasskey(BluetoothDevice device, boolean accept, int len, byte[] passkey) {
        DeviceProperties deviceProp = mRemoteDevices.getDeviceProperties(device);
        if (deviceProp == null || !deviceProp.isBonding()) {