diff --git a/libwvdrmengine/Android.bp b/libwvdrmengine/Android.bp index 61f19dcf..4f44b613 100644 --- a/libwvdrmengine/Android.bp +++ b/libwvdrmengine/Android.bp @@ -128,6 +128,7 @@ cc_defaults { "libwvdrmcryptoplugin_aidl", "libwvdrmdrmplugin_aidl", "libwvlevel3", + "lib_apex_manifest_minimal_proto_lite", ], stl: "c++_static", @@ -152,10 +153,6 @@ cc_binary { shared_libs: [ "libbinder_ndk", ], - static_libs: [ - "lib_apex_manifest_minimal_proto_lite", - "libprotobuf-cpp-lite", - ], init_rc: ["src/android.hardware.drm-service.widevine.rc"], vintf_fragments: ["manifest_android.hardware.drm-service.widevine.xml"], @@ -225,6 +222,12 @@ cc_library_static { "libcrypto", "liblog", ], + + static_libs: [ + "libprotobuf-cpp-lite", + "lib_apex_manifest_minimal_proto_lite", + ], + min_sdk_version: "UpsideDownCake", } @@ -273,6 +276,7 @@ cc_library { "libwvdrmcryptoplugin_aidl", "libwvdrmdrmplugin_aidl", "libwvlevel3", + "lib_apex_manifest_minimal_proto_lite", ], shared_libs: [ diff --git a/libwvdrmengine/cdm/src/properties_android.cpp b/libwvdrmengine/cdm/src/properties_android.cpp index b6a563cb..9fd756df 100644 --- a/libwvdrmengine/cdm/src/properties_android.cpp +++ b/libwvdrmengine/cdm/src/properties_android.cpp @@ -13,6 +13,7 @@ #include "log.h" #include "wv_android_constants.h" +#include "widevine_apex_info.h" namespace { @@ -134,7 +135,16 @@ bool Properties::GetWVCdmVersion(std::string* version) { LOGW("Properties::GetWVCdmVersion: Invalid parameter"); return false; } - *version = kWVAndroidCdmVersion; + + std::string apex_version = ""; +#ifdef __ANDROID_APEX__ +{ + auto info = widevine::apex::GetApexInfo(); + apex_version = "@" + std::to_string(info->version); +} +#endif + + *version = kWVAndroidCdmVersion + apex_version; return true; } diff --git a/libwvdrmengine/src/service.cpp b/libwvdrmengine/src/service.cpp index b7a4a0b3..d30ad182 100644 --- a/libwvdrmengine/src/service.cpp +++ b/libwvdrmengine/src/service.cpp @@ -22,19 +22,11 @@ #include "WVCreatePluginFactories.h" #include "WVDrmFactory.h" -#include "widevine_apex_info.h" using ::wvdrm::hardware::drm::widevine::createDrmFactory; using ::wvdrm::hardware::drm::widevine::WVDrmFactory; int main(int /* argc */, char** /* argv */) { -#ifdef __ANDROID_APEX__ - { - auto info = widevine::apex::GetApexInfo(); - CHECK(info.ok()) << info.error(); - LOG(INFO) << "Starting from " << info->name << "(" << info->version << ")"; - } -#endif ABinderProcess_setThreadPoolMaxThreadCount(8); std::shared_ptr drmFactory = createDrmFactory();