Fix hidl return checks

Some drm HAL methods were not properly checking
their hidl Return<Status> values which would cause
aborts in some cases. This CL adds checks as needed

Test: GTS media tests
bug:73500808
Change-Id: I47ae0f82d4e614b1e78923ed48fbe4c024df5d71
diff --git a/drm/libmediadrm/DrmHal.cpp b/drm/libmediadrm/DrmHal.cpp
index 068a52b..385c596 100644
--- a/drm/libmediadrm/DrmHal.cpp
+++ b/drm/libmediadrm/DrmHal.cpp
@@ -771,7 +771,8 @@
     Mutex::Autolock autoLock(mLock);
     INIT_CHECK();
 
-    return toStatusT(mPlugin->removeKeys(toHidlVec(keySetId)));
+    Return<Status> status = mPlugin->removeKeys(toHidlVec(keySetId));
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::restoreKeys(Vector<uint8_t> const &sessionId,
@@ -781,8 +782,9 @@
 
     DrmSessionManager::Instance()->useSession(sessionId);
 
-    return toStatusT(mPlugin->restoreKeys(toHidlVec(sessionId),
-                    toHidlVec(keySetId)));
+    Return<Status> status = mPlugin->restoreKeys(toHidlVec(sessionId),
+            toHidlVec(keySetId));
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::queryKeyStatus(Vector<uint8_t> const &sessionId,
@@ -923,13 +925,15 @@
     Mutex::Autolock autoLock(mLock);
     INIT_CHECK();
 
+    Return<Status> status(Status::ERROR_DRM_UNKNOWN);
     if (mPluginV1_1 != NULL) {
         SecureStopRelease secureStopRelease;
         secureStopRelease.opaqueData = toHidlVec(ssRelease);
-        return toStatusT(mPluginV1_1->releaseSecureStops(secureStopRelease));
+        status = mPluginV1_1->releaseSecureStops(secureStopRelease);
+    } else {
+        status = mPlugin->releaseSecureStop(toHidlVec(ssRelease));
     }
-
-    return toStatusT(mPlugin->releaseSecureStop(toHidlVec(ssRelease)));
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::removeSecureStop(Vector<uint8_t> const &ssid) {
@@ -943,17 +947,21 @@
         return ERROR_DRM_CANNOT_HANDLE;
     }
 
-    return toStatusT(mPluginV1_1->removeSecureStop(toHidlVec(ssid)));
+    Return<Status> status = mPluginV1_1->removeSecureStop(toHidlVec(ssid));
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::removeAllSecureStops() {
     Mutex::Autolock autoLock(mLock);
     INIT_CHECK();
 
+    Return<Status> status(Status::ERROR_DRM_UNKNOWN);
     if (mPluginV1_1 != NULL) {
-        return toStatusT(mPluginV1_1->removeAllSecureStops());
+        status = mPluginV1_1->removeAllSecureStops();
+    } else {
+        status = mPlugin->releaseAllSecureStops();
     }
-    return toStatusT(mPlugin->releaseAllSecureStops());
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::getHdcpLevels(DrmPlugin::HdcpLevel *connected,
@@ -1099,9 +1107,9 @@
     Mutex::Autolock autoLock(mLock);
     INIT_CHECK();
 
-    Status status = mPlugin->setPropertyString(toHidlString(name),
+    Return<Status> status = mPlugin->setPropertyString(toHidlString(name),
             toHidlString(value));
-    return toStatusT(status);
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::setPropertyByteArray(String8 const &name,
@@ -1109,9 +1117,9 @@
     Mutex::Autolock autoLock(mLock);
     INIT_CHECK();
 
-    Status status = mPlugin->setPropertyByteArray(toHidlString(name),
+    Return<Status> status = mPlugin->setPropertyByteArray(toHidlString(name),
             toHidlVec(value));
-    return toStatusT(status);
+    return status.isOk() ? toStatusT(status) : DEAD_OBJECT;
 }
 
 status_t DrmHal::getMetrics(PersistableBundle* item) {