| OLD | NEW |
| 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 "device/bluetooth/bluetooth_adapter_factory_wrapper.h" | 5 #include "device/bluetooth/bluetooth_adapter_factory_wrapper.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 28 DCHECK(adapter_observers_.empty()); | 28 DCHECK(adapter_observers_.empty()); |
| 29 // Clear adapter. | 29 // Clear adapter. |
| 30 set_adapter(scoped_refptr<BluetoothAdapter>()); | 30 set_adapter(scoped_refptr<BluetoothAdapter>()); |
| 31 } | 31 } |
| 32 | 32 |
| 33 // static | 33 // static |
| 34 BluetoothAdapterFactoryWrapper& BluetoothAdapterFactoryWrapper::Get() { | 34 BluetoothAdapterFactoryWrapper& BluetoothAdapterFactoryWrapper::Get() { |
| 35 return g_singleton.Get(); | 35 return g_singleton.Get(); |
| 36 } | 36 } |
| 37 | 37 |
| 38 bool BluetoothAdapterFactoryWrapper::IsBluetoothAdapterAvailable() { | 38 bool BluetoothAdapterFactoryWrapper::IsLowEnergyAvailable() { |
| 39 DCHECK(thread_checker_.CalledOnValidThread()); | 39 DCHECK(thread_checker_.CalledOnValidThread()); |
| 40 return BluetoothAdapterFactory::IsBluetoothAdapterAvailable(); | 40 if (adapter_ != nullptr) { |
| 41 return true; |
| 42 } |
| 43 return BluetoothAdapterFactory::IsLowEnergyAvailable(); |
| 41 } | 44 } |
| 42 | 45 |
| 43 void BluetoothAdapterFactoryWrapper::AcquireAdapter( | 46 void BluetoothAdapterFactoryWrapper::AcquireAdapter( |
| 44 BluetoothAdapter::Observer* observer, | 47 BluetoothAdapter::Observer* observer, |
| 45 const AcquireAdapterCallback& callback) { | 48 const AcquireAdapterCallback& callback) { |
| 46 DCHECK(thread_checker_.CalledOnValidThread()); | 49 DCHECK(thread_checker_.CalledOnValidThread()); |
| 47 DCHECK(!GetAdapter(observer)); | 50 DCHECK(!GetAdapter(observer)); |
| 48 | 51 |
| 49 AddAdapterObserver(observer); | 52 AddAdapterObserver(observer); |
| 50 if (adapter_.get()) { | 53 if (adapter_.get()) { |
| 51 base::ThreadTaskRunnerHandle::Get()->PostTask( | 54 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 52 FROM_HERE, base::Bind(callback, base::Unretained(adapter_.get()))); | 55 FROM_HERE, base::Bind(callback, base::Unretained(adapter_.get()))); |
| 53 return; | 56 return; |
| 54 } | 57 } |
| 55 | 58 |
| 56 DCHECK(BluetoothAdapterFactory::IsBluetoothAdapterAvailable()); | 59 DCHECK(BluetoothAdapterFactory::IsLowEnergyAvailable()); |
| 57 BluetoothAdapterFactory::GetAdapter( | 60 BluetoothAdapterFactory::GetAdapter( |
| 58 base::Bind(&BluetoothAdapterFactoryWrapper::OnGetAdapter, | 61 base::Bind(&BluetoothAdapterFactoryWrapper::OnGetAdapter, |
| 59 weak_ptr_factory_.GetWeakPtr(), callback)); | 62 weak_ptr_factory_.GetWeakPtr(), callback)); |
| 60 } | 63 } |
| 61 | 64 |
| 62 void BluetoothAdapterFactoryWrapper::ReleaseAdapter( | 65 void BluetoothAdapterFactoryWrapper::ReleaseAdapter( |
| 63 BluetoothAdapter::Observer* observer) { | 66 BluetoothAdapter::Observer* observer) { |
| 64 DCHECK(thread_checker_.CalledOnValidThread()); | 67 DCHECK(thread_checker_.CalledOnValidThread()); |
| 65 if (!HasAdapter(observer)) { | 68 if (!HasAdapter(observer)) { |
| 66 return; | 69 return; |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 } | 142 } |
| 140 adapter_ = adapter; | 143 adapter_ = adapter; |
| 141 if (adapter_.get()) { | 144 if (adapter_.get()) { |
| 142 for (BluetoothAdapter::Observer* observer : adapter_observers_) { | 145 for (BluetoothAdapter::Observer* observer : adapter_observers_) { |
| 143 adapter_->AddObserver(observer); | 146 adapter_->AddObserver(observer); |
| 144 } | 147 } |
| 145 } | 148 } |
| 146 } | 149 } |
| 147 | 150 |
| 148 } // namespace device | 151 } // namespace device |
| OLD | NEW |