Revert "Squashed import of adb root patches"

This reverts commit 124a88288f50cdb0802c6747510d7c0a11a34306.

Change-Id: Ie4974e0de4af2f7566378da8e0a6d0e5c635e4f8
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
diff --git a/Android.bp b/Android.bp
index 0a808e9..c44423f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -615,26 +615,18 @@
                 "daemon/restart_service.cpp",
             ],
             shared_libs: [
-                "libbinder_ndk",
                 "libmdnssd",
                 "libselinux",
             ],
-            static_libs: [
-                "adbroot_aidl_interface-ndk",
-            ],
         },
         recovery: {
             exclude_srcs: [
                 "daemon/abb_service.cpp",
             ],
             exclude_shared_libs: [
-                "libbinder_ndk",
                 "libadb_pairing_auth",
                 "libadb_pairing_connection",
             ],
-            exclude_static_libs: [
-                "adbroot_aidl_interface-ndk",
-            ],
         },
     },
 
@@ -744,25 +736,10 @@
     ],
 
     target: {
-        android: {
-            shared_libs: [
-                "libbinder_ndk",
-            ],
-
-            static_libs: [
-                "adbroot_aidl_interface-ndk",
-            ],
-        },
-
         recovery: {
             exclude_shared_libs: [
                 "libadb_pairing_auth",
                 "libadb_pairing_connection",
-                "libbinder_ndk",
-            ],
-
-            exclude_static_libs: [
-                "adbroot_aidl_interface-ndk",
             ],
         }
     },
@@ -790,27 +767,6 @@
 }
 
 cc_binary {
-    name: "adb_root",
-    srcs: [
-        "root/adbroot_service.cpp",
-        "root/main.cpp",
-    ],
-    init_rc: [
-        "root/adb_root.rc",
-    ],
-    shared_libs: [
-        "libbase",
-        "libbinder_ndk",
-        "liblog",
-        "libutils",
-    ],
-    static_libs: [
-        "adbroot_aidl_interface-ndk",
-    ],
-    system_ext_specific: true,
-}
-
-cc_binary {
     name: "abb",
 
     defaults: ["adbd_defaults"],
@@ -1029,34 +985,3 @@
         "fastdeploy/testdata/sample.cd",
     ],
 }
-
-aidl_interface {
-    name: "adbroot_aidl_interface",
-    unstable: true,
-    local_include_dir: "aidl",
-    srcs: [
-        "aidl/android/adbroot/IADBRootService.aidl",
-    ],
-    backend: {
-        cpp: {
-            enabled: false,
-        },
-        java: {
-            enabled: false,
-        },
-        ndk: {
-            apex_available: [
-                "//apex_available:platform",
-                "com.android.adbd",
-            ],
-            min_sdk_version: "30",
-        },
-    },
-}
-
-filegroup {
-    name: "adbrootservice_aidl",
-    srcs: [
-        "aidl/android/adbroot/IADBRootService.aidl",
-    ],
-}
diff --git a/aidl/android/adbroot/IADBRootService.aidl b/aidl/android/adbroot/IADBRootService.aidl
deleted file mode 100644
index 1a07efb..0000000
--- a/aidl/android/adbroot/IADBRootService.aidl
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.adbroot;
-
-/** {@hide} */
-interface IADBRootService {
-    boolean isSupported();
-    void setEnabled(boolean enabled);
-    boolean getEnabled();
-}
diff --git a/daemon/restart_service.cpp b/daemon/restart_service.cpp
index c942c1f..16d2627 100644
--- a/daemon/restart_service.cpp
+++ b/daemon/restart_service.cpp
@@ -16,11 +16,6 @@
 
 #define TRACE_TAG SERVICES
 
-#if defined(__ANDROID__) && !defined(__ANDROID_RECOVERY__)
-#include <aidl/android/adbroot/IADBRootService.h>
-#include <android/binder_manager.h>
-#endif
-
 #include "sysdeps.h"
 
 #include <unistd.h>
@@ -38,33 +33,10 @@
         WriteFdExactly(fd.get(), "adbd is already running as root\n");
         return;
     }
-
-#if defined(__ANDROID__) && !defined(__ANDROID_RECOVERY__)
-    ndk::SpAIBinder binder = ndk::SpAIBinder(AServiceManager_getService("adbroot_service"));
-    std::shared_ptr<aidl::android::adbroot::IADBRootService> service =
-            aidl::android::adbroot::IADBRootService::fromBinder(binder);
-    if (!service) {
-        LOG(ERROR) << "Failed to get adbroot_service interface";
-        return;
-    }
-#endif
-
-#if defined(__ANDROID__) && !defined(__ANDROID_RECOVERY__)
-    bool enabled = false;
-    if (auto status = service->getEnabled(&enabled); !status.isOk()) {
-#endif
     if (!__android_log_is_debuggable()) {
         WriteFdExactly(fd.get(), "adbd cannot run as root in production builds\n");
         return;
     }
-#if defined(__ANDROID__) && !defined(__ANDROID_RECOVERY__)
-    }
-    if (!enabled) {
-        WriteFdExactly(fd, "ADB Root access is disabled by system setting - "
-                "enable in Settings -> System -> Developer options\n");
-        return;
-    }
-#endif
 
     LOG(INFO) << "adbd restarting as root";
     android::base::SetProperty("service.adb.root", "1");
diff --git a/root/adb_root.rc b/root/adb_root.rc
deleted file mode 100644
index 8c65c0b..0000000
--- a/root/adb_root.rc
+++ /dev/null
@@ -1,7 +0,0 @@
-service adb_root /system_ext/bin/adb_root
-    class main
-    user root
-    group root
-
-on post-fs-data
-    mkdir /data/adbroot 0700 root root
diff --git a/root/adbroot_service.cpp b/root/adbroot_service.cpp
deleted file mode 100644
index 710a521..0000000
--- a/root/adbroot_service.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <android/binder_manager.h>
-#include <android-base/file.h>
-#include <android-base/logging.h>
-#include <android-base/properties.h>
-#include <android-base/strings.h>
-#include <private/android_filesystem_config.h>
-
-#include "adbroot_service.h"
-
-namespace {
-const std::string kStoragePath = "/data/adbroot/";
-const std::string kEnabled = "enabled";
-
-static ndk::ScopedAStatus SecurityException(const std::string& msg) {
-    LOG(ERROR) << msg;
-    return ndk::ScopedAStatus(AStatus_fromExceptionCodeWithMessage(EX_SECURITY, msg.c_str()));
-}
-}  // anonymous namespace
-
-namespace aidl {
-namespace android {
-namespace adbroot {
-
-using ::android::AutoMutex;
-using ::android::base::ReadFileToString;
-using ::android::base::SetProperty;
-using ::android::base::Trim;
-using ::android::base::WriteStringToFile;
-
-ADBRootService::ADBRootService() : enabled_(false) {
-    std::string buf;
-    if (ReadFileToString(kStoragePath + kEnabled, &buf)) {
-        enabled_ = Trim(buf) == "1";
-    }
-}
-
-void ADBRootService::Register() {
-    auto service = ndk::SharedRefBase::make<ADBRootService>();
-    binder_status_t status = AServiceManager_addService(
-            service->asBinder().get(), getServiceName());
-
-    if (status != STATUS_OK) {
-        LOG(FATAL) << "Could not register adbroot service: " << status;
-    }
-}
-
-ndk::ScopedAStatus ADBRootService::isSupported(bool* _aidl_return) {
-    uid_t uid = AIBinder_getCallingUid();
-    if (uid != AID_SYSTEM && uid != AID_SHELL) {
-        return SecurityException("Caller must be system or shell");
-    }
-
-    AutoMutex _l(lock_);
-    *_aidl_return = __android_log_is_debuggable();
-    return ndk::ScopedAStatus::ok();
-}
-
-ndk::ScopedAStatus ADBRootService::setEnabled(bool enabled) {
-    uid_t uid = AIBinder_getCallingUid();
-    if (uid != AID_SYSTEM) {
-        return SecurityException("Caller must be system");
-    }
-
-    AutoMutex _l(lock_);
-
-    if (enabled_ != enabled) {
-        enabled_ = enabled;
-        WriteStringToFile(std::to_string(enabled), kStoragePath + kEnabled);
-
-        // Turning off adb root, restart adbd.
-        if (!enabled) {
-            SetProperty("service.adb.root", "0");
-            SetProperty("ctl.restart", "adbd");
-        }
-    }
-
-    return ndk::ScopedAStatus::ok();
-}
-
-ndk::ScopedAStatus ADBRootService::getEnabled(bool* _aidl_return) {
-    uid_t uid = AIBinder_getCallingUid();
-    if (uid != AID_SYSTEM && uid != AID_SHELL) {
-        return SecurityException("Caller must be system or shell");
-    }
-
-    AutoMutex _l(lock_);
-    *_aidl_return = enabled_;
-    return ndk::ScopedAStatus::ok();
-}
-
-}  // namespace adbroot
-}  // namespace android
-}  // namespace aidl
diff --git a/root/adbroot_service.h b/root/adbroot_service.h
deleted file mode 100644
index 9881542..0000000
--- a/root/adbroot_service.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <aidl/android/adbroot/BnADBRootService.h>
-#include <android/binder_status.h>
-#include <log/log_properties.h>
-#include <utils/Mutex.h>
-
-namespace aidl {
-namespace android {
-namespace adbroot {
-
-using ::android::Mutex;
-
-class ADBRootService : public BnADBRootService {
-  public:
-    ADBRootService();
-
-    static void Register();
-
-    ndk::ScopedAStatus isSupported(bool* _aidl_return) override;
-    ndk::ScopedAStatus setEnabled(bool enabled) override;
-    ndk::ScopedAStatus getEnabled(bool* _aidl_return) override;
-
-    static char const* getServiceName() { return "adbroot_service"; }
-  private:
-    bool enabled_;
-    Mutex lock_;
-};
-
-}  // namespace adbroot
-}  // namespace android
-}  // namespace aidl
diff --git a/root/main.cpp b/root/main.cpp
deleted file mode 100644
index 7de0945..0000000
--- a/root/main.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-// Copyright (C) 2019 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <android/binder_process.h>
-#include <android-base/logging.h>
-
-#include "adbroot_service.h"
-
-int main(int /* argc */, char** argv) {
-    android::base::InitLogging(argv, android::base::LogdLogger(android::base::SYSTEM));
-
-    aidl::android::adbroot::ADBRootService::Register();
-
-    ABinderProcess_startThreadPool();
-    ABinderProcess_joinThreadPool();
-
-    return 0;
-}