summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2009-10-12 12:36:03 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-10-12 12:36:03 -0700
commitde553351bf25b60873fd5b5bcefb46b550e104aa (patch)
tree04851aa7e1495008051906d6635dec839b2c921c /core/jni
parent66e146b30d40e8d1609c8ccbce9bfd960e5ea166 (diff)
parent4c220bd0f32b93314c4c1bff328bd815265ef117 (diff)
downloadframeworks_base-de553351bf25b60873fd5b5bcefb46b550e104aa.zip
frameworks_base-de553351bf25b60873fd5b5bcefb46b550e104aa.tar.gz
frameworks_base-de553351bf25b60873fd5b5bcefb46b550e104aa.tar.bz2
am 4c220bd0: Merge branch \'eclair-plus-aosp\' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp
Merge commit '4c220bd0f32b93314c4c1bff328bd815265ef117' * commit '4c220bd0f32b93314c4c1bff328bd815265ef117': Encourage developers to connect RFCOMM by UUID instead of Channel.
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_server_BluetoothEventLoop.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/core/jni/android_server_BluetoothEventLoop.cpp b/core/jni/android_server_BluetoothEventLoop.cpp
index e37e832..62a50e5 100644
--- a/core/jni/android_server_BluetoothEventLoop.cpp
+++ b/core/jni/android_server_BluetoothEventLoop.cpp
@@ -36,6 +36,10 @@
namespace android {
+#define CREATE_DEVICE_ALREADY_EXISTS 1
+#define CREATE_DEVICE_SUCCESS 0
+#define CREATE_DEVICE_FAILED -1
+
#ifdef HAVE_BLUETOOTH
static jfieldID field_mNativeData;
@@ -95,7 +99,7 @@ static void classInitNative(JNIEnv* env, jclass clazz) {
method_onCreatePairedDeviceResult = env->GetMethodID(clazz, "onCreatePairedDeviceResult",
"(Ljava/lang/String;I)V");
method_onCreateDeviceResult = env->GetMethodID(clazz, "onCreateDeviceResult",
- "(Ljava/lang/String;Z)V");
+ "(Ljava/lang/String;I)V");
method_onDiscoverServicesResult = env->GetMethodID(clazz, "onDiscoverServicesResult",
"(Ljava/lang/String;Z)V");
@@ -1115,10 +1119,13 @@ void onCreateDeviceResult(DBusMessage *msg, void *user, void *n) {
LOGV("... Address = %s", address);
- bool result = JNI_TRUE;
+ jint result = CREATE_DEVICE_SUCCESS;
if (dbus_set_error_from_message(&err, msg)) {
+ if (dbus_error_has_name(&err, "org.bluez.Error.AlreadyExists")) {
+ result = CREATE_DEVICE_ALREADY_EXISTS;
+ }
LOG_AND_FREE_DBUS_ERROR(&err);
- result = JNI_FALSE;
+ result = CREATE_DEVICE_FAILED;
}
env->CallVoidMethod(nat->me,
method_onCreateDeviceResult,