ITS: Fix GYRO not supported on all Android devices
bug: 160941824
Change-Id: I860946405d461517e76c176f694e53de5beddd53
diff --git a/apps/CameraITS/pymodules/its/caps.py b/apps/CameraITS/pymodules/its/caps.py
index ccbaa65..ddb3c95 100644
--- a/apps/CameraITS/pymodules/its/caps.py
+++ b/apps/CameraITS/pymodules/its/caps.py
@@ -555,12 +555,13 @@
0 in props["android.request.availableCapabilities"]
-def sensor_fusion_capable(props):
+def sensor_fusion_test_capable(props, cam):
"""Determine if test_sensor_fusion is run."""
return all([
its.caps.sensor_fusion(props),
its.caps.manual_sensor(props),
- props["android.lens.facing"] != FACING_EXTERNAL])
+ props["android.lens.facing"] != FACING_EXTERNAL,
+ cam.get_sensors().get("gyro")])
def multi_camera_frame_sync_capable(props):
diff --git a/apps/CameraITS/tests/sensor_fusion/test_sensor_fusion.py b/apps/CameraITS/tests/sensor_fusion/test_sensor_fusion.py
index f1b1d36..0caf148 100644
--- a/apps/CameraITS/tests/sensor_fusion/test_sensor_fusion.py
+++ b/apps/CameraITS/tests/sensor_fusion/test_sensor_fusion.py
@@ -425,7 +425,7 @@
with its.device.ItsSession() as cam:
props = cam.get_camera_properties()
props = cam.override_with_hidden_physical_camera_props(props)
- its.caps.skip_unless(its.caps.sensor_fusion_capable(props))
+ its.caps.skip_unless(its.caps.sensor_fusion_test_capable(props, cam))
print "Starting sensor event collection"
cam.start_sensor_events()
diff --git a/apps/CameraITS/tools/run_all_tests.py b/apps/CameraITS/tools/run_all_tests.py
index 49f849e..00bcd93 100644
--- a/apps/CameraITS/tools/run_all_tests.py
+++ b/apps/CameraITS/tools/run_all_tests.py
@@ -307,7 +307,7 @@
with ItsSession(camera_id) as cam:
props = cam.get_camera_properties()
method = {'test_sensor_fusion': {
- 'flag': its.caps.sensor_fusion_capable(props),
+ 'flag': its.caps.sensor_fusion_test_capable(props, cam),
'runs': 10},
'test_multi_camera_frame_sync': {
'flag': its.caps.multi_camera_frame_sync_capable(props),