From efc1d16374955f04d713c770ab47d90d190afe83 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 | 11 ++++++++--- .../src/android/bluetooth/BluetoothTestUtils.java | 3 +-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index e1c904420a388..26707c96a2b93 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -699,7 +699,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 5c6958a4fd08f..ac756349bf5af 100644 --- a/core/jni/android_server_BluetoothService.cpp +++ b/core/jni/android_server_BluetoothService.cpp @@ -250,15 +250,15 @@ done: #endif } -static void stopDiscoveryNative(JNIEnv *env, jobject object) { - LOGV("%s", __FUNCTION__); +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); @@ -288,11 +288,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/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java index f1dd8fef5eadc..5f4c226c8d4de 100644 --- a/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java +++ b/core/tests/bluetoothtests/src/android/bluetooth/BluetoothTestUtils.java @@ -678,8 +678,7 @@ public class BluetoothTestUtils extends Assert { BluetoothReceiver receiver = getBluetoothReceiver(mask); long start = System.currentTimeMillis(); - // TODO: put assertTrue() around cancelDiscovery() once it starts returning true. - adapter.cancelDiscovery(); + assertTrue(adapter.cancelDiscovery()); while (System.currentTimeMillis() - start < START_STOP_SCAN_TIMEOUT) { if (!adapter.isDiscovering() && ((receiver.getFiredFlags() & mask) == mask)) {