Add SystemInterface API to collect the list of processes running on the system.
This API will return a list of (PID, UID) for each process it sees running at the time it is invoked.
The list is gathered by scavenging /proc, and should be treated as an instantaneous snapshot.
There is potential for security vulns associated with /proc access. For this reason, Android defaults
to mounting /proc hidepid=2,gid=readproc, in order to minimize and control the portions of the system
that can gain unrestricted access.
In order to play along with this requirement, the implementation of getRunningProcesses() is backed by
a native service, which has a surface area much smaller than CarService, and access is restricted to
SYSTEM and ROOT users only.
Change-Id: I217cc6a4671187a2ae617fb454477e129c4b7371
Fixes: 68164195
Bug: 65846699
Test: manual
diff --git a/car_product/build/car.mk b/car_product/build/car.mk
index 6908eeb..6c1e42a 100644
--- a/car_product/build/car.mk
+++ b/car_product/build/car.mk
@@ -91,6 +91,7 @@
CarUsbHandler \
android.car \
libvehiclemonitor-native \
+ com.android.car.procfsinspector \
# Boot animation
PRODUCT_COPY_FILES += \