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 "services/device/device_service.h" | 5 #include "services/device/device_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
11 #include "device/time_zone_monitor/time_zone_monitor.h" | |
12 #include "services/device/power_monitor/power_monitor_message_broadcaster.h" | 11 #include "services/device/power_monitor/power_monitor_message_broadcaster.h" |
| 12 #include "services/device/time_zone_monitor/time_zone_monitor.h" |
13 #include "services/service_manager/public/cpp/connection.h" | 13 #include "services/service_manager/public/cpp/connection.h" |
14 #include "services/service_manager/public/cpp/interface_registry.h" | 14 #include "services/service_manager/public/cpp/interface_registry.h" |
15 | 15 |
| 16 #if defined(OS_ANDROID) |
| 17 #include "services/device/android/register_jni.h" |
| 18 #endif |
| 19 |
16 namespace device { | 20 namespace device { |
17 | 21 |
18 std::unique_ptr<service_manager::Service> CreateDeviceService( | 22 std::unique_ptr<service_manager::Service> CreateDeviceService( |
19 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) { | 23 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) { |
| 24 #if defined(OS_ANDROID) |
| 25 if (!EnsureJniRegistered()) { |
| 26 DLOG(ERROR) << "Failed to register JNI for Device Service"; |
| 27 return nullptr; |
| 28 } |
| 29 #endif |
| 30 |
20 return base::MakeUnique<DeviceService>(std::move(file_task_runner)); | 31 return base::MakeUnique<DeviceService>(std::move(file_task_runner)); |
21 } | 32 } |
22 | 33 |
23 DeviceService::DeviceService( | 34 DeviceService::DeviceService( |
24 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) | 35 scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) |
25 : file_task_runner_(std::move(file_task_runner)) {} | 36 : file_task_runner_(std::move(file_task_runner)) {} |
26 | 37 |
27 DeviceService::~DeviceService() {} | 38 DeviceService::~DeviceService() {} |
28 | 39 |
29 void DeviceService::OnStart() {} | 40 void DeviceService::OnStart() {} |
(...skipping 11 matching lines...) Expand all Loading... |
41 } | 52 } |
42 | 53 |
43 void DeviceService::Create(const service_manager::Identity& remote_identity, | 54 void DeviceService::Create(const service_manager::Identity& remote_identity, |
44 mojom::TimeZoneMonitorRequest request) { | 55 mojom::TimeZoneMonitorRequest request) { |
45 if (!time_zone_monitor_) | 56 if (!time_zone_monitor_) |
46 time_zone_monitor_ = device::TimeZoneMonitor::Create(file_task_runner_); | 57 time_zone_monitor_ = device::TimeZoneMonitor::Create(file_task_runner_); |
47 time_zone_monitor_->Bind(std::move(request)); | 58 time_zone_monitor_->Bind(std::move(request)); |
48 } | 59 } |
49 | 60 |
50 } // namespace device | 61 } // namespace device |
OLD | NEW |