Loading android/app/src/com/android/bluetooth/btservice/BondStateMachine.java +17 −4 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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) { Loading Loading @@ -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); Loading Loading @@ -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) { Loading Loading @@ -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 Loading Loading
android/app/src/com/android/bluetooth/btservice/BondStateMachine.java +17 −4 Original line number Original line Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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) { Loading Loading @@ -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); Loading Loading @@ -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) { Loading Loading @@ -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 Loading