VintfObject::checkCompatibility loads XMLs from the device correctly.

Previously:
- When getFrameworkCompatibilityMatrix() is called, the Target FCM version
is always loaded from the device, but not from the update package.
This can potentially break a vendor-only OTA that updates the Target FCM
version, because the FCM from device isn't loaded with the correct Target FCM
version.

In this CL, I refactored checkCompatibility logic so that the
VintfObjectAfterUpdate object applies the updated VINTF metadata as an
overlay on top of the original VintfObject.

Test: vintf_object_test
Test: manual OTA
Bug: 118635062
Change-Id: Ib04ba09d4a07c8e5d1e4ac64194e956b37e1f76f
diff --git a/check_vintf.cpp b/check_vintf.cpp
index 48d0bb4..ef54e21 100644
--- a/check_vintf.cpp
+++ b/check_vintf.cpp
@@ -224,8 +224,7 @@
     hostPropertyFetcher->setProperties(props);
     VintfObject vintfObject(std::make_unique<HostFileSystem>(rootdir),
                             nullptr /* runtime info factory */, std::move(hostPropertyFetcher));
-    return vintfObject.checkCompatibility({} /* packageInfo */, error,
-                                          CheckFlags::DISABLE_RUNTIME_INFO);
+    return vintfObject.checkCompatibility(error, CheckFlags::DISABLE_RUNTIME_INFO);
 }
 
 }  // namespace details