Chromium Code Reviews| Index: device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothRemoteGattDescriptor.java |
| diff --git a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothRemoteGattDescriptor.java b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothRemoteGattDescriptor.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9d28c668e79134e31e9b58d92b6fd6d1ffb3b16a |
| --- /dev/null |
| +++ b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothRemoteGattDescriptor.java |
| @@ -0,0 +1,78 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.device.bluetooth; |
| + |
| +import org.chromium.base.Log; |
| +import org.chromium.base.annotations.CalledByNative; |
| +import org.chromium.base.annotations.JNINamespace; |
| + |
| +/** |
| + * Exposes android.bluetooth.BluetoothGattDescriptor as necessary |
| + * for C++ device::BluetoothRemoteGattDescriptorAndroid. |
| + * |
| + * Lifetime is controlled by device::BluetoothRemoteGattDescriptorAndroid. |
| + */ |
| +@JNINamespace("device") |
| +final class ChromeBluetoothRemoteGattDescriptor { |
| + private static final String TAG = "Bluetooth"; |
| + |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // private long mNativeBluetoothRemoteGattDescriptorAndroid; |
| + final Wrappers.BluetoothGattDescriptorWrapper mDescriptor; |
| + final ChromeBluetoothDevice mChromeDevice; |
| + |
| + private ChromeBluetoothRemoteGattDescriptor( |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // long nativeBluetoothRemoteGattDescriptorAndroid, |
| + Wrappers.BluetoothGattDescriptorWrapper descriptorWrapper, |
| + ChromeBluetoothDevice chromeDevice) { |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // mNativeBluetoothRemoteGattDescriptorAndroid = |
| + // nativeBluetoothRemoteGattDescriptorAndroid; |
| + mDescriptor = descriptorWrapper; |
| + mChromeDevice = chromeDevice; |
| + |
| + mChromeDevice.mWrapperToChromeDescriptorsMap.put(descriptorWrapper, this); |
| + |
| + Log.v(TAG, "ChromeBluetoothRemoteGattDescriptor created."); |
| + } |
| + |
| + /** |
| + * Handles C++ object being destroyed. |
| + */ |
| + @CalledByNative |
| + private void onBluetoothRemoteGattDescriptorAndroidDestruction() { |
| + Log.v(TAG, "ChromeBluetoothRemoteGattDescriptor Destroyed."); |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // mNativeBluetoothRemoteGattDescriptorAndroid = 0; |
| + mChromeDevice.mWrapperToChromeDescriptorsMap.remove(mDescriptor); |
| + } |
| + |
| + // --------------------------------------------------------------------------------------------- |
| + // BluetoothRemoteGattDescriptorAndroid methods implemented in java: |
| + |
| + // Implements BluetoothRemoteGattDescriptorAndroid::Create. |
| + // TODO(http://crbug.com/505554): Replace 'Object' with specific type when JNI fixed. |
| + @CalledByNative |
| + private static ChromeBluetoothRemoteGattDescriptor create( |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // long nativeBluetoothRemoteGattDescriptorAndroid, |
| + Object bluetoothGattDescriptorWrapper, Object chromeDevice) { |
|
Jeffrey Yasskin
2016/01/12 21:53:53
Can you use ChromeBluetoothDevice here? I thought
scheib
2016/01/12 23:16:55
Done - Yep, fixed that and the name as well.
|
| + return new ChromeBluetoothRemoteGattDescriptor( |
| + // TODO(scheib): Will need c++ pointer eventually: |
| + // nativeBluetoothRemoteGattDescriptorAndroid, |
| + (Wrappers.BluetoothGattDescriptorWrapper) bluetoothGattDescriptorWrapper, |
| + (ChromeBluetoothDevice) chromeDevice); |
| + } |
| + |
| + // Implements BluetoothRemoteGattDescriptorAndroid::GetUUID. |
| + @CalledByNative |
| + private String getUUID() { |
| + return mDescriptor.getUuid().toString(); |
| + } |
| + |
| + // --------------------------------------------------------------------------------------------- |
| + // BluetoothAdapterDevice C++ methods declared for access from java: |
|
Jeffrey Yasskin
2016/01/12 21:53:53
Remove this section boundary.
scheib
2016/01/12 23:16:55
Done.
|
| +} |