summaryrefslogtreecommitdiffstats
path: root/core/jni/android_server_BluetoothEventLoop.cpp
diff options
context:
space:
mode:
authorMatthew Xie <mattx@google.com>2011-06-25 21:47:07 -0700
committerMatthew Xie <mattx@google.com>2011-07-07 12:43:27 -0700
commita0c680393f2dd03a937c598b2cb9abf98a58152c (patch)
treed8d240310c4a4d31d9215174643a95da016bc0c0 /core/jni/android_server_BluetoothEventLoop.cpp
parentb75a798471342da5e4624048c5516773dfecf4ca (diff)
downloadframeworks_base-a0c680393f2dd03a937c598b2cb9abf98a58152c.zip
frameworks_base-a0c680393f2dd03a937c598b2cb9abf98a58152c.tar.gz
frameworks_base-a0c680393f2dd03a937c598b2cb9abf98a58152c.tar.bz2
Incoming Bluetooth Connection requests - dialog.
This sends the intents to the Settings app to show the dialogs for the incoming connection requests. Includes down merged contributions from Jaikumar Ganesh. Change-Id: Ic8b857aad3554315aae39a0e871eb94d0ac98a91
Diffstat (limited to 'core/jni/android_server_BluetoothEventLoop.cpp')
-rw-r--r--core/jni/android_server_BluetoothEventLoop.cpp28
1 files changed, 5 insertions, 23 deletions
diff --git a/core/jni/android_server_BluetoothEventLoop.cpp b/core/jni/android_server_BluetoothEventLoop.cpp
index fb25486..2b09442 100644
--- a/core/jni/android_server_BluetoothEventLoop.cpp
+++ b/core/jni/android_server_BluetoothEventLoop.cpp
@@ -119,7 +119,7 @@ static void classInitNative(JNIEnv* env, jclass clazz) {
"(Ljava/lang/String;Z)V");
method_onAgentAuthorize = env->GetMethodID(clazz, "onAgentAuthorize",
- "(Ljava/lang/String;Ljava/lang/String;)Z");
+ "(Ljava/lang/String;Ljava/lang/String;I)V");
method_onAgentOutOfBandDataAvailable = env->GetMethodID(clazz, "onAgentOutOfBandDataAvailable",
"(Ljava/lang/String;)Z");
method_onAgentCancel = env->GetMethodID(clazz, "onAgentCancel", "()V");
@@ -1114,29 +1114,11 @@ DBusHandlerResult agent_event_filter(DBusConnection *conn,
LOGV("... object_path = %s", object_path);
LOGV("... uuid = %s", uuid);
- bool auth_granted =
- env->CallBooleanMethod(nat->me, method_onAgentAuthorize,
- env->NewStringUTF(object_path), env->NewStringUTF(uuid));
+ dbus_message_ref(msg); // increment refcount because we pass to java
+ env->CallBooleanMethod(nat->me, method_onAgentAuthorize,
+ env->NewStringUTF(object_path), env->NewStringUTF(uuid),
+ int(msg));
- // reply
- if (auth_granted) {
- DBusMessage *reply = dbus_message_new_method_return(msg);
- if (!reply) {
- LOGE("%s: Cannot create message reply\n", __FUNCTION__);
- goto failure;
- }
- dbus_connection_send(nat->conn, reply, NULL);
- dbus_message_unref(reply);
- } else {
- DBusMessage *reply = dbus_message_new_error(msg,
- "org.bluez.Error.Rejected", "Authorization rejected");
- if (!reply) {
- LOGE("%s: Cannot create message reply\n", __FUNCTION__);
- goto failure;
- }
- dbus_connection_send(nat->conn, reply, NULL);
- dbus_message_unref(reply);
- }
goto success;
} else if (dbus_message_is_method_call(msg,
"org.bluez.Agent", "OutOfBandAvailable")) {