| 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 626526e854d3c8ae655efc1364a7f746f202b110..34d3cdafce1ec82b321a9940a47389fdfaf3c668 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_;
|
| };
|
|
|
| GvrDeviceProvider::GvrDeviceProvider()
|
| @@ -74,6 +78,9 @@ GvrDeviceProvider::GvrDeviceProvider()
|
| main_thread_task_runner_(base::ThreadTaskRunnerHandle::Get()) {}
|
|
|
| GvrDeviceProvider::~GvrDeviceProvider() {
|
| + GamepadDataFetcherManager::GetInstance()->RemoveSourceFactory(
|
| + GAMEPAD_SOURCE_GVR);
|
| +
|
| ExitPresent();
|
| }
|
|
|
| @@ -89,6 +96,9 @@ void GvrDeviceProvider::Initialize() {
|
| non_presenting_delegate_.reset(new GvrNonPresentingDelegate());
|
| if (non_presenting_delegate_->gvr_api()) {
|
| vr_device_.reset(new GvrDevice(this, non_presenting_delegate_.get()));
|
| +
|
| + GamepadDataFetcherManager::GetInstance()->AddFactory(
|
| + new GvrGamepadDataFetcher::Factory(non_presenting_delegate_.get()));
|
| }
|
| }
|
| }
|
|
|