Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ef36a25f authored by William Hester's avatar William Hester
Browse files

Allow Test Harness Mode when secure ADB is disabled

Some builds may not have secure ADB (ro.secure.adb=1) enabled; however,
they should still be able to use Test Harness Mode. This enables those
builds to enable Test Harness Mode even if they're running the baked-in
ADB keys and/or they don't require keys at all.

Bug: 150721793

Change-Id: If095c379f70a6ca7b0cf3be8b30dfa43b85633e3
Merged-In: If095c379f70a6ca7b0cf3be8b30dfa43b85633e3
(cherry picked from commit af459213)
parent 661d4706
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -137,12 +137,12 @@ public class AdbService extends IAdbManager.Stub {

        @Override
        public File getAdbKeysFile() {
            return mDebuggingManager.getUserKeyFile();
            return mDebuggingManager == null ? null : mDebuggingManager.getUserKeyFile();
        }

        @Override
        public File getAdbTempKeysFile() {
            return mDebuggingManager.getAdbTempKeysFile();
            return mDebuggingManager == null ? null : mDebuggingManager.getAdbTempKeysFile();
        }

        @Override
+6 −8
Original line number Diff line number Diff line
@@ -176,9 +176,13 @@ public class TestHarnessModeService extends SystemService {
    private void setUpAdbFiles(PersistentData persistentData) {
        AdbManagerInternal adbManager = LocalServices.getService(AdbManagerInternal.class);

        if (adbManager.getAdbKeysFile() != null) {
            writeBytesToFile(persistentData.mAdbKeys, adbManager.getAdbKeysFile().toPath());
        }
        if (adbManager.getAdbTempKeysFile() != null) {
            writeBytesToFile(persistentData.mAdbTempKeys, adbManager.getAdbTempKeysFile().toPath());
        }
    }

    private void configureUser() {
        UserInfo primaryUser = getPrimaryUser();
@@ -310,12 +314,6 @@ public class TestHarnessModeService extends SystemService {
            AdbManagerInternal adbManager = LocalServices.getService(AdbManagerInternal.class);
            File adbKeys = adbManager.getAdbKeysFile();
            File adbTempKeys = adbManager.getAdbTempKeysFile();
            if (adbKeys == null && adbTempKeys == null) {
                // This should only be accessible on eng builds that haven't yet set up ADB keys
                getErrPrintWriter()
                    .println("No ADB keys stored; not enabling test harness mode");
                return 1;
            }

            try {
                byte[] adbKeysBytes = getBytesFromFile(adbKeys);