Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/ServiceRegistrar.java

Issue 2051083002: WIP : Generic Sensor API implementation Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/public/android/BUILD.gn ('k') | content/test/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 package org.chromium.content.browser; 5 package org.chromium.content.browser;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 8
9 import org.chromium.base.annotations.CalledByNative; 9 import org.chromium.base.annotations.CalledByNative;
10 import org.chromium.base.annotations.JNINamespace; 10 import org.chromium.base.annotations.JNINamespace;
11 import org.chromium.content.browser.ServiceRegistry.ImplementationFactory; 11 import org.chromium.content.browser.ServiceRegistry.ImplementationFactory;
12 import org.chromium.device.battery.BatteryMonitorFactory; 12 import org.chromium.device.battery.BatteryMonitorFactory;
13 import org.chromium.device.vibration.VibrationManagerImpl; 13 import org.chromium.device.vibration.VibrationManagerImpl;
14 import org.chromium.device.sensors.SensorFactoryImpl;
14 import org.chromium.mojom.device.BatteryMonitor; 15 import org.chromium.mojom.device.BatteryMonitor;
15 import org.chromium.mojom.device.VibrationManager; 16 import org.chromium.mojom.device.VibrationManager;
17 import org.chromium.mojom.device.sensors.SensorFactory;
16 18
17 /** 19 /**
18 * Registers mojo services exposed by the browser in the given registry. 20 * Registers mojo services exposed by the browser in the given registry.
19 */ 21 */
20 @JNINamespace("content") 22 @JNINamespace("content")
21 class ServiceRegistrar { 23 class ServiceRegistrar {
22 // BatteryMonitorFactory can't implement ImplementationFactory itself, as we don't depend on 24 // BatteryMonitorFactory can't implement ImplementationFactory itself, as we don't depend on
23 // /content in /device. Hence we use BatteryMonitorImplementationFactory as a wrapper. 25 // /content in /device. Hence we use BatteryMonitorImplementationFactory as a wrapper.
24 private static class BatteryMonitorImplementationFactory 26 private static class BatteryMonitorImplementationFactory
25 implements ImplementationFactory<BatteryMonitor> { 27 implements ImplementationFactory<BatteryMonitor> {
(...skipping 16 matching lines...) Expand all
42 VibrationManagerImplementationFactory(Context applicationContext) { 44 VibrationManagerImplementationFactory(Context applicationContext) {
43 mApplicationContext = applicationContext; 45 mApplicationContext = applicationContext;
44 } 46 }
45 47
46 @Override 48 @Override
47 public VibrationManager createImpl() { 49 public VibrationManager createImpl() {
48 return new VibrationManagerImpl(mApplicationContext); 50 return new VibrationManagerImpl(mApplicationContext);
49 } 51 }
50 } 52 }
51 53
54 private static class SensorsImplementationFactory
55 implements ImplementationFactory<SensorFactory> {
56 private final Context mApplicationContext;
57
58 SensorsImplementationFactory(Context applicationContext) {
59 mApplicationContext = applicationContext;
60 }
61
62 @Override
63 public SensorFactory createImpl() {
64 return new SensorFactoryImpl(mApplicationContext);
65 }
66 }
67
52 @CalledByNative 68 @CalledByNative
53 static void registerProcessHostServices(ServiceRegistry registry, Context ap plicationContext) { 69 static void registerProcessHostServices(ServiceRegistry registry, Context ap plicationContext) {
54 assert applicationContext != null; 70 assert applicationContext != null;
55 registry.addService(BatteryMonitor.MANAGER, 71 registry.addService(BatteryMonitor.MANAGER,
56 new BatteryMonitorImplementationFactory(applicationContext)); 72 new BatteryMonitorImplementationFactory(applicationContext));
57 } 73 }
58 74
59 @CalledByNative 75 @CalledByNative
60 static void registerFrameHostServices(ServiceRegistry registry, Context appl icationContext) { 76 static void registerFrameHostServices(ServiceRegistry registry, Context appl icationContext) {
61 assert applicationContext != null; 77 assert applicationContext != null;
62 registry.addService(VibrationManager.MANAGER, 78 registry.addService(VibrationManager.MANAGER,
63 new VibrationManagerImplementationFactory(applicationContext)); 79 new VibrationManagerImplementationFactory(applicationContext));
80 registry.addService(SensorFactory.MANAGER,
81 new SensorsImplementationFactory(applicationContext));
64 // TODO(avayvod): Register the PresentationService implementation here. 82 // TODO(avayvod): Register the PresentationService implementation here.
65 } 83 }
66 } 84 }
OLDNEW
« no previous file with comments | « content/public/android/BUILD.gn ('k') | content/test/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698