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
diff --git a/service/src/com/android/car/CarPowerManagementService.java b/service/src/com/android/car/CarPowerManagementService.java
index 4eb04b4..745c46d 100644
--- a/service/src/com/android/car/CarPowerManagementService.java
+++ b/service/src/com/android/car/CarPowerManagementService.java
@@ -24,6 +24,7 @@
import com.android.car.hal.PowerHalService;
import com.android.car.hal.PowerHalService.PowerState;
+import com.android.car.systeminterface.SystemInterface;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;