Report Rental duration remaining
[ Merge of http://go/wvgerrit/124063 ] LicenseDurationRemaining used to indicate the minimum of rental or license duration till OEMCrypto v16. OEMCrypto v16 onwards it began reporting rental duration alone. This is confusing for app developers and content partners. Keeping LicenseDurationRemaining as apps may depend on it but adding RentalDurationRemaining for clarity. Bug: 186838303 Test: WV unit/integration tests, WvCdmRequestLicenseTest.QueryKeyStatus Change-Id: I6c507150a0945ee36716b4da189f5741b092c0ec
This commit is contained in:
@@ -69,6 +69,8 @@ static const std::string QUERY_KEY_LICENSE_DURATION_REMAINING =
|
||||
"LicenseDurationRemaining"; // non-negative integer denoting seconds
|
||||
static const std::string QUERY_KEY_PLAYBACK_DURATION_REMAINING =
|
||||
"PlaybackDurationRemaining"; // non-negative integer denoting seconds
|
||||
static const std::string QUERY_KEY_RENTAL_DURATION_REMAINING =
|
||||
"RentalDurationRemaining"; // non-negative integer denoting seconds
|
||||
static const std::string QUERY_KEY_RENEWAL_SERVER_URL =
|
||||
"RenewalServerUrl"; // url
|
||||
static const std::string QUERY_KEY_OEMCRYPTO_SESSION_ID =
|
||||
|
||||
@@ -307,6 +307,8 @@ CdmResponseType PolicyEngine::Query(CdmQueryMap* query_response) {
|
||||
: QUERY_VALUE_FALSE;
|
||||
(*query_response)[QUERY_KEY_LICENSE_DURATION_REMAINING] = std::to_string(
|
||||
policy_timers_->GetLicenseOrRentalDurationRemaining(current_time));
|
||||
(*query_response)[QUERY_KEY_RENTAL_DURATION_REMAINING] = std::to_string(
|
||||
policy_timers_->GetLicenseOrRentalDurationRemaining(current_time));
|
||||
(*query_response)[QUERY_KEY_PLAYBACK_DURATION_REMAINING] = std::to_string(
|
||||
policy_timers_->GetPlaybackDurationRemaining(current_time));
|
||||
(*query_response)[QUERY_KEY_RENEWAL_SERVER_URL] =
|
||||
|
||||
@@ -5053,6 +5053,13 @@ TEST_F(WvCdmRequestLicenseTest, QueryKeyStatus) {
|
||||
ss >> remaining_time;
|
||||
ASSERT_FALSE(ss.fail());
|
||||
EXPECT_LT(0, remaining_time);
|
||||
itr = query_info.find(wvcdm::QUERY_KEY_RENTAL_DURATION_REMAINING);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
ss.clear();
|
||||
ss.str(itr->second);
|
||||
ss >> remaining_time;
|
||||
ASSERT_FALSE(ss.fail());
|
||||
EXPECT_LT(0, remaining_time);
|
||||
itr = query_info.find(wvcdm::QUERY_KEY_PLAYBACK_DURATION_REMAINING);
|
||||
ASSERT_TRUE(itr != query_info.end());
|
||||
ss.clear();
|
||||
|
||||
Reference in New Issue
Block a user