Merge "Remove liblog usage in MQDescriptor.h"
diff --git a/base/HidlSupport.cpp b/base/HidlSupport.cpp
index 547f7e7..e97797d 100644
--- a/base/HidlSupport.cpp
+++ b/base/HidlSupport.cpp
@@ -30,26 +30,13 @@
vintf::Transport getTransportFromManifest(
const FQName &fqName, const std::string &instanceName,
- const std::string &manifestName,
const vintf::HalManifest *vm) {
if (vm == nullptr) {
- LOG(WARNING) << "getTransportFromManifest: No " << manifestName << " manifest defined, "
- << "using default transport for " << fqName.string();
return vintf::Transport::EMPTY;
}
- vintf::Transport tr = vm->getTransport(fqName.package(),
+ return vm->getTransport(fqName.package(),
vintf::Version{fqName.getPackageMajorVersion(), fqName.getPackageMinorVersion()},
fqName.name(), instanceName);
- if (tr == vintf::Transport::EMPTY) {
- LOG(WARNING) << "getTransportFromManifest: Cannot find entry "
- << fqName.string()
- << " in " << manifestName << " manifest, using default transport.";
- } else {
- LOG(DEBUG) << "getTransportFromManifest: " << fqName.string()
- << " declares transport method " << to_string(tr)
- << " in " << manifestName << " manifest";
- }
- return tr;
}
vintf::Transport getTransport(const std::string &interfaceName, const std::string &instanceName) {
@@ -68,13 +55,22 @@
<< " does not specify an interface name. Using default transport.";
return vintf::Transport::EMPTY;
}
- // TODO(b/34772739): modify the list if other packages are added to system/manifest.xml
- if (fqName.inPackage("android.hidl")) {
- return getTransportFromManifest(fqName, instanceName, "framework",
- vintf::VintfObject::GetFrameworkHalManifest());
+
+ vintf::Transport tr = getTransportFromManifest(fqName, instanceName,
+ vintf::VintfObject::GetFrameworkHalManifest());
+ if (tr != vintf::Transport::EMPTY) {
+ return tr;
}
- return getTransportFromManifest(fqName, instanceName, "device",
+ tr = getTransportFromManifest(fqName, instanceName,
vintf::VintfObject::GetDeviceHalManifest());
+ if (tr != vintf::Transport::EMPTY) {
+ return tr;
+ }
+
+ LOG(WARNING) << "getTransportFromManifest: Cannot find entry "
+ << fqName.string()
+ << " in either framework or device manifest, using default transport.";
+ return vintf::Transport::EMPTY;
}
namespace details {
diff --git a/manifest.xml b/manifest.xml
index 02cd8a1..8f80d90 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -1,5 +1,3 @@
-<!-- TODO(b/35434793): move to frameworks/interfaces -->
-
<manifest version="1.0">
<hal>
<name>android.hidl.manager</name>
diff --git a/transport/memory/1.0/IMemory.hal b/transport/memory/1.0/IMemory.hal
index 66f37b3..14dcfb1 100644
--- a/transport/memory/1.0/IMemory.hal
+++ b/transport/memory/1.0/IMemory.hal
@@ -34,7 +34,20 @@
updateRange(uint64_t start, uint64_t length);
/**
- * Notify that you are done modifying this memory.
+ * Notify that you are about to start reading all of this memory.
+ */
+ read();
+
+ /**
+ * Notify that you are about to read the specific range.
+ *
+ * @param start Offset from start of buffer about to be read.
+ * @param length Number of bytes to be read.
+ */
+ readRange(uint64_t start, uint64_t length);
+
+ /**
+ * Notify that you are done reading and/or writing this memory.
*
* Must commit all previous update's and updateAll's.
*/
diff --git a/transport/memory/1.0/default/AshmemMemory.cpp b/transport/memory/1.0/default/AshmemMemory.cpp
index 912b724..0729608 100644
--- a/transport/memory/1.0/default/AshmemMemory.cpp
+++ b/transport/memory/1.0/default/AshmemMemory.cpp
@@ -46,6 +46,16 @@
return Void();
}
+Return<void> AshmemMemory::read() {
+ // NOOP (since non-remoted memory)
+ return Void();
+}
+
+Return<void> AshmemMemory::readRange(uint64_t /* start */, uint64_t /* length */) {
+ // NOOP (since non-remoted memory)
+ return Void();
+}
+
Return<void> AshmemMemory::commit() {
// NOOP (since non-remoted memory)
return Void();
diff --git a/transport/memory/1.0/default/AshmemMemory.h b/transport/memory/1.0/default/AshmemMemory.h
index 825d74e..cf2d543 100644
--- a/transport/memory/1.0/default/AshmemMemory.h
+++ b/transport/memory/1.0/default/AshmemMemory.h
@@ -44,6 +44,8 @@
// Methods from ::android::hidl::memory::V1_0::IMemory follow.
Return<void> update() override;
Return<void> updateRange(uint64_t start, uint64_t length) override;
+ Return<void> read() override;
+ Return<void> readRange(uint64_t start, uint64_t length) override;
Return<void> commit() override;
Return<void*> getPointer() override;
Return<uint64_t> getSize() override;