Fewer parameters for storing and retrieve license information.

[ Merge of http://go/wvgerrit/84990 ]

Storing and retrieving licenses from device files had required 15
parameters to the DeviceFiles methods.  Now, licenses information is
bundled together in a single struct `CdmLicenseData`, similar to
`CdmUsageData`.

Bug: 137882164
Test: Linux and Android unittest
Change-Id: I149b39573800e7c66681343b252b41341a8902f7
This commit is contained in:
Alex Dale
2019-09-03 11:58:27 -07:00
parent 6793f74aa2
commit 5bfdd515eb
7 changed files with 364 additions and 395 deletions

View File

@@ -1097,31 +1097,11 @@ CdmResponseType CdmEngine::GetOfflineLicenseState(
return GET_OFFLINE_LICENSE_STATE_ERROR_1;
}
DeviceFiles::LicenseState state;
// Dummy arguments to make the RetrieveLicense call,
// do not care about the return value except for license state.
CdmAppParameterMap app_parameters;
CdmKeyMessage key_request;
CdmKeyResponse key_response;
CdmInitData offline_init_data;
CdmKeyMessage offline_key_renewal_request;
CdmKeyResponse offline_key_renewal_response;
CdmUsageEntry usage_entry;
int64_t grace_period_end_time;
int64_t last_playback_time;
std::string offline_release_server_url;
int64_t playback_start_time;
uint32_t usage_entry_number;
DeviceFiles::CdmLicenseData license_data;
DeviceFiles::ResponseType sub_error_code = DeviceFiles::kNoError;
if (handle.RetrieveLicense(
key_set_id, &state, &offline_init_data, &key_request, &key_response,
&offline_key_renewal_request, &offline_key_renewal_response,
&offline_release_server_url, &playback_start_time,
&last_playback_time, &grace_period_end_time, &app_parameters,
&usage_entry, &usage_entry_number, &sub_error_code)) {
*license_state = MapDeviceFilesLicenseState(state);
if (handle.RetrieveLicense(key_set_id, &license_data, &sub_error_code)) {
*license_state = MapDeviceFilesLicenseState(license_data.state);
} else {
LOGE("Failed to retrieve license state: key_set_id = %s",
key_set_id.c_str());