Chromium Code Reviews| 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.Manifest; | 7 import android.Manifest; |
| 8 import android.annotation.TargetApi; | 8 import android.annotation.TargetApi; |
| 9 import android.bluetooth.BluetoothAdapter; | 9 import android.bluetooth.BluetoothAdapter; |
| 10 import android.bluetooth.BluetoothDevice; | 10 import android.bluetooth.BluetoothDevice; |
| 11 import android.bluetooth.le.BluetoothLeScanner; | 11 import android.bluetooth.le.BluetoothLeScanner; |
| 12 import android.bluetooth.le.ScanCallback; | 12 import android.bluetooth.le.ScanCallback; |
| 13 import android.bluetooth.le.ScanFilter; | 13 import android.bluetooth.le.ScanFilter; |
| 14 import android.bluetooth.le.ScanResult; | 14 import android.bluetooth.le.ScanResult; |
| 15 import android.bluetooth.le.ScanSettings; | 15 import android.bluetooth.le.ScanSettings; |
| 16 import android.content.Context; | 16 import android.content.Context; |
| 17 import android.content.pm.PackageManager; | 17 import android.content.pm.PackageManager; |
| 18 import android.os.Build; | 18 import android.os.Build; |
| 19 import android.os.ParcelUuid; | |
| 19 | 20 |
| 20 import org.chromium.base.CalledByNative; | 21 import org.chromium.base.CalledByNative; |
| 21 import org.chromium.base.JNINamespace; | 22 import org.chromium.base.JNINamespace; |
| 22 import org.chromium.base.Log; | 23 import org.chromium.base.Log; |
| 23 | 24 |
| 24 import java.util.ArrayList; | 25 import java.util.ArrayList; |
| 25 import java.util.List; | 26 import java.util.List; |
| 26 | 27 |
| 27 /** | 28 /** |
| 28 * Wrapper classes around android.bluetooth.* classes that provide an | 29 * Wrapper classes around android.bluetooth.* classes that provide an |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 124 * Wraps android.bluetooth.BluetoothLeScanner. | 125 * Wraps android.bluetooth.BluetoothLeScanner. |
| 125 */ | 126 */ |
| 126 static class BluetoothLeScannerWrapper { | 127 static class BluetoothLeScannerWrapper { |
| 127 private final BluetoothLeScanner mScanner; | 128 private final BluetoothLeScanner mScanner; |
| 128 | 129 |
| 129 public BluetoothLeScannerWrapper(BluetoothLeScanner scanner) { | 130 public BluetoothLeScannerWrapper(BluetoothLeScanner scanner) { |
| 130 mScanner = scanner; | 131 mScanner = scanner; |
| 131 } | 132 } |
| 132 | 133 |
| 133 public void startScan( | 134 public void startScan( |
| 134 List<ScanFilter> filters, int scanSettingsScanMode, ScanCallback Wrapper callback) { | 135 List<ScanFilter> filters, int scanSettingsScanMode, ScanCallback Wrapper callback) { |
|
Jeffrey Yasskin
2015/07/08 17:19:39
I'm not sure I like the wrapper having logic in it
scheib
2015/07/08 23:02:35
The alternative I thought of is to create a ScanSe
Jeffrey Yasskin
2015/07/08 23:18:24
You don't need to fake the ScanSettings, since it'
scheib
2015/07/08 23:29:05
Previous code that used ScanSettings while using F
Jeffrey Yasskin
2015/07/09 17:04:09
Ah, right, none of the Android classes are availab
scheib
2015/07/09 17:41:31
Classes introduced in later Android versions may n
| |
| 135 ScanSettings settings = | 136 ScanSettings settings = |
| 136 new ScanSettings.Builder().setScanMode(scanSettingsScanMode) .build(); | 137 new ScanSettings.Builder().setScanMode(scanSettingsScanMode) .build(); |
| 137 mScanner.startScan(filters, settings, callback); | 138 mScanner.startScan(filters, settings, callback); |
| 138 } | 139 } |
| 139 | 140 |
| 140 public void stopScan(ScanCallbackWrapper callback) { | 141 public void stopScan(ScanCallbackWrapper callback) { |
| 141 mScanner.stopScan(callback); | 142 mScanner.stopScan(callback); |
| 142 } | 143 } |
| 143 } | 144 } |
| 144 | 145 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 181 static class ScanResultWrapper { | 182 static class ScanResultWrapper { |
| 182 private final ScanResult mScanResult; | 183 private final ScanResult mScanResult; |
| 183 | 184 |
| 184 public ScanResultWrapper(ScanResult scanResult) { | 185 public ScanResultWrapper(ScanResult scanResult) { |
| 185 mScanResult = scanResult; | 186 mScanResult = scanResult; |
| 186 } | 187 } |
| 187 | 188 |
| 188 public BluetoothDeviceWrapper getDevice() { | 189 public BluetoothDeviceWrapper getDevice() { |
| 189 return new BluetoothDeviceWrapper(mScanResult.getDevice()); | 190 return new BluetoothDeviceWrapper(mScanResult.getDevice()); |
| 190 } | 191 } |
| 192 | |
| 193 public List<ParcelUuid> getScanRecord_getServiceUuids() { | |
| 194 return mScanResult.getScanRecord().getServiceUuids(); | |
| 195 } | |
| 191 } | 196 } |
| 192 | 197 |
| 193 /** | 198 /** |
| 194 * Wraps android.bluetooth.BluetoothDevice. | 199 * Wraps android.bluetooth.BluetoothDevice. |
| 195 */ | 200 */ |
| 196 static class BluetoothDeviceWrapper { | 201 static class BluetoothDeviceWrapper { |
| 197 private final BluetoothDevice mDevice; | 202 private final BluetoothDevice mDevice; |
| 198 | 203 |
| 199 public BluetoothDeviceWrapper(BluetoothDevice device) { | 204 public BluetoothDeviceWrapper(BluetoothDevice device) { |
| 200 mDevice = device; | 205 mDevice = device; |
| 201 } | 206 } |
| 202 | 207 |
| 203 public String getAddress() { | 208 public String getAddress() { |
| 204 return mDevice.getAddress(); | 209 return mDevice.getAddress(); |
| 205 } | 210 } |
| 206 | 211 |
| 212 public int getBluetoothClass_getDeviceClass() { | |
| 213 return mDevice.getBluetoothClass().getDeviceClass(); | |
| 214 } | |
| 215 | |
| 216 public int getBondState() { | |
| 217 return mDevice.getBondState(); | |
| 218 } | |
| 219 | |
| 207 public String getName() { | 220 public String getName() { |
| 208 return mDevice.getName(); | 221 return mDevice.getName(); |
| 209 } | 222 } |
| 210 } | 223 } |
| 211 } | 224 } |
| OLD | NEW |