summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaikumar Ganesh <jaikumar@google.com>2010-09-02 14:36:18 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-09-02 14:36:18 -0700
commitd63760c1e93a150910701d2d08a45b5c6899bbb6 (patch)
treeb9f8f57f36f45c565147f9674144b10fb0fea0d2
parent57ca82ddb122be01d879b8ebc7bc674c29615871 (diff)
parentb70765cc27a174d1d4a0bab7062733ebd3eae354 (diff)
downloadframeworks_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.java4
-rw-r--r--core/java/android/bluetooth/IBluetooth.aidl2
-rw-r--r--core/java/android/server/BluetoothEventLoop.java3
-rw-r--r--core/java/android/server/BluetoothService.java16
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;
}
}