diff options
author | Jaikumar Ganesh <jaikumar@google.com> | 2010-09-02 14:36:18 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-02 14:36:18 -0700 |
commit | d63760c1e93a150910701d2d08a45b5c6899bbb6 (patch) | |
tree | b9f8f57f36f45c565147f9674144b10fb0fea0d2 | |
parent | 57ca82ddb122be01d879b8ebc7bc674c29615871 (diff) | |
parent | b70765cc27a174d1d4a0bab7062733ebd3eae354 (diff) | |
download | frameworks_base-d63760c1e93a150910701d2d08a45b5c6899bbb6.zip frameworks_base-d63760c1e93a150910701d2d08a45b5c6899bbb6.tar.gz frameworks_base-d63760c1e93a150910701d2d08a45b5c6899bbb6.tar.bz2 |
Merge "Decouple Tethering UI with registering of SDP records."
-rw-r--r-- | core/java/android/bluetooth/BluetoothPan.java | 4 | ||||
-rw-r--r-- | core/java/android/bluetooth/IBluetooth.aidl | 2 | ||||
-rw-r--r-- | core/java/android/server/BluetoothEventLoop.java | 3 | ||||
-rw-r--r-- | core/java/android/server/BluetoothService.java | 16 |
4 files changed, 14 insertions, 11 deletions
diff --git a/core/java/android/bluetooth/BluetoothPan.java b/core/java/android/bluetooth/BluetoothPan.java index 952765d..9d0b3f2 100644 --- a/core/java/android/bluetooth/BluetoothPan.java +++ b/core/java/android/bluetooth/BluetoothPan.java @@ -173,9 +173,9 @@ public final class BluetoothPan { Log.d(TAG, msg); } - public void setBluetoothTethering(boolean value, String uuid, String bridge) { + public void setBluetoothTethering(boolean value) { try { - mService.setBluetoothTethering(value, uuid, bridge); + mService.setBluetoothTethering(value); } catch (RemoteException e) { Log.e(TAG, "", e); } diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index f8f678b..c4a40cd 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -83,7 +83,7 @@ interface IBluetooth int getInputDevicePriority(in BluetoothDevice device); boolean isTetheringOn(); - void setBluetoothTethering(boolean value, String uuid, String bridge); + void setBluetoothTethering(boolean value); int getPanDeviceState(in BluetoothDevice device); BluetoothDevice[] getConnectedPanDevices(); boolean connectPanDevice(in BluetoothDevice device); diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java index 9436fec..48a2b72 100644 --- a/core/java/android/server/BluetoothEventLoop.java +++ b/core/java/android/server/BluetoothEventLoop.java @@ -644,7 +644,8 @@ class BluetoothEventLoop { } else { Log.i(TAG, "Rejecting incoming HID connection from " + address); } - } else if (BluetoothUuid.isBnep(uuid) || BluetoothUuid.isNap(uuid)){ + } else if (BluetoothUuid.isBnep(uuid) || BluetoothUuid.isNap(uuid) && + mBluetoothService.isTetheringOn()){ authorized = true; } else { Log.i(TAG, "Rejecting incoming " + deviceUuid + " connection from " + address); diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java index fa5f156..7252736 100644 --- a/core/java/android/server/BluetoothService.java +++ b/core/java/android/server/BluetoothService.java @@ -352,7 +352,7 @@ public class BluetoothService extends IBluetooth.Stub { } setBluetoothState(BluetoothAdapter.STATE_TURNING_OFF); mHandler.removeMessages(MESSAGE_REGISTER_SDP_RECORDS); - setBluetoothTethering(false, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE); + setBluetoothTetheringNative(false, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE); // Allow 3 seconds for profiles to gracefully disconnect // TODO: Introduce a callback mechanism so that each profile can notify @@ -576,8 +576,12 @@ public class BluetoothService extends IBluetooth.Stub { mBondState.readAutoPairingData(); mBondState.loadBondState(); initProfileState(); + + //Register SDP records. mHandler.sendMessageDelayed( mHandler.obtainMessage(MESSAGE_REGISTER_SDP_RECORDS, 1, -1), 3000); + setBluetoothTetheringNative(true, BluetoothPan.NAP_ROLE, BluetoothPan.NAP_BRIDGE); + // Log bluetooth on to battery stats. long ident = Binder.clearCallingIdentity(); @@ -1258,14 +1262,12 @@ public class BluetoothService extends IBluetooth.Stub { private BroadcastReceiver mTetheringReceiver = null; - public synchronized void setBluetoothTethering(boolean value, - final String uuid, final String bridge) { - mTetheringOn = value; + public synchronized void setBluetoothTethering(boolean value) { if (!value) { disconnectPan(); } - if (getBluetoothState() != BluetoothAdapter.STATE_ON && mTetheringOn) { + if (getBluetoothState() != BluetoothAdapter.STATE_ON && value) { IntentFilter filter = new IntentFilter(); filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); mTetheringReceiver = new BroadcastReceiver() { @@ -1273,14 +1275,14 @@ public class BluetoothService extends IBluetooth.Stub { public synchronized void onReceive(Context context, Intent intent) { if (intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF) == BluetoothAdapter.STATE_ON) { - setBluetoothTethering(true, uuid, bridge); + mTetheringOn = true; mContext.unregisterReceiver(mTetheringReceiver); } } }; mContext.registerReceiver(mTetheringReceiver, filter); } else { - setBluetoothTetheringNative(value, uuid, bridge); + mTetheringOn = value; } } |