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

Side by Side Diff: device/bluetooth/bluetooth_device_android.cc

Issue 1215303006: bluetooth: android: Initial BluetoothDeviceAndroid implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bta-discovery-
Patch Set: jyasskin comments addressed. Pass UUIDs by array. Added more tests. Created 5 years, 5 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "device/bluetooth/bluetooth_device_android.h"
6
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_array.h"
9 #include "base/android/jni_string.h"
10 #include "jni/ChromeBluetoothDevice_jni.h"
11
12 using base::android::AttachCurrentThread;
13 using base::android::AppendJavaStringArrayToStringVector;
14
15 namespace device {
16
17 BluetoothDeviceAndroid* BluetoothDeviceAndroid::Create(
18 jobject java_bluetooth_device_wrapper) {
19 BluetoothDeviceAndroid* device = new BluetoothDeviceAndroid();
20
21 device->j_device_.Reset(Java_ChromeBluetoothDevice_create(
22 AttachCurrentThread(), java_bluetooth_device_wrapper));
23
24 return device;
25 }
26
27 BluetoothDeviceAndroid::~BluetoothDeviceAndroid() {
28 }
29
30 bool BluetoothDeviceAndroid::UpdateAdvertisedUUIDs(jobject advertised_uuids) {
31 return Java_ChromeBluetoothDevice_updateAdvertisedUUIDs(
32 AttachCurrentThread(), j_device_.obj(), advertised_uuids);
33 }
34
35 // static
36 bool BluetoothDeviceAndroid::RegisterJNI(JNIEnv* env) {
37 return RegisterNativesImpl(env); // Generated in ChromeBluetoothDevice_jni.h
38 }
39
40 uint32 BluetoothDeviceAndroid::GetBluetoothClass() const {
41 return Java_ChromeBluetoothDevice_getBluetoothClass(AttachCurrentThread(),
42 j_device_.obj());
43 }
44
45 std::string BluetoothDeviceAndroid::GetAddress() const {
46 return ConvertJavaStringToUTF8(Java_ChromeBluetoothDevice_getAddress(
47 AttachCurrentThread(), j_device_.obj()));
48 }
49
50 BluetoothDevice::VendorIDSource BluetoothDeviceAndroid::GetVendorIDSource()
51 const {
52 // Android API does not provide Vendor ID.
53 return VENDOR_ID_UNKNOWN;
54 }
55
56 uint16 BluetoothDeviceAndroid::GetVendorID() const {
57 // Android API does not provide Vendor ID.
58 return 0;
59 }
60
61 uint16 BluetoothDeviceAndroid::GetProductID() const {
62 // Android API does not provide Product ID.
63 return 0;
64 }
65
66 uint16 BluetoothDeviceAndroid::GetDeviceID() const {
67 // Android API does not provide Device ID.
68 return 0;
69 }
70
71 bool BluetoothDeviceAndroid::IsPaired() const {
72 return Java_ChromeBluetoothDevice_isPaired(AttachCurrentThread(),
73 j_device_.obj());
74 }
75
76 bool BluetoothDeviceAndroid::IsConnected() const {
77 NOTIMPLEMENTED();
78 return false;
79 }
80
81 bool BluetoothDeviceAndroid::IsConnectable() const {
82 NOTIMPLEMENTED();
83 return false;
84 }
85
86 bool BluetoothDeviceAndroid::IsConnecting() const {
87 NOTIMPLEMENTED();
88 return false;
89 }
90
91 BluetoothDevice::UUIDList BluetoothDeviceAndroid::GetUUIDs() const {
92 JNIEnv* env = AttachCurrentThread();
93 std::vector<std::string> uuid_strings;
94 AppendJavaStringArrayToStringVector(
Jeffrey Yasskin 2015/07/08 17:19:39 Returning the array is an improvement, but maybe i
scheib 2015/07/08 23:02:35 I thought about it, and I'm hesitant to duplicate
Jeffrey Yasskin 2015/07/08 23:18:24 SGTM.
95 env, Java_ChromeBluetoothDevice_getUuids(env, j_device_.obj()).obj(),
96 &uuid_strings);
97 BluetoothDevice::UUIDList uuids;
98 uuids.reserve(uuid_strings.size());
99 for (auto uuid_string : uuid_strings) {
100 uuids.push_back(BluetoothUUID(uuid_string));
101 }
102 return uuids;
103 }
104
105 int16 BluetoothDeviceAndroid::GetInquiryRSSI() const {
106 NOTIMPLEMENTED();
107 return kUnknownPower;
108 }
109
110 int16 BluetoothDeviceAndroid::GetInquiryTxPower() const {
111 NOTIMPLEMENTED();
112 return kUnknownPower;
113 }
114
115 bool BluetoothDeviceAndroid::ExpectingPinCode() const {
116 NOTIMPLEMENTED();
117 return false;
118 }
119
120 bool BluetoothDeviceAndroid::ExpectingPasskey() const {
121 NOTIMPLEMENTED();
122 return false;
123 }
124
125 bool BluetoothDeviceAndroid::ExpectingConfirmation() const {
126 NOTIMPLEMENTED();
127 return false;
128 }
129
130 void BluetoothDeviceAndroid::GetConnectionInfo(
131 const ConnectionInfoCallback& callback) {
132 NOTIMPLEMENTED();
133 callback.Run(ConnectionInfo());
134 }
135
136 void BluetoothDeviceAndroid::Connect(
137 PairingDelegate* pairing_delegate,
138 const base::Closure& callback,
139 const ConnectErrorCallback& error_callback) {
140 NOTIMPLEMENTED();
141 }
142
143 void BluetoothDeviceAndroid::SetPinCode(const std::string& pincode) {
144 NOTIMPLEMENTED();
145 }
146
147 void BluetoothDeviceAndroid::SetPasskey(uint32 passkey) {
148 NOTIMPLEMENTED();
149 }
150
151 void BluetoothDeviceAndroid::ConfirmPairing() {
152 NOTIMPLEMENTED();
153 }
154
155 void BluetoothDeviceAndroid::RejectPairing() {
156 NOTIMPLEMENTED();
157 }
158
159 void BluetoothDeviceAndroid::CancelPairing() {
160 NOTIMPLEMENTED();
161 }
162
163 void BluetoothDeviceAndroid::Disconnect(const base::Closure& callback,
164 const ErrorCallback& error_callback) {
165 NOTIMPLEMENTED();
166 }
167
168 void BluetoothDeviceAndroid::Forget(const ErrorCallback& error_callback) {
169 NOTIMPLEMENTED();
170 }
171
172 void BluetoothDeviceAndroid::ConnectToService(
173 const BluetoothUUID& uuid,
174 const ConnectToServiceCallback& callback,
175 const ConnectToServiceErrorCallback& error_callback) {
176 NOTIMPLEMENTED();
177 }
178
179 void BluetoothDeviceAndroid::ConnectToServiceInsecurely(
180 const BluetoothUUID& uuid,
181 const ConnectToServiceCallback& callback,
182 const ConnectToServiceErrorCallback& error_callback) {
183 NOTIMPLEMENTED();
184 }
185
186 void BluetoothDeviceAndroid::CreateGattConnection(
187 const GattConnectionCallback& callback,
188 const ConnectErrorCallback& error_callback) {
189 NOTIMPLEMENTED();
190 }
191
192 BluetoothDeviceAndroid::BluetoothDeviceAndroid() {
193 }
194
195 std::string BluetoothDeviceAndroid::GetDeviceName() const {
196 return ConvertJavaStringToUTF8(Java_ChromeBluetoothDevice_getDeviceName(
197 AttachCurrentThread(), j_device_.obj()));
198 }
199
200 } // namespace device
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698