ShadowSensorManager - use looseSignatures. (#3103)

SensorDirectChannel will cause class not found error with target SDK <
26.
diff --git a/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowSensorManager.java b/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowSensorManager.java
index 5ed13bb..e881a47 100644
--- a/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowSensorManager.java
+++ b/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowSensorManager.java
@@ -14,7 +14,7 @@
 
 import static android.os.Build.VERSION_CODES.O;
 
-@Implements(SensorManager.class)
+@Implements(value = SensorManager.class, looseSignatures = true)
 public class ShadowSensorManager {
   public boolean forceListenersToFail = false;
   private final Map<Integer, Sensor> sensorMap = new HashMap<>();
@@ -66,7 +66,7 @@
   }
 
   @Implementation(minSdk = O)
-  public SensorDirectChannel createDirectChannel(MemoryFile mem) {
+  public Object createDirectChannel(MemoryFile mem) {
     return ReflectionHelpers.callConstructor(SensorDirectChannel.class,
         ClassParameter.from(SensorManager.class, realObject),
         ClassParameter.from(int.class, 0),
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
index 1d1dbd8..046494f 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowSensorManagerTest.java
@@ -37,7 +37,7 @@
   @Test
   @Config(minSdk = Build.VERSION_CODES.O)
   public void createDirectChannel() throws Exception {
-    SensorDirectChannel channel = sensorManager.createDirectChannel(new MemoryFile("name", 10));
+    SensorDirectChannel channel = (SensorDirectChannel) sensorManager.createDirectChannel(new MemoryFile("name", 10));
     assertThat(channel.isValid()).isTrue();
 
     channel.close();