Merge "Clean up getService()."
diff --git a/Android.bp b/Android.bp
index e97c28c..f9b1e96 100644
--- a/Android.bp
+++ b/Android.bp
@@ -35,6 +35,7 @@
srcs: ["test_main.cpp"],
shared_libs: [
+ "android.hardware.tests.inheritance@1.0",
"libbase",
"libhidlbase",
"libhidltransport",
@@ -45,6 +46,10 @@
],
static_libs: ["libgtest", "libgmock"],
+ required: [
+ "android.hardware.tests.inheritance@1.0-impl",
+ ],
+
cflags: [
"-O0",
"-g",
diff --git a/base/Android.bp b/base/Android.bp
index 4505b5e..22f5ee1 100644
--- a/base/Android.bp
+++ b/base/Android.bp
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-cc_library_shared {
+cc_library {
name: "libhidlbase",
vendor_available: true,
vndk: {
diff --git a/base/include/hidl/HidlSupport.h b/base/include/hidl/HidlSupport.h
index 2be97c2..e60f2f3 100644
--- a/base/include/hidl/HidlSupport.h
+++ b/base/include/hidl/HidlSupport.h
@@ -303,11 +303,11 @@
// destructor
static sp<HidlMemory> getInstance(const hidl_string& name, int fd, uint64_t size);
+ virtual ~HidlMemory();
protected:
HidlMemory() : hidl_memory() {}
HidlMemory(const hidl_string& name, hidl_handle&& handle, size_t size)
: hidl_memory(name, std::move(handle), size) {}
- ~HidlMemory();
HidlMemory& operator=(hidl_memory&& src) {
hidl_memory::operator=(src);
return *this;
diff --git a/test_main.cpp b/test_main.cpp
index 2811612..0de46ec 100644
--- a/test_main.cpp
+++ b/test_main.cpp
@@ -17,12 +17,15 @@
#define LOG_TAG "LibHidlTest"
#include <android-base/logging.h>
-#include <condition_variable>
+#include <android/hardware/tests/inheritance/1.0/IParent.h>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <hidl/HidlSupport.h>
+#include <hidl/ServiceManagement.h>
#include <hidl/Status.h>
#include <hidl/TaskRunner.h>
+#include <condition_variable>
+#include <fstream>
#include <vector>
#define EXPECT_ARRAYEQ(__a1__, __a2__, __size__) EXPECT_TRUE(isArrayEqual(__a1__, __a2__, __size__))
@@ -46,6 +49,17 @@
return true;
}
+bool isLibraryOpen(const std::string& lib) {
+ std::ifstream ifs("/proc/self/maps");
+ for (std::string line; std::getline(ifs, line);) {
+ if (line.size() >= lib.size() && line.substr(line.size() - lib.size()) == lib) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
class LibHidlTest : public ::testing::Test {
public:
virtual void SetUp() override {
@@ -441,7 +455,17 @@
EXPECT_THAT(toString(Status::fromExceptionCode(Status::EX_NULL_POINTER)),
HasSubstr("EX_NULL_POINTER"));
+}
+TEST_F(LibHidlTest, PreloadTest) {
+ using ::android::hardware::preloadPassthroughService;
+ using ::android::hardware::tests::inheritance::V1_0::IParent;
+
+ static const std::string kLib = "android.hardware.tests.inheritance@1.0-impl.so";
+
+ EXPECT_FALSE(isLibraryOpen(kLib));
+ preloadPassthroughService<IParent>();
+ EXPECT_TRUE(isLibraryOpen(kLib));
}
int main(int argc, char **argv) {
diff --git a/transport/Android.bp b/transport/Android.bp
index e09cb4d..f4ca01c 100644
--- a/transport/Android.bp
+++ b/transport/Android.bp
@@ -25,7 +25,12 @@
"token/1.0/utils",
]
-cc_library_shared {
+hidl_package_root {
+ name: "android.hidl",
+ path: "system/libhidl/transport",
+}
+
+cc_library {
name: "libhidltransport",
vendor_available: true,
vndk: {
diff --git a/transport/HidlPassthroughSupport.cpp b/transport/HidlPassthroughSupport.cpp
index e101e27..b79d21c 100644
--- a/transport/HidlPassthroughSupport.cpp
+++ b/transport/HidlPassthroughSupport.cpp
@@ -35,9 +35,12 @@
// interfaceDescriptor fails
return nullptr;
}
- auto func = gBsConstructorMap.get(myDescriptor, nullptr);
+ auto func = getBsConstructorMap().get(myDescriptor, nullptr);
if (!func) {
- return nullptr;
+ func = gBsConstructorMap.get(myDescriptor, nullptr);
+ if (!func) {
+ return nullptr;
+ }
}
sp<IBase> base = func(static_cast<void*>(iface.get()));
@@ -51,4 +54,4 @@
} // namespace details
} // namespace hardware
-} // namespace android
\ No newline at end of file
+} // namespace android
diff --git a/transport/Static.cpp b/transport/Static.cpp
index 784b835..cbe6add 100644
--- a/transport/Static.cpp
+++ b/transport/Static.cpp
@@ -29,16 +29,28 @@
Mutex gDefaultServiceManagerLock;
sp<android::hidl::manager::V1_0::IServiceManager> gDefaultServiceManager;
-ConcurrentMap<std::string, std::function<sp<IBinder>(void *)>>
- gBnConstructorMap{};
+// Deprecated; kept for ABI compatibility. Use getBnConstructorMap.
+BnConstructorMap gBnConstructorMap{};
ConcurrentMap<const ::android::hidl::base::V1_0::IBase*, wp<::android::hardware::BHwBinder>>
gBnMap{};
ConcurrentMap<wp<::android::hidl::base::V1_0::IBase>, SchedPrio> gServicePrioMap{};
-ConcurrentMap<std::string, std::function<sp<::android::hidl::base::V1_0::IBase>(void *)>>
- gBsConstructorMap;
+// Deprecated; kept for ABI compatibility. Use getBsConstructorMap.
+BsConstructorMap gBsConstructorMap{};
+
+// For static executables, it is not guaranteed that gBnConstructorMap are initialized before
+// used in HAL definition libraries.
+BnConstructorMap& getBnConstructorMap() {
+ static BnConstructorMap map{};
+ return map;
+}
+
+BsConstructorMap& getBsConstructorMap() {
+ static BsConstructorMap map{};
+ return map;
+}
} // namespace details
} // namespace hardware
diff --git a/transport/allocator/1.0/Android.bp b/transport/allocator/1.0/Android.bp
index f02d1d1..a3d885a 100644
--- a/transport/allocator/1.0/Android.bp
+++ b/transport/allocator/1.0/Android.bp
@@ -1,141 +1,17 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.allocator@1.0_hal",
- srcs: [
- "IAllocator.hal",
- ],
-}
-
-genrule {
- name: "android.hidl.allocator@1.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.allocator@1.0",
- srcs: [
- ":android.hidl.allocator@1.0_hal",
- ],
- out: [
- "android/hidl/allocator/1.0/AllocatorAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.allocator@1.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.allocator@1.0",
- srcs: [
- ":android.hidl.allocator@1.0_hal",
- ],
- out: [
- "android/hidl/allocator/1.0/IAllocator.h",
- "android/hidl/allocator/1.0/IHwAllocator.h",
- "android/hidl/allocator/1.0/BnHwAllocator.h",
- "android/hidl/allocator/1.0/BpHwAllocator.h",
- "android/hidl/allocator/1.0/BsAllocator.h",
- ],
-}
-
-cc_library {
+hidl_interface {
name: "android.hidl.allocator@1.0",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.allocator@1.0_genc++"],
- generated_headers: ["android.hidl.allocator@1.0_genc++_headers"],
- export_generated_headers: ["android.hidl.allocator@1.0_genc++_headers"],
- vendor_available: true,
+ root: "android.hidl",
vndk: {
enabled: true,
},
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.allocator@1.0-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.allocator@1.0",
srcs: [
- ":android.hidl.allocator@1.0_hal",
+ "IAllocator.hal",
],
- out: [
- "android/hidl/allocator/1.0/AAllocator.cpp",
+ interfaces: [
+ "android.hidl.base@1.0",
],
+ gen_java: false,
}
-genrule {
- name: "android.hidl.allocator@1.0-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.allocator@1.0",
- srcs: [
- ":android.hidl.allocator@1.0_hal",
- ],
- out: [
- "android/hidl/allocator/1.0/AAllocator.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.allocator@1.0-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.allocator@1.0-adapter-helper_genc++"],
- generated_headers: ["android.hidl.allocator@1.0-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.allocator@1.0-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- "android.hidl.allocator@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- "android.hidl.allocator@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
-}
-
-genrule {
- name: "android.hidl.allocator@1.0-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.allocator@1.0",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.allocator@1.0-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.allocator@1.0",
- "android.hidl.allocator@1.0-adapter-helper",
- ],
- generated_sources: ["android.hidl.allocator@1.0-adapter_genc++"],
-}
diff --git a/transport/base/1.0/Android.bp b/transport/base/1.0/Android.bp
index 73ee5cf..bd2ae49 100644
--- a/transport/base/1.0/Android.bp
+++ b/transport/base/1.0/Android.bp
@@ -1,137 +1,19 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.base@1.0_hal",
+hidl_interface {
+ name: "android.hidl.base@1.0",
+ root: "android.hidl",
+ core_interface: true,
+ vndk: {
+ enabled: true,
+ },
srcs: [
"types.hal",
"IBase.hal",
],
+ types: [
+ "DebugInfo",
+ ],
+ gen_java: true,
}
-genrule {
- name: "android.hidl.base@1.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- srcs: [
- ":android.hidl.base@1.0_hal",
- ],
- out: [
- "android/hidl/base/1.0/types.cpp",
- "android/hidl/base/1.0/BaseAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.base@1.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- srcs: [
- ":android.hidl.base@1.0_hal",
- ],
- out: [
- "android/hidl/base/1.0/types.h",
- "android/hidl/base/1.0/hwtypes.h",
- "android/hidl/base/1.0/IBase.h",
- "android/hidl/base/1.0/IHwBase.h",
- "android/hidl/base/1.0/BnHwBase.h",
- "android/hidl/base/1.0/BpHwBase.h",
- "android/hidl/base/1.0/BsBase.h",
- ],
-}
-
-// android.hidl.base@1.0 is exported from libhidltransport
-
-genrule {
- name: "android.hidl.base-V1.0-java_gen_java",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- srcs: [
- ":android.hidl.base@1.0_hal",
- ],
- out: [
- "android/hidl/base/V1_0/DebugInfo.java",
- "android/hidl/base/V1_0/IBase.java",
- ],
-}
-
-java_library {
- name: "android.hidl.base-V1.0-java",
- no_framework_libs: true,
- defaults: ["hidl-java-module-defaults"],
- srcs: [":android.hidl.base-V1.0-java_gen_java"],
- libs: [
- "hwbinder",
- ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.base@1.0-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- srcs: [
- ":android.hidl.base@1.0_hal",
- ],
- out: [
- "android/hidl/base/1.0/ABase.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.base@1.0-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- srcs: [
- ":android.hidl.base@1.0_hal",
- ],
- out: [
- "android/hidl/base/1.0/ABase.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.base@1.0-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.base@1.0-adapter-helper_genc++"],
- generated_headers: ["android.hidl.base@1.0-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.base@1.0-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- ],
-}
-
-genrule {
- name: "android.hidl.base@1.0-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.base@1.0",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.base@1.0-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.base@1.0-adapter-helper",
- ],
- generated_sources: ["android.hidl.base@1.0-adapter_genc++"],
-}
diff --git a/transport/include/hidl/HidlBinderSupport.h b/transport/include/hidl/HidlBinderSupport.h
index fc834b9..09111f4 100644
--- a/transport/include/hidl/HidlBinderSupport.h
+++ b/transport/include/hidl/HidlBinderSupport.h
@@ -330,9 +330,12 @@
sp<IBinder> sBnObj = wBnObj.promote();
if (sBnObj == nullptr) {
- auto func = details::gBnConstructorMap.get(myDescriptor, nullptr);
+ auto func = details::getBnConstructorMap().get(myDescriptor, nullptr);
if (!func) {
- return nullptr;
+ func = details::gBnConstructorMap.get(myDescriptor, nullptr);
+ if (!func) {
+ return nullptr;
+ }
}
sBnObj = sp<IBinder>(func(static_cast<void*>(ifacePtr)));
diff --git a/transport/include/hidl/Static.h b/transport/include/hidl/Static.h
index 63b06fe..0522e44 100644
--- a/transport/include/hidl/Static.h
+++ b/transport/include/hidl/Static.h
@@ -40,18 +40,22 @@
extern ConcurrentMap<const ::android::hidl::base::V1_0::IBase*, wp<::android::hardware::BHwBinder>>
gBnMap;
+using BnConstructorMap = ConcurrentMap<std::string, std::function<sp<IBinder>(void*)>>;
// For HidlBinderSupport and autogenerated code
// value function receives reinterpret_cast<void *>(static_cast<IFoo *>(foo)),
// returns sp<IBinder>
-extern ConcurrentMap<std::string,
- std::function<sp<IBinder>(void *)>> gBnConstructorMap;
+// deprecated; use getBnConstructorMap instead.
+extern BnConstructorMap gBnConstructorMap;
+BnConstructorMap& getBnConstructorMap();
+using BsConstructorMap = ConcurrentMap<std::string,
+ std::function<sp<::android::hidl::base::V1_0::IBase>(void*)>>;
// For HidlPassthroughSupport and autogenerated code
// value function receives reinterpret_cast<void *>(static_cast<IFoo *>(foo)),
// returns sp<IBase>
-extern ConcurrentMap<std::string,
- std::function<sp<::android::hidl::base::V1_0::IBase>(void *)>> gBsConstructorMap;
-
+// deprecated; use getBsConstructorMap instead.
+extern BsConstructorMap gBsConstructorMap;
+BsConstructorMap& getBsConstructorMap();
} // namespace details
} // namespace hardware
} // namespace android
diff --git a/transport/manager/1.0/Android.bp b/transport/manager/1.0/Android.bp
index a0898d7..e4a120b 100644
--- a/transport/manager/1.0/Android.bp
+++ b/transport/manager/1.0/Android.bp
@@ -1,145 +1,19 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.manager@1.0_hal",
+hidl_interface {
+ name: "android.hidl.manager@1.0",
+ root: "android.hidl",
+ core_interface: true,
+ vndk: {
+ enabled: true,
+ },
srcs: [
"IServiceManager.hal",
"IServiceNotification.hal",
],
+ interfaces: [
+ "android.hidl.base@1.0",
+ ],
+ gen_java: true,
}
-genrule {
- name: "android.hidl.manager@1.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- srcs: [
- ":android.hidl.manager@1.0_hal",
- ],
- out: [
- "android/hidl/manager/1.0/ServiceManagerAll.cpp",
- "android/hidl/manager/1.0/ServiceNotificationAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- srcs: [
- ":android.hidl.manager@1.0_hal",
- ],
- out: [
- "android/hidl/manager/1.0/IServiceManager.h",
- "android/hidl/manager/1.0/IHwServiceManager.h",
- "android/hidl/manager/1.0/BnHwServiceManager.h",
- "android/hidl/manager/1.0/BpHwServiceManager.h",
- "android/hidl/manager/1.0/BsServiceManager.h",
- "android/hidl/manager/1.0/IServiceNotification.h",
- "android/hidl/manager/1.0/IHwServiceNotification.h",
- "android/hidl/manager/1.0/BnHwServiceNotification.h",
- "android/hidl/manager/1.0/BpHwServiceNotification.h",
- "android/hidl/manager/1.0/BsServiceNotification.h",
- ],
-}
-
-// android.hidl.manager@1.0 is exported from libhidltransport
-
-genrule {
- name: "android.hidl.manager-V1.0-java_gen_java",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- srcs: [
- ":android.hidl.manager@1.0_hal",
- ],
- out: [
- "android/hidl/manager/V1_0/IServiceManager.java",
- "android/hidl/manager/V1_0/IServiceNotification.java",
- ],
-}
-
-java_library {
- name: "android.hidl.manager-V1.0-java",
- no_framework_libs: true,
- defaults: ["hidl-java-module-defaults"],
- srcs: [":android.hidl.manager-V1.0-java_gen_java"],
- libs: [
- "hwbinder",
- "android.hidl.base-V1.0-java",
- ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.manager@1.0-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- srcs: [
- ":android.hidl.manager@1.0_hal",
- ],
- out: [
- "android/hidl/manager/1.0/AServiceManager.cpp",
- "android/hidl/manager/1.0/AServiceNotification.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.0-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- srcs: [
- ":android.hidl.manager@1.0_hal",
- ],
- out: [
- "android/hidl/manager/1.0/AServiceManager.h",
- "android/hidl/manager/1.0/AServiceNotification.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.manager@1.0-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.manager@1.0-adapter-helper_genc++"],
- generated_headers: ["android.hidl.manager@1.0-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.manager@1.0-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- "android.hidl.base@1.0-adapter-helper",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- "android.hidl.base@1.0-adapter-helper",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.0-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.manager@1.0",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.manager@1.0-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.manager@1.0-adapter-helper",
- ],
- generated_sources: ["android.hidl.manager@1.0-adapter_genc++"],
-}
diff --git a/transport/manager/1.1/Android.bp b/transport/manager/1.1/Android.bp
index 7a4094e..cde68a7 100644
--- a/transport/manager/1.1/Android.bp
+++ b/transport/manager/1.1/Android.bp
@@ -1,138 +1,19 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.manager@1.1_hal",
+hidl_interface {
+ name: "android.hidl.manager@1.1",
+ root: "android.hidl",
+ core_interface: true,
+ vndk: {
+ enabled: true,
+ },
srcs: [
"IServiceManager.hal",
],
+ interfaces: [
+ "android.hidl.base@1.0",
+ "android.hidl.manager@1.0",
+ ],
+ gen_java: true,
}
-genrule {
- name: "android.hidl.manager@1.1_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- srcs: [
- ":android.hidl.manager@1.1_hal",
- ],
- out: [
- "android/hidl/manager/1.1/ServiceManagerAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.1_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- srcs: [
- ":android.hidl.manager@1.1_hal",
- ],
- out: [
- "android/hidl/manager/1.1/IServiceManager.h",
- "android/hidl/manager/1.1/IHwServiceManager.h",
- "android/hidl/manager/1.1/BnHwServiceManager.h",
- "android/hidl/manager/1.1/BpHwServiceManager.h",
- "android/hidl/manager/1.1/BsServiceManager.h",
- ],
-}
-
-// android.hidl.manager@1.1 is exported from libhidltransport
-
-genrule {
- name: "android.hidl.manager-V1.1-java_gen_java",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- srcs: [
- ":android.hidl.manager@1.1_hal",
- ],
- out: [
- "android/hidl/manager/V1_1/IServiceManager.java",
- ],
-}
-
-java_library {
- name: "android.hidl.manager-V1.1-java",
- no_framework_libs: true,
- defaults: ["hidl-java-module-defaults"],
- srcs: [":android.hidl.manager-V1.1-java_gen_java"],
- libs: [
- "hwbinder",
- "android.hidl.base-V1.0-java",
- "android.hidl.manager-V1.0-java",
- ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.manager@1.1-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- srcs: [
- ":android.hidl.manager@1.1_hal",
- ],
- out: [
- "android/hidl/manager/1.1/AServiceManager.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.1-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- srcs: [
- ":android.hidl.manager@1.1_hal",
- ],
- out: [
- "android/hidl/manager/1.1/AServiceManager.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.manager@1.1-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.manager@1.1-adapter-helper_genc++"],
- generated_headers: ["android.hidl.manager@1.1-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.manager@1.1-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- "android.hidl.base@1.0-adapter-helper",
- "android.hidl.manager@1.0-adapter-helper",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- "android.hidl.base@1.0-adapter-helper",
- "android.hidl.manager@1.0-adapter-helper",
- ],
-}
-
-genrule {
- name: "android.hidl.manager@1.1-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.manager@1.1",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.manager@1.1-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.manager@1.1-adapter-helper",
- ],
- generated_sources: ["android.hidl.manager@1.1-adapter_genc++"],
-}
diff --git a/transport/memory/1.0/Android.bp b/transport/memory/1.0/Android.bp
index cf24616..eaa3037 100644
--- a/transport/memory/1.0/Android.bp
+++ b/transport/memory/1.0/Android.bp
@@ -1,151 +1,19 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.memory@1.0_hal",
- srcs: [
- "IMapper.hal",
- "IMemory.hal",
- ],
-}
-
-genrule {
- name: "android.hidl.memory@1.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.memory@1.0",
- srcs: [
- ":android.hidl.memory@1.0_hal",
- ],
- out: [
- "android/hidl/memory/1.0/MapperAll.cpp",
- "android/hidl/memory/1.0/MemoryAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.memory@1.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.memory@1.0",
- srcs: [
- ":android.hidl.memory@1.0_hal",
- ],
- out: [
- "android/hidl/memory/1.0/IMapper.h",
- "android/hidl/memory/1.0/IHwMapper.h",
- "android/hidl/memory/1.0/BnHwMapper.h",
- "android/hidl/memory/1.0/BpHwMapper.h",
- "android/hidl/memory/1.0/BsMapper.h",
- "android/hidl/memory/1.0/IMemory.h",
- "android/hidl/memory/1.0/IHwMemory.h",
- "android/hidl/memory/1.0/BnHwMemory.h",
- "android/hidl/memory/1.0/BpHwMemory.h",
- "android/hidl/memory/1.0/BsMemory.h",
- ],
-}
-
-cc_library {
+hidl_interface {
name: "android.hidl.memory@1.0",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.memory@1.0_genc++"],
- generated_headers: ["android.hidl.memory@1.0_genc++_headers"],
- export_generated_headers: ["android.hidl.memory@1.0_genc++_headers"],
- vendor_available: true,
+ root: "android.hidl",
vndk: {
enabled: true,
support_system_process: true,
},
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.memory@1.0-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.memory@1.0",
srcs: [
- ":android.hidl.memory@1.0_hal",
+ "IMapper.hal",
+ "IMemory.hal",
],
- out: [
- "android/hidl/memory/1.0/AMapper.cpp",
- "android/hidl/memory/1.0/AMemory.cpp",
+ interfaces: [
+ "android.hidl.base@1.0",
],
+ gen_java: false,
}
-genrule {
- name: "android.hidl.memory@1.0-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.memory@1.0",
- srcs: [
- ":android.hidl.memory@1.0_hal",
- ],
- out: [
- "android/hidl/memory/1.0/AMapper.h",
- "android/hidl/memory/1.0/AMemory.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.memory@1.0-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.memory@1.0-adapter-helper_genc++"],
- generated_headers: ["android.hidl.memory@1.0-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.memory@1.0-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- "android.hidl.memory@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- "android.hidl.memory@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
-}
-
-genrule {
- name: "android.hidl.memory@1.0-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.memory@1.0",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.memory@1.0-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.memory@1.0",
- "android.hidl.memory@1.0-adapter-helper",
- ],
- generated_sources: ["android.hidl.memory@1.0-adapter_genc++"],
-}
diff --git a/transport/token/1.0/Android.bp b/transport/token/1.0/Android.bp
index 1bc6d97..c0988cb 100644
--- a/transport/token/1.0/Android.bp
+++ b/transport/token/1.0/Android.bp
@@ -1,162 +1,17 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
-filegroup {
- name: "android.hidl.token@1.0_hal",
- srcs: [
- "ITokenManager.hal",
- ],
-}
-
-genrule {
- name: "android.hidl.token@1.0_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
- srcs: [
- ":android.hidl.token@1.0_hal",
- ],
- out: [
- "android/hidl/token/1.0/TokenManagerAll.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.token@1.0_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
- srcs: [
- ":android.hidl.token@1.0_hal",
- ],
- out: [
- "android/hidl/token/1.0/ITokenManager.h",
- "android/hidl/token/1.0/IHwTokenManager.h",
- "android/hidl/token/1.0/BnHwTokenManager.h",
- "android/hidl/token/1.0/BpHwTokenManager.h",
- "android/hidl/token/1.0/BsTokenManager.h",
- ],
-}
-
-cc_library {
+hidl_interface {
name: "android.hidl.token@1.0",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.token@1.0_genc++"],
- generated_headers: ["android.hidl.token@1.0_genc++_headers"],
- export_generated_headers: ["android.hidl.token@1.0_genc++_headers"],
- vendor_available: true,
+ root: "android.hidl",
vndk: {
enabled: true,
},
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- ],
-}
-
-genrule {
- name: "android.hidl.token-V1.0-java_gen_java",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
srcs: [
- ":android.hidl.token@1.0_hal",
+ "ITokenManager.hal",
],
- out: [
- "android/hidl/token/V1_0/ITokenManager.java",
+ interfaces: [
+ "android.hidl.base@1.0",
],
+ gen_java: true,
}
-java_library {
- name: "android.hidl.token-V1.0-java",
- no_framework_libs: true,
- defaults: ["hidl-java-module-defaults"],
- srcs: [":android.hidl.token-V1.0-java_gen_java"],
- libs: [
- "hwbinder",
- "android.hidl.base-V1.0-java",
- ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
- name: "android.hidl.token@1.0-adapter-helper_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
- srcs: [
- ":android.hidl.token@1.0_hal",
- ],
- out: [
- "android/hidl/token/1.0/ATokenManager.cpp",
- ],
-}
-
-genrule {
- name: "android.hidl.token@1.0-adapter-helper_genc++_headers",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
- srcs: [
- ":android.hidl.token@1.0_hal",
- ],
- out: [
- "android/hidl/token/1.0/ATokenManager.h",
- ],
-}
-
-cc_library {
- name: "android.hidl.token@1.0-adapter-helper",
- defaults: ["hidl-module-defaults"],
- generated_sources: ["android.hidl.token@1.0-adapter-helper_genc++"],
- generated_headers: ["android.hidl.token@1.0-adapter-helper_genc++_headers"],
- export_generated_headers: ["android.hidl.token@1.0-adapter-helper_genc++_headers"],
- vendor_available: true,
- shared_libs: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "liblog",
- "libutils",
- "libcutils",
- "libhidladapter",
- "android.hidl.token@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
- export_shared_lib_headers: [
- "libhidlbase",
- "libhidltransport",
- "libhwbinder",
- "libutils",
- "libhidladapter",
- "android.hidl.token@1.0",
- "android.hidl.base@1.0-adapter-helper",
- ],
-}
-
-genrule {
- name: "android.hidl.token@1.0-adapter_genc++",
- tools: ["hidl-gen"],
- cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hidl:system/libhidl/transport android.hidl.token@1.0",
- out: ["main.cpp"]
-}
-
-cc_test {
- name: "android.hidl.token@1.0-adapter",
- defaults: ["hidl-module-defaults"],
- shared_libs: [
- "libhidladapter",
- "libhidlbase",
- "libhidltransport",
- "libutils",
- "android.hidl.token@1.0",
- "android.hidl.token@1.0-adapter-helper",
- ],
- generated_sources: ["android.hidl.token@1.0-adapter_genc++"],
-}