History log of /packages/services/Car/service/src/com/android/car/systeminterface/SystemStateInterface.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0f9fc00ffb03bc8e88c0a55e2e21b4ffdba19edf 10-Feb-2018 Steve Paik <spaik@google.com> Call forceSuspend from CarPowerManagementService

Bug: 32061842
Test: Manual instrumentation
Change-Id: Ib3ad05bb6e3f74a95ece693f2f3098e02a1d1158
/packages/services/Car/service/src/com/android/car/systeminterface/SystemStateInterface.java
e23f034f98e707eef33a0daab29b91e72efd1472 24-Oct-2017 Enrico Granata <egranata@google.com> 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
/packages/services/Car/service/src/com/android/car/systeminterface/SystemStateInterface.java
b19bc326413285806ecca7fb7b54ec7a9074f286 12-Oct-2017 Enrico Granata <egranata@google.com> Refactor SystemInterface.

Split SystemInterface into a set of smaller chunks, each wrapping one specific functional set of system APIs.
Provide default implementations of each of those chunks.
Rework SystemInterface to be a class that wraps all the chunks and forwards to each of them.
Add a Builder API to allow one to construct a full SystemInterface from individual chunks.

This turns a fairly heavy-weight interface into smaller pieces which are easier to use individually, and it also makes
it easier for tests to only change a subset of SystemInterface functionality when they need to do so.

Test: runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/CarPowerManagementServiceTest.java
runtest -x packages/services/Car/tests/carservice_unit_test/src/com/android/car/UptimeTrackerTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarPowerManagementTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarStorageMonitoringTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarDiagnosticManagerTest.java
runtest -x packages/services/Car/tests/carservice_test/src/com/android/car/CarSensorManagerTest.java
Change-Id: I34c89b526d052126198a148d742123af78eafcbd
Fixes: 67739411
/packages/services/Car/service/src/com/android/car/systeminterface/SystemStateInterface.java