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

Commit 4d2b4ee7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "ErrorProne: BondStateMachine" am: f3127509

parents b9f7d66c f3127509
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.internal.util.State;
import com.android.internal.util.StateMachine;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
@@ -59,7 +60,6 @@ import java.util.Set;
 */

final class BondStateMachine extends StateMachine {
    private static final boolean DBG = false;
    private static final String TAG = "BluetoothBondStateMachine";

    static final int CREATE_BOND = 1;
@@ -290,6 +290,7 @@ final class BondStateMachine extends StateMachine {
        }
    }

    @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
    private boolean cancelBond(BluetoothDevice dev) {
        if (dev.getBondState() == BluetoothDevice.BOND_BONDING) {
            byte[] addr = Utils.getBytesFromAddress(dev.getAddress());
@@ -318,6 +319,10 @@ final class BondStateMachine extends StateMachine {
        return false;
    }

    @RequiresPermission(allOf = {
                android.Manifest.permission.BLUETOOTH_CONNECT,
                android.Manifest.permission.INTERACT_ACROSS_USERS,
    })
    private boolean createBond(BluetoothDevice dev, int transport, OobData remoteP192Data,
            OobData remoteP256Data, boolean transition) {
        if (dev.getBondState() == BluetoothDevice.BOND_NONE) {
@@ -375,6 +380,10 @@ final class BondStateMachine extends StateMachine {
    }

    @VisibleForTesting
    @RequiresPermission(allOf = {
                android.Manifest.permission.BLUETOOTH_CONNECT,
                android.Manifest.permission.INTERACT_ACROSS_USERS,
    })
    void sendIntent(BluetoothDevice device, int newState, int reason,
            boolean isTriggerFromDelayMessage) {
        DeviceProperties devProp = mRemoteDevices.getDeviceProperties(device);
@@ -480,15 +489,18 @@ final class BondStateMachine extends StateMachine {
        sendMessage(msg);
    }

    @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
    void sspRequestCallback(byte[] address, byte[] name, int cod, int pairingVariant, int passkey) {
        //TODO(BT): Get wakelock and update name and cod
        BluetoothDevice bdDevice = mRemoteDevices.getDevice(address);
        if (bdDevice == null) {
            mRemoteDevices.addDeviceProperties(address);
        }
        infoLog("sspRequestCallback: " + address + " name: " + name + " cod: " + cod
                + " pairingVariant " + pairingVariant + " passkey: "
                + (Build.isDebuggable() ? passkey : "******"));
        infoLog("sspRequestCallback: " + Arrays.toString(address)
                + " name: " + Arrays.toString(name)
                + " cod: " + cod
                + " pairingVariant " + pairingVariant
                + " passkey: " + (Build.isDebuggable() ? passkey : "******"));
        int variant;
        boolean displayPasskey = false;
        switch (pairingVariant) {
@@ -536,6 +548,7 @@ final class BondStateMachine extends StateMachine {
        sendMessage(msg);
    }

    @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT)
    void pinRequestCallback(byte[] address, byte[] name, int cod, boolean min16Digits) {
        //TODO(BT): Get wakelock and update name and cod