diff --git a/Tethering/Android.bp b/Tethering/Android.bp index 19bcff9a49..e84573ba8e 100644 --- a/Tethering/Android.bp +++ b/Tethering/Android.bp @@ -126,7 +126,7 @@ android_library { // Due to b/143733063, APK can't access a jni lib that is in APEX (but not in the APK). cc_library { name: "libcom_android_networkstack_tethering_util_jni", - sdk_version: "30", + sdk_version: "current", apex_available: [ "com.android.tethering", ], diff --git a/staticlibs/native/bpfmapjni/Android.bp b/staticlibs/native/bpfmapjni/Android.bp index 7e6b4ec452..969ebd42bd 100644 --- a/staticlibs/native/bpfmapjni/Android.bp +++ b/staticlibs/native/bpfmapjni/Android.bp @@ -39,7 +39,7 @@ cc_library_static { "-Werror", "-Wno-unused-parameter", ], - sdk_version: "30", + sdk_version: "current", min_sdk_version: "30", apex_available: [ "com.android.tethering", diff --git a/staticlibs/native/tcutils/Android.bp b/staticlibs/native/tcutils/Android.bp index 926590d24a..e4742ce568 100644 --- a/staticlibs/native/tcutils/Android.bp +++ b/staticlibs/native/tcutils/Android.bp @@ -21,7 +21,10 @@ cc_library_static { name: "libtcutils", srcs: ["tcutils.cpp"], export_include_dirs: ["include"], - header_libs: ["bpf_headers"], + header_libs: [ + "bpf_headers", + "libbase_headers", + ], shared_libs: [ "liblog", ], @@ -31,7 +34,7 @@ cc_library_static { "-Werror", "-Wno-unused-parameter", ], - sdk_version: "30", + sdk_version: "current", min_sdk_version: "30", apex_available: [ "com.android.tethering", diff --git a/staticlibs/native/tcutils/scopeguard.h b/staticlibs/native/tcutils/scopeguard.h deleted file mode 100644 index 76bbb93a25..0000000000 --- a/staticlibs/native/tcutils/scopeguard.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2022 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. - */ - -// ----------------------------------------------------------------------------- -// TODO: figure out a way to use libbase_ndk. This is currently not working -// because of missing apex availability. For now, we can use a copy of -// ScopeGuard which is very lean compared to unique_fd. This code has been -// copied verbatim from: -// https://cs.android.com/android/platform/superproject/+/master:system/libbase/include/android-base/scopeguard.h - -#pragma once - -#include // for std::move, std::forward - -namespace android { -namespace base { - -// ScopeGuard ensures that the specified functor is executed no matter how the -// current scope exits. -template class ScopeGuard { -public: - ScopeGuard(F &&f) : f_(std::forward(f)), active_(true) {} - - ScopeGuard(ScopeGuard &&that) noexcept - : f_(std::move(that.f_)), active_(that.active_) { - that.active_ = false; - } - - template - ScopeGuard(ScopeGuard &&that) - : f_(std::move(that.f_)), active_(that.active_) { - that.active_ = false; - } - - ~ScopeGuard() { - if (active_) - f_(); - } - - ScopeGuard() = delete; - ScopeGuard(const ScopeGuard &) = delete; - void operator=(const ScopeGuard &) = delete; - void operator=(ScopeGuard &&that) = delete; - - void Disable() { active_ = false; } - - bool active() const { return active_; } - -private: - template friend class ScopeGuard; - - F f_; - bool active_; -}; - -template ScopeGuard make_scope_guard(F &&f) { - return ScopeGuard(std::forward(f)); -} - -} // namespace base -} // namespace android diff --git a/staticlibs/native/tcutils/tcutils.cpp b/staticlibs/native/tcutils/tcutils.cpp index c82390fae5..db0dd150da 100644 --- a/staticlibs/native/tcutils/tcutils.cpp +++ b/staticlibs/native/tcutils/tcutils.cpp @@ -20,8 +20,8 @@ #include "logging.h" #include "bpf/KernelUtils.h" -#include "scopeguard.h" +#include #include #include #include