libmedia_jni requiresSecureDecoder: throw on error

Bug: 164486735
Test: MediaDrmTest
Change-Id: I2a062e6bd73630621fd022fcb0d640f812a7a8eb
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 4ccbfaf..4f7b711 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -2002,10 +2002,17 @@
         return JNI_FALSE;
     }
 
+    bool required = false;
+    status_t err = OK;
     if (securityLevel == DrmPlugin::kSecurityLevelMax) {
-        return drm->requiresSecureDecoder(mimeType.c_str());
+        err = drm->requiresSecureDecoder(mimeType.c_str(), &required);
+    } else {
+        err = drm->requiresSecureDecoder(mimeType.c_str(), securityLevel, &required);
     }
-    return drm->requiresSecureDecoder(mimeType.c_str(), securityLevel);
+    if (throwExceptionAsNecessary(env, drm, err, "Failed to query secure decoder requirement")) {
+        return false;
+    }
+    return required;
 }
 
 static void android_media_MediaDrm_setPlaybackId(