Revert "Revert "Check unused HALs on device with target FCM vers..."

Revert^2 "Add no unused hals test"

b2ce948037e3957f5a9c0f60b230d10cfa296664

Bug: 131717099

Change-Id: I6ce2e958151821270a1a5399893325852906cb52
diff --git a/check_vintf.cpp b/check_vintf.cpp
index 17e32df..f2a239a 100644
--- a/check_vintf.cpp
+++ b/check_vintf.cpp
@@ -374,7 +374,12 @@
     if (!hasFcmExt.has_value()) {
         return hasFcmExt.error();
     }
-    if (*hasFcmExt) {
+    auto deviceManifest = vintfObject->getDeviceHalManifest();
+    if (deviceManifest == nullptr) {
+        return android::base::Error(-NAME_NOT_FOUND) << "No device HAL manifest";
+    }
+    auto targetFcm = deviceManifest->level();
+    if (*hasFcmExt || (targetFcm != Level::UNSPECIFIED && targetFcm >= Level::R)) {
         return vintfObject->checkUnusedHals();
     }
     LOG(INFO) << "Skip checking unused HALs.";