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

Commit daff073c authored by William Escande's avatar William Escande
Browse files

ErrorProne: BondStateMachine

In btservice/BondStateMachine.java
```
62: warning: The field 'DBG' is never read.
    private static final boolean DBG = false;
                                 ^
294: warning: Method cancelBond() annotated [none] but too narrow;
invokes method requiring {allOf=[android.permission.BLUETOOTH_CONNECT]}
        if (dev.getBondState() == BluetoothDevice.BOND_BONDING) {
                            ^
344: warning: Method createBond() annotated [none] but too narrow;
invokes method requiring {allOf=[android.permission.BLUETOOTH_CONNECT]}
        mAdapterService.obfuscateAddress(dev), transport, dev.getType(),
                                                                    ^
447: warning: Method sendIntent() annotated [none] but too narrow;
invokes method requiring {allOf=[android.permission.INTERACT_ACROSS_USERS]}
        mAdapterService.sendBroadcastAsUser(intent, UserHandle.ALL, BLUETOOTH_CONNECT,
                                           ^
524: warning: Method sspRequestCallback() annotated [none] but too narrow;
invokes method requiring {allOf=[android.permission.BLUETOOTH_CONNECT]}
                mAdapterService.obfuscateAddress(device), 0, device.getType(),
                                                                           ^
487: warning: Calling toString on an array does not provide useful information
        infoLog("sspRequestCallback: " + address + " name: " + name + " cod: " + cod
                                         ^                     ^
547: warning: Method pinRequestCallback() annotated [none] but too narrow;
invokes method requiring {allOf=[android.permission.BLUETOOTH_CONNECT]}
                mAdapterService.obfuscateAddress(bdDevice), 0, bdDevice.getType(),
                                                                               ^
```

Bug: 236759221
Test: m RUN_ERROR_PRONE=true Bluetooth
Change-Id: Ic449425f7c2d6a93b1d3caace892d3e586c1e290
parent af190f9f
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) {
@@ -373,6 +378,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);
@@ -478,15 +487,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) {
@@ -534,6 +546,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