Fix several bugs from cts test through aidl clearkey
* handle error code in DrmHalAidl and CryptoHalAidl
* clearkey aidl getKeyRequest defaultUrl
Test: atest CtsMediaDrmTestCases
Bug: 206804036
Change-Id: I038c6d92df8b222ab69aa48c4b994c8c9516c711
diff --git a/drm/libmediadrm/interface/mediadrm/DrmUtils.h b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
index 5679cfd..0368e43 100644
--- a/drm/libmediadrm/interface/mediadrm/DrmUtils.h
+++ b/drm/libmediadrm/interface/mediadrm/DrmUtils.h
@@ -186,8 +186,10 @@
return toStatusT_1_4(err);
}
-inline status_t toStatusTAidl(int32_t serviceError) {
- auto status = static_cast<StatusAidl>(serviceError);
+inline status_t statusAidlToStatusT(::ndk::ScopedAStatus &statusAidl) {
+ if (statusAidl.isOk()) return OK;
+ if (statusAidl.getExceptionCode() != EX_SERVICE_SPECIFIC) return DEAD_OBJECT;
+ auto status = static_cast<StatusAidl>(statusAidl.getServiceSpecificError());
switch (status) {
case StatusAidl::OK:
return OK;