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

Commit f3127509 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "ErrorProne: BondStateMachine"

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


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


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


    static final int CREATE_BOND = 1;
    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) {
    private boolean cancelBond(BluetoothDevice dev) {
        if (dev.getBondState() == BluetoothDevice.BOND_BONDING) {
        if (dev.getBondState() == BluetoothDevice.BOND_BONDING) {
            byte[] addr = Utils.getBytesFromAddress(dev.getAddress());
            byte[] addr = Utils.getBytesFromAddress(dev.getAddress());
@@ -318,6 +319,10 @@ final class BondStateMachine extends StateMachine {
        return false;
        return false;
    }
    }


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


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


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


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