Merge "Change getSupportedCryptoSchemesNative to use getSupportedSchemes" into tm-dev am: 8b7f31171a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17246443

Change-Id: I09282a6895fd4cb5e2b138caf8be4cde4a1efd6f
This commit is contained in:
Kyle Zhang
2022-03-22 01:09:14 +00:00
committed by Automerger Merge Worker

View File

@@ -1003,19 +1003,9 @@ DrmPlugin::SecurityLevel jintToSecurityLevel(jint jlevel) {
}
static jbyteArray android_media_MediaDrm_getSupportedCryptoSchemesNative(JNIEnv *env) {
sp<IDrm> drm = android::DrmUtils::MakeDrm();
std::vector<uint8_t> bv;
for (auto &factory : DrmUtils::MakeDrmFactories()) {
sp<drm::V1_3::IDrmFactory> factoryV1_3 = drm::V1_3::IDrmFactory::castFrom(factory);
if (factoryV1_3 == nullptr) {
continue;
}
factoryV1_3->getSupportedCryptoSchemes(
[&](const hardware::hidl_vec<hardware::hidl_array<uint8_t, 16>>& schemes) {
for (const auto &scheme : schemes) {
bv.insert(bv.end(), scheme.data(), scheme.data() + scheme.size());
}
});
}
drm->getSupportedSchemes(bv);
jbyteArray jUuidBytes = env->NewByteArray(bv.size());
env->SetByteArrayRegion(jUuidBytes, 0, bv.size(), reinterpret_cast<const jbyte *>(bv.data()));