Coordinator compares package paths by component.
Previously the package path "android.h" could match "android.hardware".
Also added a check for if multiple package roots match a single fqName.
Bug: 34325813
Test: build hidl_test, build tests@vendor@1.0
Change-Id: I9973373ba8b3bb30e04000a076d4563d08eab300
diff --git a/utils/FQName.cpp b/utils/FQName.cpp
index 1aad6f0..79d16a1 100644
--- a/utils/FQName.cpp
+++ b/utils/FQName.cpp
@@ -479,5 +479,25 @@
return false;
}
+bool FQName::inPackage(const std::string &package) const {
+ std::vector<std::string> components;
+ getPackageComponents(&components);
+
+ std::vector<std::string> inComponents;
+ StringHelper::SplitString(package, '.', &inComponents);
+
+ if (inComponents.size() > components.size()) {
+ return false;
+ }
+
+ for (size_t i = 0; i < inComponents.size(); i++) {
+ if (inComponents[i] != components[i]) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
} // namespace android