| 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();
|
| + }
|
| +}
|
|
|