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