Add a field indicating online vs offline licenses.

Import of http://go/wvgerrit/68188

This adds an attribute to metrics indicating if the license was online
or offline.

Also, added a unit test for CdmEngineMetricsImpl.

Test: Unit tests. GPlay manual. GTS tests.
Bug: 115523917

Change-Id: Id315c643048914a2c51904451f9665987bc87eb7
This commit is contained in:
Adam Stone
2018-12-11 10:40:32 -08:00
parent 4c5c4caf66
commit 0a64d25067
11 changed files with 88 additions and 11 deletions

View File

@@ -122,7 +122,8 @@ CdmResponseType WvContentDecryptionModule::GenerateKeyRequest(
M_TIME(sts = cdm_engine->GenerateKeyRequest(session_id, key_set_id,
initialization_data, license_type,
app_parameters, key_request),
cdm_engine->GetMetrics(), cdm_engine_generate_key_request_, sts);
cdm_engine->GetMetrics(), cdm_engine_generate_key_request_,
sts, license_type);
switch (license_type) {
case kLicenseTypeRelease:
if (sts != KEY_MESSAGE) {
@@ -149,9 +150,12 @@ CdmResponseType WvContentDecryptionModule::AddKey(
release_key_set_id = *key_set_id;
}
CdmResponseType sts;
M_TIME(sts = cdm_engine->AddKey(session_id, key_data, key_set_id),
cdm_engine->GetMetrics(), cdm_engine_add_key_, sts);
if (sts == KEY_ADDED && session_id.empty()) { // license type release
CdmLicenseType license_type;
M_TIME(sts = cdm_engine->AddKey(session_id, key_data,
&license_type, key_set_id),
cdm_engine->GetMetrics(), cdm_engine_add_key_, sts, license_type);
// Empty session id indicates license type release.
if (sts == KEY_ADDED && session_id.empty()) {
cdm_engine->CloseKeySetSession(release_key_set_id);
cdm_by_session_id_.erase(release_key_set_id);
}