Index: device/vr/android/gvr/gvr_delegate.cc |
diff --git a/device/vr/android/gvr/gvr_delegate.cc b/device/vr/android/gvr/gvr_delegate.cc |
index d3ef0ba160b281e06c068b90e8e42b7561912911..aa6156ba3dac8d2a4349781ee80754fb01d29717 100644 |
--- a/device/vr/android/gvr/gvr_delegate.cc |
+++ b/device/vr/android/gvr/gvr_delegate.cc |
@@ -5,48 +5,19 @@ |
#include "device/vr/android/gvr/gvr_delegate.h" |
#include "base/logging.h" |
-#include "base/memory/singleton.h" |
namespace device { |
-GvrDelegateManager* GvrDelegateManager::GetInstance() { |
- return base::Singleton<GvrDelegateManager>::get(); |
-} |
- |
-GvrDelegateManager::GvrDelegateManager() : delegate_(nullptr) {} |
- |
-GvrDelegateManager::~GvrDelegateManager() {} |
- |
-void GvrDelegateManager::AddClient(GvrDelegateClient* client) { |
- clients_.push_back(client); |
- |
- if (delegate_) |
- client->OnDelegateInitialized(delegate_); |
-} |
+GvrDelegateProvider* GvrDelegateProvider::delegate_provider_ = nullptr; |
-void GvrDelegateManager::RemoveClient(GvrDelegateClient* client) { |
- clients_.erase(std::remove(clients_.begin(), clients_.end(), client), |
- clients_.end()); |
+GvrDelegateProvider* GvrDelegateProvider::GetInstance() { |
+ return delegate_provider_; |
} |
-void GvrDelegateManager::Initialize(GvrDelegate* delegate) { |
- // Don't initialize the delegate manager twice. |
- DCHECK(!delegate_); |
- |
- delegate_ = delegate; |
- |
- for (const auto& client : clients_) |
- client->OnDelegateInitialized(delegate_); |
-} |
- |
-void GvrDelegateManager::Shutdown() { |
- if (!delegate_) |
- return; |
- |
- delegate_ = nullptr; |
- |
- for (const auto& client : clients_) |
- client->OnDelegateShutdown(); |
+void GvrDelegateProvider::SetInstance(GvrDelegateProvider* delegate_provider) { |
+ // Don't initialize the delegate_provider_ twice. |
+ DCHECK(!delegate_provider_); |
+ delegate_provider_ = delegate_provider; |
} |
} // namespace device |