| Index: device/vr/vr_device_manager.cc
|
| diff --git a/device/vr/vr_device_manager.cc b/device/vr/vr_device_manager.cc
|
| index b774ad248b762c7018e36f3040eded2d48ba6e7d..9e2d0152fcfc2de8738f27704f6feadf22fbf6dd 100644
|
| --- a/device/vr/vr_device_manager.cc
|
| +++ b/device/vr/vr_device_manager.cc
|
| @@ -127,13 +127,32 @@ void VRDeviceManager::OnDeviceChanged(VRDisplayPtr device) {
|
| service->client()->OnDisplayChanged(device.Clone());
|
| }
|
|
|
| +void VRDeviceManager::OnDeviceConnectionStatusChanged(VRDevice* device,
|
| + bool is_connected) {
|
| + if (is_connected) {
|
| + VRDisplayPtr vr_device_info = device->GetVRDevice();
|
| + if (vr_device_info.is_null())
|
| + return;
|
| +
|
| + vr_device_info->index = device->id();
|
| +
|
| + for (const auto& service : services_)
|
| + service->client()->OnDisplayConnected(vr_device_info.Clone());
|
| + } else {
|
| + for (const auto& service : services_)
|
| + service->client()->OnDisplayDisconnected(device->id());
|
| + }
|
| +}
|
| +
|
| void VRDeviceManager::InitializeProviders() {
|
| if (vr_initialized_) {
|
| return;
|
| }
|
|
|
| - for (const auto& provider : providers_)
|
| + for (const auto& provider : providers_) {
|
| + provider->SetClient(this);
|
| provider->Initialize();
|
| + }
|
|
|
| vr_initialized_ = true;
|
| }
|
|
|