summaryrefslogtreecommitdiff
path: root/services/java/com
diff options
context:
space:
mode:
author William Hester <williamhester@google.com> 2018-12-19 13:14:51 -0800
committer William Hester <williamhester@google.com> 2019-01-22 13:32:20 -0800
commita96d3d3ff46b2b94484f285da172db9572f3c26b (patch)
treea355394982ef281750febca898f004515b2a190d /services/java/com
parent4e9df81cd38269d8390e35557ffed68e800146f0 (diff)
Implement test harness mode
Test Harness Mode is a feature for device farms that want to wipe their devices after each test run. It stores the ADB keys in the persistent partition (used for Factory Reset Protection) then performs a factory reset by broadcasting the MASTER_CLEAR intent. Upon rebooting, the Setup Wizard is skipped, and a few settings are set: * Package Verifier is disabled * Stay Awake While Charging is enabled * OTA Updates are disabled * Auto-Sync for accounts is disabled Other apps may configure themselves differently in Test Harness Mode by checking ActivityManager.isRunningInUserTestHarness() Bug: 80137798 Test: make && fastboot flashall -w Test: adb shell cmd testharness enable Change-Id: I91285c056666e36ad0caf778bffc140a0656fcfa
Diffstat (limited to 'services/java/com')
-rw-r--r--services/java/com/android/server/SystemServer.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index cef47caff740..32d7649c5b51 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -136,6 +136,7 @@ import com.android.server.stats.StatsCompanionService;
import com.android.server.statusbar.StatusBarManagerService;
import com.android.server.storage.DeviceStorageMonitorService;
import com.android.server.telecom.TelecomLoaderService;
+import com.android.server.testharness.TestHarnessModeService;
import com.android.server.textclassifier.TextClassificationManagerService;
import com.android.server.textservices.TextServicesManagerService;
import com.android.server.trust.TrustManagerService;
@@ -1147,6 +1148,10 @@ public final class SystemServer {
traceBeginAndSlog("StartPersistentDataBlock");
mSystemServiceManager.startService(PersistentDataBlockService.class);
traceEnd();
+
+ traceBeginAndSlog("StartTestHarnessMode");
+ mSystemServiceManager.startService(TestHarnessModeService.class);
+ traceEnd();
}
if (hasPdb || OemLockService.isHalPresent()) {