From 173e445f3bbb7c85833848dea471fe4d091f3b70 Mon Sep 17 00:00:00 2001 From: Albert Mojir Date: Mon, 21 Mar 2011 14:59:10 +0100 Subject: [PATCH] Bluetooth: correcting return value from cancelDiscovery BluetoothAdapter.cancelDiscovery was previously always returning false. Change-Id: Ic1fd134d4b710438d95c5b8ca009104529dd1bf5 --- core/java/android/bluetooth/BluetoothAdapter.java | 2 +- core/jni/android_server_BluetoothService.cpp | 9 +++++++-- .../src/android/bluetooth/BluetoothTestUtils.java | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index a7175e3036903..b61e40fd92b76 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -628,7 +628,7 @@ public final class BluetoothAdapter { public boolean cancelDiscovery() { if (getState() != STATE_ON) return false; try { - mService.cancelDiscovery(); + return mService.cancelDiscovery(); } catch (RemoteException e) {Log.e(TAG, "", e);} return false; } diff --git a/core/jni/android_server_BluetoothService.cpp b/core/jni/android_server_BluetoothService.cpp index daa59a636314b..6cb8d4d81aa98 100644 --- a/core/jni/android_server_BluetoothService.cpp +++ b/core/jni/android_server_BluetoothService.cpp @@ -242,15 +242,15 @@ done: #endif } -static void stopDiscoveryNative(JNIEnv *env, jobject object) { +static jboolean stopDiscoveryNative(JNIEnv *env, jobject object) { LOGV(__FUNCTION__); #ifdef HAVE_BLUETOOTH DBusMessage *msg = NULL; DBusMessage *reply = NULL; DBusError err; const char *name; - jstring ret; native_data_t *nat; + jboolean ret = JNI_FALSE; dbus_error_init(&err); @@ -280,11 +280,16 @@ static void stopDiscoveryNative(JNIEnv *env, jobject object) { } else { LOG_AND_FREE_DBUS_ERROR_WITH_MSG(&err, msg); } + goto done; } + ret = JNI_TRUE; done: if (msg) dbus_message_unref(msg); if (reply) dbus_message_unref(reply); + return ret; +#else + return JNI_FALSE; #endif } diff --git a/core/tests/coretests/src/android/bluetooth/BluetoothTestUtils.java b/core/tests/coretests/src/android/bluetooth/BluetoothTestUtils.java index f40d8577eac08..4ab9f7b127687 100644 --- a/core/tests/coretests/src/android/bluetooth/BluetoothTestUtils.java +++ b/core/tests/coretests/src/android/bluetooth/BluetoothTestUtils.java @@ -613,8 +613,7 @@ public class BluetoothTestUtils extends Assert { return; } - // TODO: put assertTrue() around cancelDiscovery() once it starts returning true. - adapter.cancelDiscovery(); + assertTrue(adapter.cancelDiscovery()); long s = System.currentTimeMillis(); while (System.currentTimeMillis() - s < CANCEL_DISCOVERY_TIMEOUT) {