Automatically reconnect sensors

Automatically reenable sensor connections for static sensors after a
Sensors HAL crash.

Bug: 111070257
Test: Request sensor events via a_sns_test, kill the sensors HAL,
      verify that events are no longer received, restart the HAL and
      verify that a_sns_test receives new sensor events.

Change-Id: I2baa7745cf07e29c186ac4b80679393d6e48bd56
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp
index f4e728b..1b9b945 100644
--- a/services/sensorservice/SensorService.cpp
+++ b/services/sensorservice/SensorService.cpp
@@ -633,8 +633,13 @@
     do {
         ssize_t count = device.poll(mSensorEventBuffer, numEventMax);
         if (count < 0) {
-            ALOGE("sensor poll failed (%s)", strerror(-count));
-            break;
+            if(count == DEAD_OBJECT && device.isReconnecting()) {
+                device.reconnect();
+                continue;
+            } else {
+                ALOGE("sensor poll failed (%s)", strerror(-count));
+                break;
+            }
         }
 
         // Reset sensors_event_t.flags to zero for all events in the buffer.