Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2130)

Unified Diff: device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java

Issue 1256313002: bluetooth: android: Implement & test CreateGattConnection. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed jyasskin comments. Added more tests. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
diff --git a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
index 3a35167d200d6a13e816edc70a57202348046e89..da6502a8de5ba2235dcc0b7638f26ac6f18436ee 100644
--- a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
+++ b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
@@ -8,6 +8,7 @@ import android.annotation.TargetApi;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanFilter;
import android.bluetooth.le.ScanSettings;
+import android.content.Context;
import android.os.Build;
import android.os.ParcelUuid;
@@ -179,6 +180,7 @@ class Fakes {
static class FakeBluetoothDevice extends Wrappers.BluetoothDeviceWrapper {
private String mAddress;
private String mName;
+ private Wrappers.BluetoothGattCallbackWrapper mGattCallback;
public FakeBluetoothDevice(String address, String name) {
super(null);
@@ -186,6 +188,31 @@ class Fakes {
mName = name;
}
+ // Create a call to onConnectionStateChange on the |chrome_device| using parameters
+ // |status| & |connected|.
+ @CalledByNative("FakeBluetoothDevice")
+ private static void connectionStateChange(
+ ChromeBluetoothDevice chromeDevice, int status, boolean connected) {
+ FakeBluetoothDevice fakeDevice = (FakeBluetoothDevice) chromeDevice.mDevice;
+ fakeDevice.mGattCallback.onConnectionStateChange(status, connected
+ ? android.bluetooth.BluetoothProfile.STATE_CONNECTED
+ : android.bluetooth.BluetoothProfile.STATE_DISCONNECTED);
+ }
+
+ // -----------------------------------------------------------------------------------------
+ // Wrappers.BluetoothDeviceWrapper overrides:
+
+ @Override
+ public Wrappers.BluetoothGattWrapper connectGatt(Context context, boolean autoConnect,
+ Wrappers.BluetoothGattCallbackWrapper callback) {
+ if (mGattCallback != null && mGattCallback != callback) {
+ throw new IllegalArgumentException(
+ "Multiple callbacks provided to connectGatt unsupported.");
Jeffrey Yasskin 2015/09/16 01:40:49 "BluetoothGattWrapper doesn't support calls to con
scheib 2015/09/16 21:55:17 Done.
+ }
+ mGattCallback = callback;
+ return new FakeBluetoothGatt();
+ }
+
@Override
public String getAddress() {
return mAddress;
@@ -206,4 +233,16 @@ class Fakes {
return mName;
}
}
+
+ /**
+ * Fakes android.bluetooth.BluetoothDevice.
+ */
+ static class FakeBluetoothGatt extends Wrappers.BluetoothGattWrapper {
+ public FakeBluetoothGatt() {
+ super(null);
+ }
+
+ @Override
+ public void disconnect() {}
+ }
}

Powered by Google App Engine
This is Rietveld 408576698