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

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

Issue 1395783005: bluetooth: android: BluetoothRemoteGattServiceAndroid::GetUUID (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.device.bluetooth; 5 package org.chromium.device.bluetooth;
6 6
7 import android.annotation.TargetApi; 7 import android.annotation.TargetApi;
8 import android.bluetooth.BluetoothDevice; 8 import android.bluetooth.BluetoothDevice;
9 import android.bluetooth.le.ScanFilter; 9 import android.bluetooth.le.ScanFilter;
10 import android.bluetooth.le.ScanSettings; 10 import android.bluetooth.le.ScanSettings;
11 import android.content.Context; 11 import android.content.Context;
12 import android.os.Build; 12 import android.os.Build;
13 import android.os.ParcelUuid; 13 import android.os.ParcelUuid;
14 14
15 import org.chromium.base.Log; 15 import org.chromium.base.Log;
16 import org.chromium.base.annotations.CalledByNative; 16 import org.chromium.base.annotations.CalledByNative;
17 import org.chromium.base.annotations.JNINamespace; 17 import org.chromium.base.annotations.JNINamespace;
18 18
19 import java.util.ArrayList; 19 import java.util.ArrayList;
20 import java.util.HashMap;
20 import java.util.List; 21 import java.util.List;
22 import java.util.UUID;
21 23
22 /** 24 /**
23 * Fake implementations of android.bluetooth.* classes for testing. 25 * Fake implementations of android.bluetooth.* classes for testing.
24 */ 26 */
25 @JNINamespace("device") 27 @JNINamespace("device")
26 @TargetApi(Build.VERSION_CODES.LOLLIPOP) 28 @TargetApi(Build.VERSION_CODES.LOLLIPOP)
27 class Fakes { 29 class Fakes {
28 private static final String TAG = "cr.Bluetooth"; 30 private static final String TAG = "cr.Bluetooth";
29 31
30 /** 32 /**
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 ChromeBluetoothDevice chromeDevice, int status, boolean connecte d) { 207 ChromeBluetoothDevice chromeDevice, int status, boolean connecte d) {
206 FakeBluetoothDevice fakeDevice = (FakeBluetoothDevice) chromeDevice. mDevice; 208 FakeBluetoothDevice fakeDevice = (FakeBluetoothDevice) chromeDevice. mDevice;
207 fakeDevice.mGattCallback.onConnectionStateChange(status, connected 209 fakeDevice.mGattCallback.onConnectionStateChange(status, connected
208 ? android.bluetooth.BluetoothProfile.STATE_CONNECTED 210 ? android.bluetooth.BluetoothProfile.STATE_CONNECTED
209 : android.bluetooth.BluetoothProfile.STATE_DISCONNEC TED); 211 : android.bluetooth.BluetoothProfile.STATE_DISCONNEC TED);
210 } 212 }
211 213
212 // Create a call to onServicesDiscovered on the |chrome_device| using pa rameter 214 // Create a call to onServicesDiscovered on the |chrome_device| using pa rameter
213 // |status|. 215 // |status|.
214 @CalledByNative("FakeBluetoothDevice") 216 @CalledByNative("FakeBluetoothDevice")
215 private static void servicesDiscovered(ChromeBluetoothDevice chromeDevic e, int status) { 217 private static void servicesDiscovered(
218 ChromeBluetoothDevice chromeDevice, int status, String uuidsSpac eDelimited) {
216 FakeBluetoothDevice fakeDevice = (FakeBluetoothDevice) chromeDevice. mDevice; 219 FakeBluetoothDevice fakeDevice = (FakeBluetoothDevice) chromeDevice. mDevice;
217 220
218 // TODO(scheib): Add more control over how many services are created and
219 // their properties. http://crbug.com/541400
220 if (status == android.bluetooth.BluetoothGatt.GATT_SUCCESS) { 221 if (status == android.bluetooth.BluetoothGatt.GATT_SUCCESS) {
221 fakeDevice.mGatt.mServices.clear(); 222 fakeDevice.mGatt.mServices.clear();
222 fakeDevice.mGatt.mServices.add(new FakeBluetoothGattService(0)); 223 HashMap<String, Integer> uuidsToInstanceIdMap = new HashMap<Stri ng, Integer>();
223 fakeDevice.mGatt.mServices.add(new FakeBluetoothGattService(1)); 224 for (String uuid : uuidsSpaceDelimited.split(" ")) {
225 Integer previousId = uuidsToInstanceIdMap.get(uuid);
226 int instanceId = (previousId == null) ? 0 : previousId + 1;
227 uuidsToInstanceIdMap.put(uuid, instanceId);
228 fakeDevice.mGatt.mServices.add(
229 new FakeBluetoothGattService(UUID.fromString(uuid), instanceId));
230 }
224 } 231 }
225 232
226 fakeDevice.mGattCallback.onServicesDiscovered(status); 233 fakeDevice.mGattCallback.onServicesDiscovered(status);
227 } 234 }
228 235
229 // --------------------------------------------------------------------- -------------------- 236 // --------------------------------------------------------------------- --------------------
230 // Wrappers.BluetoothDeviceWrapper overrides: 237 // Wrappers.BluetoothDeviceWrapper overrides:
231 238
232 @Override 239 @Override
233 public Wrappers.BluetoothGattWrapper connectGatt(Context context, boolea n autoConnect, 240 public Wrappers.BluetoothGattWrapper connectGatt(Context context, boolea n autoConnect,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 @Override 296 @Override
290 public List<Wrappers.BluetoothGattServiceWrapper> getServices() { 297 public List<Wrappers.BluetoothGattServiceWrapper> getServices() {
291 return mServices; 298 return mServices;
292 } 299 }
293 } 300 }
294 301
295 /** 302 /**
296 * Fakes android.bluetooth.BluetoothGattService. 303 * Fakes android.bluetooth.BluetoothGattService.
297 */ 304 */
298 static class FakeBluetoothGattService extends Wrappers.BluetoothGattServiceW rapper { 305 static class FakeBluetoothGattService extends Wrappers.BluetoothGattServiceW rapper {
306 final UUID mUuid;
299 final int mInstanceId; 307 final int mInstanceId;
300 308
301 public FakeBluetoothGattService(int instanceId) { 309 public FakeBluetoothGattService(UUID uuid, int instanceId) {
302 super(null); 310 super(null);
311 mUuid = uuid;
303 mInstanceId = instanceId; 312 mInstanceId = instanceId;
304 } 313 }
305 314
306 @Override 315 @Override
307 public int getInstanceId() { 316 public int getInstanceId() {
308 return mInstanceId; 317 return mInstanceId;
309 } 318 }
319
320 @Override
321 public UUID getUuid() {
Jeffrey Yasskin 2015/10/15 23:48:30 Nit: Put the accessors in the same order as the fi
scheib 2015/10/16 00:23:36 Done. - but fixing fields. The method order here m
322 return mUuid;
323 }
310 } 324 }
311 325
312 // ------------------------------------------------------------------------- -------------------- 326 // ------------------------------------------------------------------------- --------------------
313 // BluetoothTestAndroid C++ methods declared for access from java: 327 // BluetoothTestAndroid C++ methods declared for access from java:
314 328
315 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothDeviceConnectGattCalled. 329 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothDeviceConnectGattCalled.
316 private static native void nativeOnFakeBluetoothDeviceConnectGattCalled( 330 private static native void nativeOnFakeBluetoothDeviceConnectGattCalled(
317 long nativeBluetoothTestAndroid); 331 long nativeBluetoothTestAndroid);
318 332
319 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothGattDisconnect. 333 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothGattDisconnect.
320 private static native void nativeOnFakeBluetoothGattDisconnect(long nativeBl uetoothTestAndroid); 334 private static native void nativeOnFakeBluetoothGattDisconnect(long nativeBl uetoothTestAndroid);
321 335
322 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothGattDiscoverServices. 336 // Binds to BluetoothAdapterAndroid::OnFakeBluetoothGattDiscoverServices.
323 private static native void nativeOnFakeBluetoothGattDiscoverServices( 337 private static native void nativeOnFakeBluetoothGattDiscoverServices(
324 long nativeBluetoothTestAndroid); 338 long nativeBluetoothTestAndroid);
325 } 339 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698