VintfObject::checkCompatibility loads XMLs from the device correctly.

- 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

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
5 files changed