Index: device/sensors/android/java/src/org/chromium/device/sensors/ProximitySensorImpl.java |
diff --git a/device/sensors/android/java/src/org/chromium/device/sensors/ProximitySensorImpl.java b/device/sensors/android/java/src/org/chromium/device/sensors/ProximitySensorImpl.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20288840bbe5b3d7f6619a563602e2928c6203eb |
--- /dev/null |
+++ b/device/sensors/android/java/src/org/chromium/device/sensors/ProximitySensorImpl.java |
@@ -0,0 +1,39 @@ |
+// 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.hardware.Sensor; |
+import android.hardware.SensorEvent; |
+import android.hardware.SensorManager; |
+import android.os.Handler; |
+ |
+import org.chromium.mojo.system.SharedBufferHandle; |
+import org.chromium.mojom.device.sensors.SensorType; |
+ |
+import java.nio.ByteBuffer; |
+ |
+/** |
+ * ProximitySensor implementation. |
+ */ |
+public class ProximitySensorImpl extends SensorBase { |
+ ProximitySensorImpl(SensorManager manager, Handler handler, SharedBufferHandle handle, |
+ long offset, long size, SensorStateObserver observer) |
+ throws SensorException { |
+ super(Sensor.TYPE_PROXIMITY, manager, handler, handle, offset, size, observer); |
+ } |
+ |
+ @Override |
+ public int getType() { |
+ return SensorType.PROXIMITY; |
+ } |
+ |
+ @Override |
+ protected void fillSensorReadingData(SensorEvent event, ByteBuffer buffer) |
+ throws SensorException { |
+ if(event.values.length < 1) throw new SensorException(); |
+ // Distance |
+ buffer.putDouble(event.values[0]); |
+ } |
+} |