| Index: content/public/android/javatests/src/org/chromium/content/browser/DeviceSensorsTest.java
|
| diff --git a/content/public/android/javatests/src/org/chromium/content/browser/DeviceSensorsTest.java b/content/public/android/javatests/src/org/chromium/content/browser/DeviceSensorsTest.java
|
| index 9abfc5b984831f2144454542d400ef45eafdd2bf..c309c546ba38e8708347632625b8a79fc77a2481 100644
|
| --- a/content/public/android/javatests/src/org/chromium/content/browser/DeviceSensorsTest.java
|
| +++ b/content/public/android/javatests/src/org/chromium/content/browser/DeviceSensorsTest.java
|
| @@ -57,17 +57,37 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
| assertTrue(start);
|
| assertTrue("should contain all orientation sensors",
|
| mDeviceSensors.mActiveSensors.containsAll(
|
| - DeviceSensors.DEVICE_ORIENTATION_SENSORS));
|
| + DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS));
|
| assertFalse(mDeviceSensors.mDeviceMotionIsActive);
|
| assertFalse(mDeviceSensors.mDeviceLightIsActive);
|
| assertTrue(mDeviceSensors.mDeviceOrientationIsActive);
|
| + assertFalse(mDeviceSensors.isUsingBackupSensorsForOrientation());
|
|
|
| - assertEquals(DeviceSensors.DEVICE_ORIENTATION_SENSORS.size(),
|
| + assertEquals(DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS.size(),
|
| mMockSensorManager.mNumRegistered);
|
| assertEquals(0, mMockSensorManager.mNumUnRegistered);
|
| }
|
|
|
| @SmallTest
|
| + public void testRegisterSensorsDeviceOrientationRotationVectorNotAvailable() {
|
| + MockSensorManager mockSensorManager = new MockSensorManager();
|
| + mockSensorManager.setRotationVectorAvailable(false);
|
| + mDeviceSensors.setSensorManagerProxy(mockSensorManager);
|
| + boolean startOrientation = mDeviceSensors.start(0, DeviceSensors.DEVICE_ORIENTATION, 100);
|
| +
|
| + assertTrue(startOrientation);
|
| + assertTrue(mDeviceSensors.mDeviceOrientationIsActive);
|
| + assertTrue("should contain all backup orientation sensors",
|
| + mDeviceSensors.mActiveSensors.containsAll(
|
| + DeviceSensors.DEVICE_ORIENTATION_BACKUP_SENSORS));
|
| + assertTrue(mDeviceSensors.isUsingBackupSensorsForOrientation());
|
| +
|
| + assertEquals(DeviceSensors.DEVICE_ORIENTATION_BACKUP_SENSORS.size(),
|
| + mockSensorManager.mNumRegistered);
|
| + assertEquals(0, mockSensorManager.mNumUnRegistered);
|
| + }
|
| +
|
| + @SmallTest
|
| public void testRegisterSensorsDeviceMotionAndOrientation() {
|
| boolean startOrientation = mDeviceSensors.start(0, DeviceSensors.DEVICE_ORIENTATION, 100);
|
| boolean startMotion = mDeviceSensors.start(0, DeviceSensors.DEVICE_MOTION, 100);
|
| @@ -79,9 +99,9 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
| DeviceSensors.DEVICE_MOTION_SENSORS));
|
| assertTrue("should contain all orientation sensors",
|
| mDeviceSensors.mActiveSensors.containsAll(
|
| - DeviceSensors.DEVICE_ORIENTATION_SENSORS));
|
| + DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS));
|
|
|
| - Set<Integer> union = new HashSet<Integer>(DeviceSensors.DEVICE_ORIENTATION_SENSORS);
|
| + Set<Integer> union = new HashSet<Integer>(DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS);
|
| union.addAll(DeviceSensors.DEVICE_MOTION_SENSORS);
|
|
|
| assertEquals(union.size(), mDeviceSensors.mActiveSensors.size());
|
| @@ -133,7 +153,7 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
| assertFalse(mDeviceSensors.mDeviceMotionIsActive);
|
| assertFalse(mDeviceSensors.mDeviceOrientationIsActive);
|
| assertFalse(mDeviceSensors.mDeviceLightIsActive);
|
| - assertEquals(DeviceSensors.DEVICE_ORIENTATION_SENSORS.size(),
|
| + assertEquals(DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS.size(),
|
| mMockSensorManager.mNumUnRegistered);
|
| }
|
|
|
| @@ -145,17 +165,17 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
|
|
| assertTrue("should contain all orientation sensors",
|
| mDeviceSensors.mActiveSensors.containsAll(
|
| - DeviceSensors.DEVICE_ORIENTATION_SENSORS));
|
| + DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS));
|
|
|
| Set<Integer> diff = new HashSet<Integer>(DeviceSensors.DEVICE_MOTION_SENSORS);
|
| - diff.removeAll(DeviceSensors.DEVICE_ORIENTATION_SENSORS);
|
| + diff.removeAll(DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS);
|
|
|
| assertEquals(diff.size(), mMockSensorManager.mNumUnRegistered);
|
|
|
| mDeviceSensors.stop(DeviceSensors.DEVICE_ORIENTATION);
|
|
|
| assertTrue("should contain no sensors", mDeviceSensors.mActiveSensors.isEmpty());
|
| - assertEquals(diff.size() + DeviceSensors.DEVICE_ORIENTATION_SENSORS.size(),
|
| + assertEquals(diff.size() + DeviceSensors.DEVICE_ORIENTATION_DEFAULT_SENSORS.size(),
|
| mMockSensorManager.mNumUnRegistered);
|
| assertEquals(0, mDeviceSensors.getNumberActiveDeviceMotionSensors());
|
| }
|
| @@ -250,7 +270,6 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
| mDeviceSensors.verifyValues(1, 2, 3);
|
| }
|
|
|
| -
|
| // Tests for correct Device Orientation angles.
|
|
|
| @SmallTest
|
| @@ -426,13 +445,21 @@ public class DeviceSensorsTest extends AndroidTestCase {
|
|
|
| private int mNumRegistered = 0;
|
| private int mNumUnRegistered = 0;
|
| + private boolean mRotationVectorAvailable = true;
|
|
|
| private MockSensorManager() {
|
| }
|
|
|
| + public void setRotationVectorAvailable(boolean available) {
|
| + mRotationVectorAvailable = available;
|
| + }
|
| +
|
| @Override
|
| public boolean registerListener(SensorEventListener listener, int sensorType, int rate,
|
| Handler handler) {
|
| + if (!mRotationVectorAvailable && sensorType == Sensor.TYPE_ROTATION_VECTOR) {
|
| + return false;
|
| + }
|
| mNumRegistered++;
|
| return true;
|
| }
|
|
|