Allow provisioning model to be queried am: cd593979e9
Original change: https://googleplex-android-review.googlesource.com/c/platform/vendor/widevine/+/18624153 Change-Id: Ied2ef9132c5e92149407d1e68091d570d73896ae Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -1154,6 +1154,8 @@ Status WVDrmPlugin::unprovisionDevice() {
|
||||
status = queryProperty(wvcdm::QUERY_KEY_WATERMARKING_SUPPORT, value);
|
||||
} else if (name == "productionReady") {
|
||||
status = queryProperty(wvcdm::QUERY_KEY_PRODUCTION_READY, value);
|
||||
} else if (name == "provisioningModel") {
|
||||
status = queryProperty(wvcdm::QUERY_KEY_PROVISIONING_MODEL, value);
|
||||
} else {
|
||||
ALOGE("App requested unknown string property %s", name.c_str());
|
||||
*_aidl_return = value;
|
||||
|
||||
@@ -1263,6 +1263,8 @@ Return<void> WVDrmPlugin::getPropertyString(const hidl_string& propertyName,
|
||||
status = queryProperty(wvcdm::QUERY_KEY_WATERMARKING_SUPPORT, value);
|
||||
} else if (name == "productionReady") {
|
||||
status = queryProperty(wvcdm::QUERY_KEY_PRODUCTION_READY, value);
|
||||
} else if (name == "provisioningModel") {
|
||||
status = queryProperty(wvcdm::QUERY_KEY_PROVISIONING_MODEL, value);
|
||||
} else {
|
||||
ALOGE("App requested unknown string property %s", name.c_str());
|
||||
status = Status::ERROR_DRM_CANNOT_HANDLE;
|
||||
|
||||
@@ -118,6 +118,7 @@ using wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION;
|
||||
using wvcdm::QUERY_KEY_OEMCRYPTO_BUILD_INFORMATION;
|
||||
using wvcdm::QUERY_KEY_OEMCRYPTO_SESSION_ID;
|
||||
using wvcdm::QUERY_KEY_PROVISIONING_ID;
|
||||
using wvcdm::QUERY_KEY_PROVISIONING_MODEL;
|
||||
using wvcdm::QUERY_KEY_RESOURCE_RATING_TIER;
|
||||
using wvcdm::QUERY_KEY_SECURITY_LEVEL;
|
||||
using wvcdm::QUERY_KEY_SRM_UPDATE_SUPPORT;
|
||||
@@ -1059,6 +1060,7 @@ TEST_F(WVDrmPluginHalTest, ReturnsExpectedPropertyValues) {
|
||||
static const std::string oemCryptoCrcClearBuffer = "1";
|
||||
static const std::string oemCryptoPartnerDefinedHash = "2";
|
||||
static const std::string decryptHashErrorBadHashAndFrameNumber = "53, 1";
|
||||
static const std::string provisioningModel = "Zaphod Beeblebrox";
|
||||
drm_metrics::WvCdmMetrics expected_metrics;
|
||||
std::string serialized_metrics = wvutil::a2bs_hex(kSerializedMetricsHex);
|
||||
ASSERT_TRUE(expected_metrics.ParseFromString(serialized_metrics));
|
||||
@@ -1120,6 +1122,10 @@ TEST_F(WVDrmPluginHalTest, ReturnsExpectedPropertyValues) {
|
||||
.WillOnce(DoAll(SetArgPointee<1>(decryptHashErrorBadHashAndFrameNumber),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
|
||||
EXPECT_CALL(*mCdm, QueryStatus(_, QUERY_KEY_PROVISIONING_MODEL, _))
|
||||
.WillOnce(DoAll(SetArgPointee<2>(provisioningModel),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
|
||||
EXPECT_CALL(*mCdm, GetMetrics(_, _))
|
||||
.WillOnce(DoAll(SetArgPointee<1>(expected_metrics),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
@@ -1216,6 +1222,11 @@ TEST_F(WVDrmPluginHalTest, ReturnsExpectedPropertyValues) {
|
||||
EXPECT_TRUE(ret.isOk());
|
||||
EXPECT_EQ(decryptHashErrorBadHashAndFrameNumber, stringResult);
|
||||
|
||||
ret = mPlugin->getPropertyString(std::string("provisioningModel"),
|
||||
&stringResult);
|
||||
EXPECT_TRUE(ret.isOk());
|
||||
EXPECT_EQ(provisioningModel, stringResult);
|
||||
|
||||
// This call occurs before any open session or other call. This means
|
||||
// that the mCdm identifier is not yet sealed, and metrics return empty
|
||||
// metrics data.
|
||||
|
||||
@@ -111,6 +111,7 @@ using wvcdm::QUERY_KEY_OEMCRYPTO_API_VERSION;
|
||||
using wvcdm::QUERY_KEY_OEMCRYPTO_BUILD_INFORMATION;
|
||||
using wvcdm::QUERY_KEY_OEMCRYPTO_SESSION_ID;
|
||||
using wvcdm::QUERY_KEY_PROVISIONING_ID;
|
||||
using wvcdm::QUERY_KEY_PROVISIONING_MODEL;
|
||||
using wvcdm::QUERY_KEY_RESOURCE_RATING_TIER;
|
||||
using wvcdm::QUERY_KEY_SECURITY_LEVEL;
|
||||
using wvcdm::QUERY_KEY_SRM_UPDATE_SUPPORT;
|
||||
@@ -1257,6 +1258,7 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
static const std::string oemCryptoCrcClearBuffer = "1";
|
||||
static const std::string oemCryptoPartnerDefinedHash = "2";
|
||||
static const std::string decryptHashErrorBadHashAndFrameNumber = "53, 1";
|
||||
static const std::string provisioningModel = "Zaphod Beeblebrox";
|
||||
drm_metrics::WvCdmMetrics expected_metrics;
|
||||
std::string serialized_metrics = wvutil::a2bs_hex(kSerializedMetricsHex);
|
||||
ASSERT_TRUE(expected_metrics.ParseFromString(serialized_metrics));
|
||||
@@ -1318,6 +1320,10 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
.WillOnce(DoAll(SetArgPointee<1>(decryptHashErrorBadHashAndFrameNumber),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
|
||||
EXPECT_CALL(*cdm, QueryStatus(_, QUERY_KEY_PROVISIONING_MODEL, _))
|
||||
.WillOnce(DoAll(SetArgPointee<2>(provisioningModel),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
|
||||
EXPECT_CALL(*cdm, GetMetrics(_, _))
|
||||
.WillOnce(DoAll(SetArgPointee<1>(expected_metrics),
|
||||
testing::Return(wvcdm::NO_ERROR)));
|
||||
@@ -1450,6 +1456,13 @@ TEST_F(WVDrmPluginTest, ReturnsExpectedPropertyValues) {
|
||||
stringResult);
|
||||
});
|
||||
|
||||
plugin.getPropertyString(hidl_string("provisioningModel"),
|
||||
[&](Status status, hidl_string stringResult) {
|
||||
ASSERT_EQ(Status::OK, status);
|
||||
EXPECT_STREQ(provisioningModel.c_str(),
|
||||
stringResult.c_str());
|
||||
});
|
||||
|
||||
// This call occurs before any open session or other call. This means
|
||||
// that the cdm identifer is not yet sealed, and metrics return empty
|
||||
// metrics data.
|
||||
|
||||
Reference in New Issue
Block a user