Chromium Code Reviews| Index: device/vr/android/gvr/gvr_device_provider.cc | 
| diff --git a/device/vr/android/gvr/gvr_device_provider.cc b/device/vr/android/gvr/gvr_device_provider.cc | 
| index 21061f96ecc56b98a8f091cc1765bd7b1afa06b6..06d55b71b5c01a1bec84f101a7affa9a2c2ff201 100644 | 
| --- a/device/vr/android/gvr/gvr_device_provider.cc | 
| +++ b/device/vr/android/gvr/gvr_device_provider.cc | 
| @@ -12,9 +12,12 @@ | 
| #include "base/android/scoped_java_ref.h" | 
| #include "device/vr/android/gvr/gvr_delegate.h" | 
| #include "device/vr/android/gvr/gvr_device.h" | 
| +#include "device/vr/android/gvr/gvr_gamepad_data_fetcher.h" | 
| #include "device/vr/vr_device_manager.h" | 
| #include "jni/GvrDeviceProvider_jni.h" | 
| #include "third_party/gvr-android-sdk/src/ndk-beta/include/vr/gvr/capi/include/gvr.h" | 
| +#include "third_party/gvr-android-sdk/src/ndk-beta/include/vr/gvr/capi/include/gvr_controller.h" | 
| +#include "third_party/gvr-android-sdk/src/ndk-beta/include/vr/gvr/capi/include/gvr_types.h" | 
| using base::android::AttachCurrentThread; | 
| using base::android::GetApplicationContext; | 
| @@ -67,6 +70,7 @@ class GvrNonPresentingDelegate : public GvrDelegate { | 
| private: | 
| base::android::ScopedJavaGlobalRef<jobject> j_device_; | 
| std::unique_ptr<gvr::GvrApi> gvr_api_; | 
| + std::unique_ptr<gvr::GvrApi> controller_api_; | 
| 
 
bshe
2016/09/20 15:35:03
doesn't look like controller_api_ is used?
 
 | 
| }; | 
| GvrDeviceProvider::GvrDeviceProvider() | 
| @@ -74,6 +78,9 @@ GvrDeviceProvider::GvrDeviceProvider() | 
| main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()) {} | 
| GvrDeviceProvider::~GvrDeviceProvider() { | 
| + GamepadDataFetcherManager::GetInstance()->RemoveSourceFactory( | 
| + GAMEPAD_SOURCE_GVR); | 
| + | 
| ExitPresent(); | 
| } | 
| @@ -95,6 +102,9 @@ void GvrDeviceProvider::Initialize() { | 
| if (non_presenting_delegate_->gvr_api()) { | 
| vr_device_.reset(new GvrDevice(this, non_presenting_delegate_.get())); | 
| client_->OnDeviceConnectionStatusChanged(vr_device_.get(), true); | 
| + | 
| + GamepadDataFetcherManager::GetInstance()->AddFactory( | 
| + new GvrGamepadDataFetcher::Factory(non_presenting_delegate_.get())); | 
| } | 
| } | 
| } |