| OLD | NEW |
| 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 #include "device/bluetooth/bluetooth_device_android.h" | 5 #include "device/bluetooth/bluetooth_device_android.h" |
| 6 | 6 |
| 7 #include "base/android/context_utils.h" | 7 #include "base/android/context_utils.h" |
| 8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
| 9 #include "base/android/jni_array.h" | 9 #include "base/android/jni_array.h" |
| 10 #include "base/android/jni_string.h" | 10 #include "base/android/jni_string.h" |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 gatt_services_.clear(); | 238 gatt_services_.clear(); |
| 239 SetGattServicesDiscoveryComplete(false); | 239 SetGattServicesDiscoveryComplete(false); |
| 240 DidDisconnectGatt(); | 240 DidDisconnectGatt(); |
| 241 } | 241 } |
| 242 } | 242 } |
| 243 | 243 |
| 244 void BluetoothDeviceAndroid::OnGattServicesDiscovered( | 244 void BluetoothDeviceAndroid::OnGattServicesDiscovered( |
| 245 JNIEnv* env, | 245 JNIEnv* env, |
| 246 const JavaParamRef<jobject>& jcaller) { | 246 const JavaParamRef<jobject>& jcaller) { |
| 247 SetGattServicesDiscoveryComplete(true); | 247 SetGattServicesDiscoveryComplete(true); |
| 248 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, GetAdapter()->GetObservers(), | 248 adapter_->NotifyGattServicesDiscovered(this); |
| 249 GattServicesDiscovered(GetAdapter(), this)); | |
| 250 } | 249 } |
| 251 | 250 |
| 252 void BluetoothDeviceAndroid::CreateGattRemoteService( | 251 void BluetoothDeviceAndroid::CreateGattRemoteService( |
| 253 JNIEnv* env, | 252 JNIEnv* env, |
| 254 const JavaParamRef<jobject>& caller, | 253 const JavaParamRef<jobject>& caller, |
| 255 const JavaParamRef<jstring>& instance_id, | 254 const JavaParamRef<jstring>& instance_id, |
| 256 const JavaParamRef<jobject>& | 255 const JavaParamRef<jobject>& |
| 257 bluetooth_gatt_service_wrapper) { // BluetoothGattServiceWrapper | 256 bluetooth_gatt_service_wrapper) { // BluetoothGattServiceWrapper |
| 258 std::string instance_id_string = | 257 std::string instance_id_string = |
| 259 base::android::ConvertJavaStringToUTF8(env, instance_id); | 258 base::android::ConvertJavaStringToUTF8(env, instance_id); |
| 260 | 259 |
| 261 if (gatt_services_.contains(instance_id_string)) | 260 if (gatt_services_.contains(instance_id_string)) |
| 262 return; | 261 return; |
| 263 | 262 |
| 264 BluetoothDevice::GattServiceMap::iterator service_iterator = | 263 BluetoothDevice::GattServiceMap::iterator service_iterator = |
| 265 gatt_services_.set(instance_id_string, | 264 gatt_services_.set( |
| 266 BluetoothRemoteGattServiceAndroid::Create( | 265 instance_id_string, |
| 267 GetAdapter(), this, bluetooth_gatt_service_wrapper, | 266 BluetoothRemoteGattServiceAndroid::Create( |
| 268 instance_id_string, j_device_.obj())); | 267 GetAndroidAdapter(), this, bluetooth_gatt_service_wrapper, |
| 268 instance_id_string, j_device_.obj())); |
| 269 | 269 |
| 270 FOR_EACH_OBSERVER(BluetoothAdapter::Observer, GetAdapter()->GetObservers(), | 270 adapter_->NotifyGattServiceAdded(service_iterator->second); |
| 271 GattServiceAdded(adapter_, this, service_iterator->second)); | |
| 272 } | 271 } |
| 273 | 272 |
| 274 BluetoothDeviceAndroid::BluetoothDeviceAndroid(BluetoothAdapterAndroid* adapter) | 273 BluetoothDeviceAndroid::BluetoothDeviceAndroid(BluetoothAdapterAndroid* adapter) |
| 275 : BluetoothDevice(adapter) {} | 274 : BluetoothDevice(adapter) {} |
| 276 | 275 |
| 277 std::string BluetoothDeviceAndroid::GetDeviceName() const { | 276 std::string BluetoothDeviceAndroid::GetDeviceName() const { |
| 278 return ConvertJavaStringToUTF8(Java_ChromeBluetoothDevice_getDeviceName( | 277 return ConvertJavaStringToUTF8(Java_ChromeBluetoothDevice_getDeviceName( |
| 279 AttachCurrentThread(), j_device_.obj())); | 278 AttachCurrentThread(), j_device_.obj())); |
| 280 } | 279 } |
| 281 | 280 |
| 282 void BluetoothDeviceAndroid::CreateGattConnectionImpl() { | 281 void BluetoothDeviceAndroid::CreateGattConnectionImpl() { |
| 283 Java_ChromeBluetoothDevice_createGattConnectionImpl( | 282 Java_ChromeBluetoothDevice_createGattConnectionImpl( |
| 284 AttachCurrentThread(), j_device_.obj(), | 283 AttachCurrentThread(), j_device_.obj(), |
| 285 base::android::GetApplicationContext()); | 284 base::android::GetApplicationContext()); |
| 286 } | 285 } |
| 287 | 286 |
| 288 void BluetoothDeviceAndroid::DisconnectGatt() { | 287 void BluetoothDeviceAndroid::DisconnectGatt() { |
| 289 Java_ChromeBluetoothDevice_disconnectGatt(AttachCurrentThread(), | 288 Java_ChromeBluetoothDevice_disconnectGatt(AttachCurrentThread(), |
| 290 j_device_.obj()); | 289 j_device_.obj()); |
| 291 } | 290 } |
| 292 | 291 |
| 293 } // namespace device | 292 } // namespace device |
| OLD | NEW |