| Index: device/generic_sensor/platform_sensor_android.cc
|
| diff --git a/device/generic_sensor/platform_sensor_android.cc b/device/generic_sensor/platform_sensor_android.cc
|
| index e02cde849360421acf65bd3578eb5b3399ce8ae4..160e9263f4308bcf476740d45f76c8973e122600 100644
|
| --- a/device/generic_sensor/platform_sensor_android.cc
|
| +++ b/device/generic_sensor/platform_sensor_android.cc
|
| @@ -22,7 +22,6 @@ bool PlatformSensorAndroid::RegisterJNI(JNIEnv* env) {
|
| PlatformSensorAndroid::PlatformSensorAndroid(
|
| mojom::SensorType type,
|
| mojo::ScopedSharedBufferMapping mapping,
|
| - uint64_t buffer_size,
|
| PlatformSensorProvider* provider,
|
| const JavaRef<jobject>& java_sensor)
|
| : PlatformSensor(type, std::move(mapping), provider),
|
| @@ -30,10 +29,8 @@ PlatformSensorAndroid::PlatformSensorAndroid(
|
| JNIEnv* env = AttachCurrentThread();
|
| j_object_.Reset(java_sensor);
|
|
|
| - jobject byte_buffer =
|
| - env->NewDirectByteBuffer(shared_buffer_mapping_.get(), buffer_size);
|
| - Java_PlatformSensor_initPlatformSensorAndroid(
|
| - env, j_object_.obj(), reinterpret_cast<jlong>(this), byte_buffer);
|
| + Java_PlatformSensor_initPlatformSensorAndroid(env, j_object_.obj(),
|
| + reinterpret_cast<jlong>(this));
|
| }
|
|
|
| PlatformSensorAndroid::~PlatformSensorAndroid() {
|
| @@ -72,19 +69,32 @@ bool PlatformSensorAndroid::CheckSensorConfiguration(
|
| env, j_object_.obj(), configuration.frequency());
|
| }
|
|
|
| -void PlatformSensorAndroid::NotifyPlatformSensorReadingChanged(
|
| +void PlatformSensorAndroid::NotifyPlatformSensorError(
|
| JNIEnv*,
|
| const JavaRef<jobject>& caller) {
|
| task_runner_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&PlatformSensorAndroid::NotifySensorReadingChanged, this));
|
| + FROM_HERE, base::Bind(&PlatformSensorAndroid::NotifySensorError, this));
|
| }
|
|
|
| -void PlatformSensorAndroid::NotifyPlatformSensorError(
|
| +void PlatformSensorAndroid::UpdatePlatformSensorReading(
|
| JNIEnv*,
|
| - const JavaRef<jobject>& caller) {
|
| - task_runner_->PostTask(
|
| - FROM_HERE, base::Bind(&PlatformSensorAndroid::NotifySensorError, this));
|
| + const base::android::JavaRef<jobject>& caller,
|
| + jdouble timestamp,
|
| + jdouble value1,
|
| + jdouble value2,
|
| + jdouble value3) {
|
| + mojom::SensorReading reading;
|
| + reading.timestamp = timestamp;
|
| + reading.value1 = value1;
|
| + reading.value2 = value2;
|
| + reading.value3 = value3;
|
| +
|
| + UpdateSensorReading(reading);
|
| +
|
| + if (GetReportingMode() == mojom::ReportingMode::ON_CHANGE)
|
| + task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&PlatformSensorAndroid::NotifySensorReadingChanged, this));
|
| }
|
|
|
| } // namespace device
|
|
|