| OLD | NEW |
| 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 #include "device/sensors/sensor_manager_android.h" | 5 #include "device/sensors/sensor_manager_android.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 bool Start(ConsumerType event_type) override { return true; } | 37 bool Start(ConsumerType event_type) override { return true; } |
| 38 void Stop(ConsumerType event_type) override {} | 38 void Stop(ConsumerType event_type) override {} |
| 39 | 39 |
| 40 private: | 40 private: |
| 41 int number_active_sensors_; | 41 int number_active_sensors_; |
| 42 }; | 42 }; |
| 43 | 43 |
| 44 class AndroidSensorManagerTest : public testing::Test { | 44 class AndroidSensorManagerTest : public testing::Test { |
| 45 protected: | 45 protected: |
| 46 AndroidSensorManagerTest() { | 46 AndroidSensorManagerTest() { |
| 47 light_buffer_.reset(new DeviceLightHardwareBuffer); | |
| 48 motion_buffer_.reset(new DeviceMotionHardwareBuffer); | 47 motion_buffer_.reset(new DeviceMotionHardwareBuffer); |
| 49 orientation_buffer_.reset(new DeviceOrientationHardwareBuffer); | 48 orientation_buffer_.reset(new DeviceOrientationHardwareBuffer); |
| 50 orientation_absolute_buffer_.reset(new DeviceOrientationHardwareBuffer); | 49 orientation_absolute_buffer_.reset(new DeviceOrientationHardwareBuffer); |
| 51 } | 50 } |
| 52 | 51 |
| 53 void VerifyOrientationBufferValues( | 52 void VerifyOrientationBufferValues( |
| 54 const DeviceOrientationHardwareBuffer* buffer, | 53 const DeviceOrientationHardwareBuffer* buffer, |
| 55 double alpha, | 54 double alpha, |
| 56 double beta, | 55 double beta, |
| 57 double gamma) { | 56 double gamma) { |
| 58 ASSERT_TRUE(buffer->data.all_available_sensors_are_active); | 57 ASSERT_TRUE(buffer->data.all_available_sensors_are_active); |
| 59 ASSERT_EQ(alpha, buffer->data.alpha); | 58 ASSERT_EQ(alpha, buffer->data.alpha); |
| 60 ASSERT_TRUE(buffer->data.has_alpha); | 59 ASSERT_TRUE(buffer->data.has_alpha); |
| 61 ASSERT_EQ(beta, buffer->data.beta); | 60 ASSERT_EQ(beta, buffer->data.beta); |
| 62 ASSERT_TRUE(buffer->data.has_beta); | 61 ASSERT_TRUE(buffer->data.has_beta); |
| 63 ASSERT_EQ(gamma, buffer->data.gamma); | 62 ASSERT_EQ(gamma, buffer->data.gamma); |
| 64 ASSERT_TRUE(buffer->data.has_gamma); | 63 ASSERT_TRUE(buffer->data.has_gamma); |
| 65 } | 64 } |
| 66 | 65 |
| 67 std::unique_ptr<DeviceLightHardwareBuffer> light_buffer_; | |
| 68 std::unique_ptr<DeviceMotionHardwareBuffer> motion_buffer_; | 66 std::unique_ptr<DeviceMotionHardwareBuffer> motion_buffer_; |
| 69 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_buffer_; | 67 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_buffer_; |
| 70 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_absolute_buffer_; | 68 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_absolute_buffer_; |
| 71 base::MessageLoop message_loop_; | 69 base::MessageLoop message_loop_; |
| 72 }; | 70 }; |
| 73 | 71 |
| 74 TEST_F(AndroidSensorManagerTest, ThreeDeviceMotionSensorsActive) { | 72 TEST_F(AndroidSensorManagerTest, ThreeDeviceMotionSensorsActive) { |
| 75 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); | 73 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); |
| 76 FakeSensorManagerAndroid sensorManager; | 74 FakeSensorManagerAndroid sensorManager; |
| 77 sensorManager.SetNumberActiveDeviceMotionSensors(3); | 75 sensorManager.SetNumberActiveDeviceMotionSensors(3); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 orientation_absolute_buffer_.get()); | 166 orientation_absolute_buffer_.get()); |
| 169 ASSERT_FALSE(orientation_buffer_->data.all_available_sensors_are_active); | 167 ASSERT_FALSE(orientation_buffer_->data.all_available_sensors_are_active); |
| 170 | 168 |
| 171 sensorManager.GotOrientationAbsolute(nullptr, nullptr, 4, 5, 6); | 169 sensorManager.GotOrientationAbsolute(nullptr, nullptr, 4, 5, 6); |
| 172 VerifyOrientationBufferValues(orientation_absolute_buffer_.get(), 4, 5, 6); | 170 VerifyOrientationBufferValues(orientation_absolute_buffer_.get(), 4, 5, 6); |
| 173 | 171 |
| 174 sensorManager.StopFetchingDeviceOrientationData(); | 172 sensorManager.StopFetchingDeviceOrientationData(); |
| 175 ASSERT_FALSE(orientation_buffer_->data.all_available_sensors_are_active); | 173 ASSERT_FALSE(orientation_buffer_->data.all_available_sensors_are_active); |
| 176 } | 174 } |
| 177 | 175 |
| 178 // DeviceLight | |
| 179 TEST_F(AndroidSensorManagerTest, DeviceLightSensorsActive) { | |
| 180 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); | |
| 181 FakeSensorManagerAndroid sensorManager; | |
| 182 | |
| 183 sensorManager.StartFetchingDeviceLightData(light_buffer_.get()); | |
| 184 | |
| 185 sensorManager.GotLight(nullptr, nullptr, 100); | |
| 186 ASSERT_EQ(100, light_buffer_->data.value); | |
| 187 | |
| 188 sensorManager.StopFetchingDeviceLightData(); | |
| 189 ASSERT_EQ(-1, light_buffer_->data.value); | |
| 190 } | |
| 191 | |
| 192 } // namespace | 176 } // namespace |
| 193 | 177 |
| 194 } // namespace device | 178 } // namespace device |
| OLD | NEW |