Chromium Code Reviews| Index: components/arc/bluetooth/arc_bluetooth_bridge.cc |
| diff --git a/components/arc/bluetooth/arc_bluetooth_bridge.cc b/components/arc/bluetooth/arc_bluetooth_bridge.cc |
| index dbc6747b662299696c5c1ebb56d1a9f069e3b04c..4d5b9b198fa90856d438712def19b3ceb21154b8 100644 |
| --- a/components/arc/bluetooth/arc_bluetooth_bridge.cc |
| +++ b/components/arc/bluetooth/arc_bluetooth_bridge.cc |
| @@ -249,11 +249,12 @@ void ArcBluetoothBridge::DeviceAdded(BluetoothAdapter* adapter, |
| mojom::BluetoothAddressPtr addr = |
| mojom::BluetoothAddress::From(device->GetAddress()); |
| - int rssi = device->GetInquiryRSSI(); |
| + base::Optional<int8_t> rssi = device->GetInquiryRSSI(); |
| mojo::Array<mojom::BluetoothAdvertisingDataPtr> adv_data = |
| GetAdvertisingData(device); |
| arc_bridge_service()->bluetooth()->instance()->OnLEDeviceFound( |
| - std::move(addr), rssi, std::move(adv_data)); |
| + std::move(addr), rssi ? rssi.value() : mojom::kUnknownPower, |
|
Luis Héctor Chávez
2016/08/09 22:24:32
can you do |rssi.value_or(mojom::kUnknownPower)| a
ortuno
2016/08/09 22:44:59
Ah nice! Didn't know of value_or. Done.
|
| + std::move(adv_data)); |
| } |
| void ArcBluetoothBridge::DeviceChanged(BluetoothAdapter* adapter, |
| @@ -1133,8 +1134,8 @@ void ArcBluetoothBridge::ReadRemoteRssi( |
| const ReadRemoteRssiCallback& callback) { |
| BluetoothDevice* device = |
| bluetooth_adapter_->GetDevice(remote_addr->To<std::string>()); |
| - int rssi = device->GetInquiryRSSI(); |
| - callback.Run(rssi); |
| + base::Optional<int8_t> rssi = device->GetInquiryRSSI(); |
| + callback.Run(rssi ? rssi.value() : mojom::kUnknownPower); |
| } |
| void ArcBluetoothBridge::OpenBluetoothSocket( |
| @@ -1420,7 +1421,8 @@ ArcBluetoothBridge::GetDeviceProperties(mojom::BluetoothPropertyType type, |
| if (type == mojom::BluetoothPropertyType::ALL || |
| type == mojom::BluetoothPropertyType::REMOTE_RSSI) { |
| mojom::BluetoothPropertyPtr btp = mojom::BluetoothProperty::New(); |
| - btp->set_remote_rssi(device->GetInquiryRSSI()); |
| + base::Optional<int8_t> rssi = device->GetInquiryRSSI(); |
| + btp->set_remote_rssi(rssi ? rssi.value() : mojom::kUnknownPower); |
| properties.push_back(std::move(btp)); |
| } |
| // TODO(smbarber): Add remote version info |
| @@ -1577,11 +1579,12 @@ void ArcBluetoothBridge::SendCachedDevicesFound() const { |
| if (arc_bridge_service()->bluetooth()->version() >= kMinBtleVersion) { |
| mojom::BluetoothAddressPtr addr = |
| mojom::BluetoothAddress::From(device->GetAddress()); |
| - int rssi = device->GetInquiryRSSI(); |
| + base::Optional<int8_t> rssi = device->GetInquiryRSSI(); |
| mojo::Array<mojom::BluetoothAdvertisingDataPtr> adv_data = |
| GetAdvertisingData(device); |
| arc_bridge_service()->bluetooth()->instance()->OnLEDeviceFound( |
| - std::move(addr), rssi, std::move(adv_data)); |
| + std::move(addr), rssi ? rssi.value() : mojom::kUnknownPower, |
| + std::move(adv_data)); |
| } |
| } |
| } |
| @@ -1615,11 +1618,12 @@ void ArcBluetoothBridge::SendCachedPairedDevices() const { |
| mojom::BluetoothAddress::From(device->GetAddress()); |
| if (arc_bridge_service()->bluetooth()->version() >= kMinBtleVersion) { |
| - int rssi = device->GetInquiryRSSI(); |
| + base::Optional<int8_t> rssi = device->GetInquiryRSSI(); |
| mojo::Array<mojom::BluetoothAdvertisingDataPtr> adv_data = |
| GetAdvertisingData(device); |
| arc_bridge_service()->bluetooth()->instance()->OnLEDeviceFound( |
| - addr->Clone(), rssi, std::move(adv_data)); |
| + addr->Clone(), rssi ? rssi.value() : mojom::kUnknownPower, |
| + std::move(adv_data)); |
| } |
| // OnBondStateChanged must be called with mojom::BluetoothBondState::BONDING |