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

Side by Side Diff: components/arc/bluetooth/arc_bluetooth_bridge.cc

Issue 2083423004: arc/bluetooth: plumb adapter discoverable timeout property (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@add-discoverable-timeout
Patch Set: suggestions from rockot@ Created 4 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
« no previous file with comments | « components/arc/bluetooth/arc_bluetooth_bridge.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #include "components/arc/bluetooth/arc_bluetooth_bridge.h" 5 #include "components/arc/bluetooth/arc_bluetooth_bridge.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <iomanip> 10 #include <iomanip>
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 ArcBluetoothBridge::~ArcBluetoothBridge() { 76 ArcBluetoothBridge::~ArcBluetoothBridge() {
77 arc_bridge_service()->RemoveObserver(this); 77 arc_bridge_service()->RemoveObserver(this);
78 78
79 if (bluetooth_adapter_) 79 if (bluetooth_adapter_)
80 bluetooth_adapter_->RemoveObserver(this); 80 bluetooth_adapter_->RemoveObserver(this);
81 } 81 }
82 82
83 void ArcBluetoothBridge::OnAdapterInitialized( 83 void ArcBluetoothBridge::OnAdapterInitialized(
84 scoped_refptr<BluetoothAdapter> adapter) { 84 scoped_refptr<BluetoothAdapter> adapter) {
85 bluetooth_adapter_ = adapter; 85 // We can downcast here because we are always running on Chrome OS, and
86 // so our adapter uses BlueZ.
87 bluetooth_adapter_ =
88 static_cast<bluez::BluetoothAdapterBlueZ*>(adapter.get());
86 bluetooth_adapter_->AddObserver(this); 89 bluetooth_adapter_->AddObserver(this);
87 } 90 }
88 91
89 void ArcBluetoothBridge::OnBluetoothInstanceReady() { 92 void ArcBluetoothBridge::OnBluetoothInstanceReady() {
90 mojom::BluetoothInstance* bluetooth_instance = 93 mojom::BluetoothInstance* bluetooth_instance =
91 arc_bridge_service()->bluetooth_instance(); 94 arc_bridge_service()->bluetooth_instance();
92 if (!bluetooth_instance) { 95 if (!bluetooth_instance) {
93 LOG(ERROR) << "OnBluetoothInstanceReady called, " 96 LOG(ERROR) << "OnBluetoothInstanceReady called, "
94 << "but no bluetooth instance found"; 97 << "but no bluetooth instance found";
95 return; 98 return;
(...skipping 1082 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 mojom::BluetoothAddress::From(device->GetAddress()); 1181 mojom::BluetoothAddress::From(device->GetAddress());
1179 bonded_devices.push_back(std::move(addr)); 1182 bonded_devices.push_back(std::move(addr));
1180 } 1183 }
1181 1184
1182 btp->set_bonded_devices(std::move(bonded_devices)); 1185 btp->set_bonded_devices(std::move(bonded_devices));
1183 properties.push_back(std::move(btp)); 1186 properties.push_back(std::move(btp));
1184 } 1187 }
1185 if (type == mojom::BluetoothPropertyType::ALL || 1188 if (type == mojom::BluetoothPropertyType::ALL ||
1186 type == mojom::BluetoothPropertyType::ADAPTER_DISCOVERY_TIMEOUT) { 1189 type == mojom::BluetoothPropertyType::ADAPTER_DISCOVERY_TIMEOUT) {
1187 mojom::BluetoothPropertyPtr btp = mojom::BluetoothProperty::New(); 1190 mojom::BluetoothPropertyPtr btp = mojom::BluetoothProperty::New();
1188 btp->set_discovery_timeout(120); 1191 btp->set_discovery_timeout(bluetooth_adapter_->GetDiscoverableTimeout());
1189 properties.push_back(std::move(btp)); 1192 properties.push_back(std::move(btp));
1190 } 1193 }
1191 1194
1192 return properties; 1195 return properties;
1193 } 1196 }
1194 1197
1195 // Android support 5 types of Advertising Data. 1198 // Android support 5 types of Advertising Data.
1196 // However Chrome didn't expose AdvertiseFlag and ManufacturerData. 1199 // However Chrome didn't expose AdvertiseFlag and ManufacturerData.
1197 // So we will only expose local_name, service_uuids and service_data. 1200 // So we will only expose local_name, service_uuids and service_data.
1198 // TODO(crbug.com/618442) Make Chrome expose missing data. 1201 // TODO(crbug.com/618442) Make Chrome expose missing data.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 // to 1314 // to
1312 // make sure the bond state machine on Android is ready to take the 1315 // make sure the bond state machine on Android is ready to take the
1313 // pair-done event. Otherwise the pair-done event will be dropped as an 1316 // pair-done event. Otherwise the pair-done event will be dropped as an
1314 // invalid change of paired status. 1317 // invalid change of paired status.
1315 OnPairing(addr->Clone()); 1318 OnPairing(addr->Clone());
1316 OnPairedDone(std::move(addr)); 1319 OnPairedDone(std::move(addr));
1317 } 1320 }
1318 } 1321 }
1319 1322
1320 } // namespace arc 1323 } // namespace arc
OLDNEW
« no previous file with comments | « components/arc/bluetooth/arc_bluetooth_bridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698