Files
android/libwvdrmengine/cdm/Android.bp
Rahul Frias c2cee8406e Policy Engine refactoring
[ Merge of http://go/wvgerrit/93743 ]

Reworks policy engine in preparation for changes to support timer and
clock value handling by OEMCrypto core messages in OEMCrypto v16.

No major functional changes have yet been introduced. Time and duration
evaluation has been devolved to a new policy timer class. Policy
specific to licenses that do not support OEMCrypto core messages
is handled by a Policy Timer V15 class. This ensures backward compatibility.

Backward compatibility may be needed if
 * OEMCrypto has not been upgraded to v16
 * Licenses were persisted before the device was upgraded to v16
 * License service does not yet support core messages

Some minor changes to when the current time was retrieved required
minor modification to test expectations.

Bug: 139372190
Test: Android unit/integration tests
Change-Id: I420fb181f656ed9a6bfe54f09e8b398c130d23da
2020-02-12 01:00:08 -08:00

65 lines
2.2 KiB
Plaintext

// ----------------------------------------------------------------
// Builds libcdm.a
//
SRC_DIR = "src"
CORE_SRC_DIR = "core/src"
METRICS_SRC_DIR = "metrics/src"
cc_library_static {
name: "libcdm",
cflags: ["-DDYNAMIC_ADAPTER",
"-DTEST_OEMCRYPTO_V15"],
include_dirs: [
"vendor/widevine/libwvdrmengine/cdm/core/include",
"vendor/widevine/libwvdrmengine/cdm/metrics/include",
"vendor/widevine/libwvdrmengine/cdm/util/include",
"vendor/widevine/libwvdrmengine/cdm/include",
"vendor/widevine/libwvdrmengine/oemcrypto/include",
"vendor/widevine/libwvdrmengine/oemcrypto/odk/include",
"external/jsmn",
"external/protobuf/src",
],
header_libs: ["libutils_headers"],
static_libs: ["libcdm_protos"],
shared_libs: ["libcrypto"],
srcs: [
CORE_SRC_DIR + "/buffer_reader.cpp",
CORE_SRC_DIR + "/cdm_engine.cpp",
CORE_SRC_DIR + "/cdm_engine_factory.cpp",
CORE_SRC_DIR + "/cdm_session.cpp",
CORE_SRC_DIR + "/cdm_session_map.cpp",
CORE_SRC_DIR + "/certificate_provisioning.cpp",
CORE_SRC_DIR + "/client_identification.cpp",
CORE_SRC_DIR + "/content_key_session.cpp",
CORE_SRC_DIR + "/crypto_session.cpp",
CORE_SRC_DIR + "/device_files.cpp",
CORE_SRC_DIR + "/entitlement_key_session.cpp",
CORE_SRC_DIR + "/initialization_data.cpp",
CORE_SRC_DIR + "/license.cpp",
CORE_SRC_DIR + "/license_key_status.cpp",
CORE_SRC_DIR + "/oemcrypto_adapter_dynamic.cpp",
CORE_SRC_DIR + "/policy_engine.cpp",
CORE_SRC_DIR + "/policy_timers.cpp",
CORE_SRC_DIR + "/policy_timers_v15.cpp",
CORE_SRC_DIR + "/privacy_crypto_boringssl.cpp",
CORE_SRC_DIR + "/service_certificate.cpp",
CORE_SRC_DIR + "/usage_table_header.cpp",
SRC_DIR + "/wv_content_decryption_module.cpp",
METRICS_SRC_DIR + "/attribute_handler.cpp",
METRICS_SRC_DIR + "/counter_metric.cpp",
METRICS_SRC_DIR + "/distribution.cpp",
METRICS_SRC_DIR + "/event_metric.cpp",
METRICS_SRC_DIR + "/metrics_collections.cpp",
METRICS_SRC_DIR + "/timer_metric.cpp",
METRICS_SRC_DIR + "/value_metric.cpp",
],
proprietary: true,
}