HalManifest::checkIncompatibleHals uses instances API.

Now that <hal> is not the smallest unit of a manifest,
the compatibility check logic is updated accordingly.

Test: libvintf_test
Test: vintf_object_test
Bug: 73556059

Change-Id: Ief73afc61bace0dcc3d02410c16c7e261fa63315
diff --git a/MatrixInstance.cpp b/MatrixInstance.cpp
index e411fe2..0ac3681 100644
--- a/MatrixInstance.cpp
+++ b/MatrixInstance.cpp
@@ -58,5 +58,11 @@
     return mOptional;
 }
 
+bool MatrixInstance::isSatisfiedBy(const FqInstance& provided) const {
+    return package() == provided.getPackage() &&
+           versionRange().supportedBy(provided.getVersion()) &&
+           interface() == provided.getInterface() && instance() == provided.getInstance();
+}
+
 }  // namespace vintf
 }  // namespace android