| 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 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.content.Context; | |
| 10 import android.os.Build; | 9 import android.os.Build; |
| 11 | 10 |
| 11 import org.chromium.base.ContextUtils; |
| 12 import org.chromium.base.Log; | 12 import org.chromium.base.Log; |
| 13 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
| 14 import org.chromium.base.annotations.JNINamespace; | 14 import org.chromium.base.annotations.JNINamespace; |
| 15 import org.chromium.base.metrics.RecordHistogram; | 15 import org.chromium.base.metrics.RecordHistogram; |
| 16 | 16 |
| 17 import java.util.HashMap; | 17 import java.util.HashMap; |
| 18 | 18 |
| 19 /** | 19 /** |
| 20 * Exposes android.bluetooth.BluetoothDevice as necessary for C++ | 20 * Exposes android.bluetooth.BluetoothDevice as necessary for C++ |
| 21 * device::BluetoothDeviceAndroid. | 21 * device::BluetoothDeviceAndroid. |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 } | 93 } |
| 94 | 94 |
| 95 // Implements BluetoothDeviceAndroid::IsPaired. | 95 // Implements BluetoothDeviceAndroid::IsPaired. |
| 96 @CalledByNative | 96 @CalledByNative |
| 97 private boolean isPaired() { | 97 private boolean isPaired() { |
| 98 return mDevice.getBondState() == BluetoothDevice.BOND_BONDED; | 98 return mDevice.getBondState() == BluetoothDevice.BOND_BONDED; |
| 99 } | 99 } |
| 100 | 100 |
| 101 // Implements BluetoothDeviceAndroid::CreateGattConnectionImpl. | 101 // Implements BluetoothDeviceAndroid::CreateGattConnectionImpl. |
| 102 @CalledByNative | 102 @CalledByNative |
| 103 private void createGattConnectionImpl(Context context) { | 103 private void createGattConnectionImpl() { |
| 104 Log.i(TAG, "connectGatt"); | 104 Log.i(TAG, "connectGatt"); |
| 105 | 105 |
| 106 if (mBluetoothGatt != null) mBluetoothGatt.close(); | 106 if (mBluetoothGatt != null) mBluetoothGatt.close(); |
| 107 | 107 |
| 108 // autoConnect set to false as under experimentation using autoConnect f
ailed to complete | 108 // autoConnect set to false as under experimentation using autoConnect f
ailed to complete |
| 109 // connections. | 109 // connections. |
| 110 mBluetoothGatt = | 110 mBluetoothGatt = mDevice.connectGatt(ContextUtils.getApplicationContext(
), |
| 111 mDevice.connectGatt(context, false /* autoConnect */, mBluetooth
GattCallbackImpl, | 111 false /* autoConnect */, mBluetoothGattCallbackImpl, |
| 112 // Prefer LE for dual-mode devices due to lower energy c
onsumption. | 112 // Prefer LE for dual-mode devices due to lower energy consumpti
on. |
| 113 BluetoothDevice.TRANSPORT_LE); | 113 BluetoothDevice.TRANSPORT_LE); |
| 114 } | 114 } |
| 115 | 115 |
| 116 // Implements BluetoothDeviceAndroid::DisconnectGatt. | 116 // Implements BluetoothDeviceAndroid::DisconnectGatt. |
| 117 @CalledByNative | 117 @CalledByNative |
| 118 private void disconnectGatt() { | 118 private void disconnectGatt() { |
| 119 Log.i(TAG, "BluetoothGatt.disconnect"); | 119 Log.i(TAG, "BluetoothGatt.disconnect"); |
| 120 if (mBluetoothGatt != null) mBluetoothGatt.disconnect(); | 120 if (mBluetoothGatt != null) mBluetoothGatt.disconnect(); |
| 121 } | 121 } |
| 122 | 122 |
| 123 // Implements callbacks related to a GATT connection. | 123 // Implements callbacks related to a GATT connection. |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 313 long nativeBluetoothDeviceAndroid, int status, boolean connected); | 313 long nativeBluetoothDeviceAndroid, int status, boolean connected); |
| 314 | 314 |
| 315 // Binds to BluetoothDeviceAndroid::CreateGattRemoteService. | 315 // Binds to BluetoothDeviceAndroid::CreateGattRemoteService. |
| 316 // TODO(http://crbug.com/505554): Replace 'Object' with specific type when J
NI fixed. | 316 // TODO(http://crbug.com/505554): Replace 'Object' with specific type when J
NI fixed. |
| 317 private native void nativeCreateGattRemoteService(long nativeBluetoothDevice
Android, | 317 private native void nativeCreateGattRemoteService(long nativeBluetoothDevice
Android, |
| 318 String instanceId, Object bluetoothGattServiceWrapper); | 318 String instanceId, Object bluetoothGattServiceWrapper); |
| 319 | 319 |
| 320 // Binds to BluetoothDeviceAndroid::GattServicesDiscovered. | 320 // Binds to BluetoothDeviceAndroid::GattServicesDiscovered. |
| 321 private native void nativeOnGattServicesDiscovered(long nativeBluetoothDevic
eAndroid); | 321 private native void nativeOnGattServicesDiscovered(long nativeBluetoothDevic
eAndroid); |
| 322 } | 322 } |
| OLD | NEW |