am dd79a33b: Auto-connect Bluetooth device only when user initiates pairing.

Merge commit 'dd79a33ba53fec530094f4d2fe37f0538530d9f8' into gingerbread-plus-aosp

* commit 'dd79a33ba53fec530094f4d2fe37f0538530d9f8':
  Auto-connect Bluetooth device only when user initiates pairing.
This commit is contained in:
Jake Hamby
2010-09-24 17:16:37 -07:00
committed by Android Git Automerger
6 changed files with 20 additions and 15 deletions

View File

@@ -88,6 +88,8 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
// See mConnectAttempted
private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
/** Auto-connect after pairing only if locally initiated. */
private boolean mConnectAfterPairing;
/**
* Describes the current device and profile for logging.
@@ -362,7 +364,10 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
if (!mDevice.createBond()) {
mLocalManager.showError(mDevice, R.string.bluetooth_error_title,
R.string.bluetooth_pairing_error_message);
return;
}
mConnectAfterPairing = true; // auto-connect after pairing
}
public void unpair() {
@@ -608,9 +613,19 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
public void onBondingStateChanged(int bondState) {
if (bondState == BluetoothDevice.BOND_NONE) {
mProfiles.clear();
mConnectAfterPairing = false; // cancel auto-connect
}
refresh();
if (bondState == BluetoothDevice.BOND_BONDED) {
if (mDevice.isBluetoothDock()) {
onBondingDockConnect();
} else if (mConnectAfterPairing) {
connect();
}
mConnectAfterPairing = false;
}
}
public void setBtClass(BluetoothClass btClass) {