summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/settings/bluetooth/BluetoothEventRedirector.java2
-rw-r--r--src/com/android/settings/bluetooth/CachedBluetoothDevice.java15
-rw-r--r--src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java9
-rw-r--r--src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java2
-rw-r--r--src/com/android/settings/bluetooth/LocalBluetoothManager.java5
-rw-r--r--src/com/android/settings/bluetooth/SettingsBtStatus.java2
6 files changed, 20 insertions, 15 deletions
diff --git a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
index cc3db6e..4d124b3 100644
--- a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
+++ b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
@@ -83,7 +83,7 @@ public class BluetoothEventRedirector {
if (bondState == BluetoothDevice.BOND_NONE) {
if (device.isBluetoothDock()) {
// After a dock is unpaired, we will forget the
- // setttings
+ // settings
mManager.removeDockAutoConnectSetting(device.getAddress());
// if the device is undocked, remove it from the list as
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index 9b16005..32f7ff3 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -86,6 +86,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.
@@ -343,7 +345,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() {
@@ -589,9 +594,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) {
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
index 4497480..b2b1326 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
@@ -182,15 +182,6 @@ public class CachedBluetoothDeviceManager {
}
cachedDevice.onBondingStateChanged(bondState);
-
- if (bondState == BluetoothDevice.BOND_BONDED) {
- // Auto-connect after pairing
- if (!device.isBluetoothDock()) {
- cachedDevice.connect();
- } else {
- cachedDevice.onBondingDockConnect();
- }
- }
}
/**
diff --git a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
index 2a8af5f..ed9a974 100644
--- a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
+++ b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
@@ -72,7 +72,7 @@ public class ConnectSpecificProfilesActivity extends PreferenceActivity
}
if (device == null) {
- Log.w(TAG, "Activity started without a remote blueototh device");
+ Log.w(TAG, "Activity started without a remote Bluetooth device");
finish();
}
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
index 97e823e..4ba06da 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
@@ -45,9 +45,8 @@ public class LocalBluetoothManager {
private static final String SHARED_PREFERENCES_NAME = "bluetooth_settings";
+ /** Singleton instance. */
private static LocalBluetoothManager INSTANCE;
- /** Used when obtaining a reference to the singleton instance. */
- private static Object INSTANCE_LOCK = new Object();
private boolean mInitialized;
private Context mContext;
@@ -86,7 +85,7 @@ public class LocalBluetoothManager {
private long mLastScan;
public static LocalBluetoothManager getInstance(Context context) {
- synchronized (INSTANCE_LOCK) {
+ synchronized (LocalBluetoothManager.class) {
if (INSTANCE == null) {
INSTANCE = new LocalBluetoothManager();
}
diff --git a/src/com/android/settings/bluetooth/SettingsBtStatus.java b/src/com/android/settings/bluetooth/SettingsBtStatus.java
index e2285e9..c6ec23b 100644
--- a/src/com/android/settings/bluetooth/SettingsBtStatus.java
+++ b/src/com/android/settings/bluetooth/SettingsBtStatus.java
@@ -31,7 +31,7 @@ public class SettingsBtStatus {
public static final int CONNECTION_STATUS_UNKNOWN = 0;
public static final int CONNECTION_STATUS_ACTIVE = 1;
- /** Use {@link #isConnected} to check for the connected state */
+ /** Use {@link #isConnectionStatusConnected} to check for the connected state */
public static final int CONNECTION_STATUS_CONNECTED = 2;
public static final int CONNECTION_STATUS_CONNECTING = 3;
public static final int CONNECTION_STATUS_DISCONNECTED = 4;