Improve Sensor Service's dumpsys when restricted

Update the sensor service dumpsys to include restricted as a possible
operating mode for individual Sensor Event Connections. Do not print
sensors as active if all Sensor Event Connections requesting the
sensor are restricted.

Bug: 129007172
Test: Verified sensors only requested by restricted connections are
      not displayed as active in 'dumpsys sensorservice'
Test: Verified sensors that are part of a white listed sensor
      connection are displayed in 'dumpsys sensorservice' when Sensor
      Service is in restricted mode.
Test: Verified sensor event connections that are not white listed are
      marked as RESTRICTED when sensor service is in restricted mode
      and return to NORMAL when sensor service is returned to normal
      mode.
Change-Id: I3b12d6f802dbaddf682fa76af7fda5f9c3e5e870
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp
index 189ae36..a6ed75f 100644
--- a/services/sensorservice/SensorDevice.cpp
+++ b/services/sensorservice/SensorDevice.cpp
@@ -359,7 +359,7 @@
     for (const auto & s : mSensorList) {
         int32_t handle = s.handle;
         const Info& info = mActivationCount.valueFor(handle);
-        if (info.batchParams.isEmpty()) continue;
+        if (info.numActiveClients() == 0) continue;
 
         result.appendFormat("0x%08x) active-count = %zu; ", handle, info.batchParams.size());
 
@@ -730,6 +730,15 @@
     return mDisabledClients.indexOf(ident) >= 0;
 }
 
+bool SensorDevice::isSensorActive(int handle) const {
+    Mutex::Autolock _l(mLock);
+    ssize_t activationIndex = mActivationCount.indexOfKey(handle);
+    if (activationIndex < 0) {
+        return false;
+    }
+    return mActivationCount.valueAt(activationIndex).numActiveClients() > 0;
+}
+
 void SensorDevice::enableAllSensors() {
     if (mSensors == nullptr) return;
     Mutex::Autolock _l(mLock);