Index: device/sensors/android/java/src/org/chromium/device/sensors/SensorFactoryImpl.java |
diff --git a/device/sensors/android/java/src/org/chromium/device/sensors/SensorFactoryImpl.java b/device/sensors/android/java/src/org/chromium/device/sensors/SensorFactoryImpl.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b29b81da63249bd4e4aa345fe90cfee317d09245 |
--- /dev/null |
+++ b/device/sensors/android/java/src/org/chromium/device/sensors/SensorFactoryImpl.java |
@@ -0,0 +1,43 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.device.sensors; |
+ |
+import android.content.Context; |
+ |
+import org.chromium.mojo.bindings.Callbacks; |
+import org.chromium.mojo.bindings.InterfaceRequest; |
+import org.chromium.mojo.system.MojoException; |
+import org.chromium.mojom.device.sensors.Sensor; |
+import org.chromium.mojom.device.sensors.SensorFactory; |
+import org.chromium.mojom.device.sensors.Result; |
+ |
+/** |
+ * Android implementation of SensorFactory mojo service |
+ * device/sensors/sensor_factory.mojom |
+ */ |
+public final class SensorFactoryImpl implements SensorFactory { |
+ private final Context mContext; |
+ |
+ public SensorFactoryImpl(Context context) { |
+ mContext = context; |
+ } |
+ |
+ @Override |
+ public void createSensor(int type, InterfaceRequest<Sensor> request, CreateSensorResponse callback) { |
+ SensorFactoryImpl_Internal impl = SensorFactoryImpl_Internal.getInstance(mContext); |
+ impl.createSensor(type, request, callback); |
+ } |
+ |
+ @Override |
+ public void close() { |
+ // TODO(shalamov): make SensorFactoryImpl_Internal ref counted, decrease ref here |
+ // when refcount is 0, invalidate singleton. |
+ } |
+ |
+ @Override |
+ public void onConnectionError(MojoException e) { |
+ close(); |
+ } |
+} |