Add Widevine lazy apex
Bug: 244498309 Test: m com.google.android.widevine.lazy Change-Id: I226ae922e9ab7817353d3e94d509b9579c6551e1
This commit is contained in:
61
libwvdrmengine/apex/nonupdatable/lazy/Android.bp
Normal file
61
libwvdrmengine/apex/nonupdatable/lazy/Android.bp
Normal file
@@ -0,0 +1,61 @@
|
||||
// Copyright (C) 2023 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package {
|
||||
// See: http://go/android-license-faq
|
||||
// A large-scale-change added 'default_applicable_licenses' to import
|
||||
// all of the 'license_kinds' from "vendor_widevine_license"
|
||||
// to get the below license kinds:
|
||||
// SPDX-license-identifier-Apache-2.0
|
||||
default_applicable_licenses: ["vendor_widevine_license"],
|
||||
}
|
||||
|
||||
soong_config_module_type {
|
||||
name: "widevine_lazy_key_apex_defaults",
|
||||
module_type: "apex_defaults",
|
||||
config_namespace: "widevine",
|
||||
bool_variables: ["use_devkey"],
|
||||
properties: ["key", "certificate"],
|
||||
}
|
||||
|
||||
widevine_lazy_key_apex_defaults {
|
||||
name: "com.google.android.widevine.lazy-key-defaults",
|
||||
key: "com.google.android.widevine.key",
|
||||
certificate: ":com.google.android.widevine.certificate",
|
||||
soong_config_variables: {
|
||||
use_devkey: {
|
||||
key: "com_google_android_widevine_lazy-image.key",
|
||||
certificate: ":com_google_android_widevine_lazy-container",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "com.google.android.widevine.lazy.rc",
|
||||
src: "com.google.android.widevine.lazy.rc",
|
||||
}
|
||||
|
||||
apex {
|
||||
name: "com.google.android.widevine.lazy",
|
||||
binaries: ["android.hardware.drm-service-lazy.widevine"],
|
||||
defaults: [
|
||||
"com.google.android.widevine-defaults",
|
||||
"com.google.android.widevine.lazy-key-defaults",
|
||||
],
|
||||
manifest: "apex_manifest.json",
|
||||
prebuilts: [
|
||||
"com.google.android.widevine.lazy.rc",
|
||||
],
|
||||
file_contexts: "file_contexts",
|
||||
}
|
||||
7
libwvdrmengine/apex/nonupdatable/lazy/apex_manifest.json
Normal file
7
libwvdrmengine/apex/nonupdatable/lazy/apex_manifest.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "com.google.android.widevine.lazy",
|
||||
"version": 1,
|
||||
"requireNativeLibs": [
|
||||
"liboemcrypto.so"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
on property:apex.all.ready=true
|
||||
mkdir /data/vendor/mediadrm 0770 media mediadrm
|
||||
|
||||
service vendor.drm-widevine-hal /apex/com.google.android.widevine.lazy/bin/hw/android.hardware.drm-service-lazy.widevine
|
||||
interface aidl android.hardware.drm.IDrmFactory/widevine
|
||||
oneshot
|
||||
disabled
|
||||
class hal
|
||||
user media
|
||||
group media mediadrm drmrpc system
|
||||
ioprio rt 4
|
||||
task_profiles ProcessCapacityHigh
|
||||
9
libwvdrmengine/apex/nonupdatable/lazy/file_contexts
Normal file
9
libwvdrmengine/apex/nonupdatable/lazy/file_contexts
Normal file
@@ -0,0 +1,9 @@
|
||||
(/.*)? u:object_r:vendor_file:s0
|
||||
/bin/hw/android\.hardware\.drm-service-lazy\.widevine u:object_r:hal_drm_widevine_exec:s0
|
||||
/etc(/.*)? u:object_r:vendor_configs_file:s0
|
||||
# TODO(b/268439003) Following two entries are typically handled by the build system.
|
||||
# We override it so that the Widevine APEX can access it to get the apex version.
|
||||
# When we have a proper API, we can delete these along with
|
||||
# use_file_contexts_as_is property in Android.bp
|
||||
/apex_manifest\.pb u:object_r:vendor_configs_file:s0
|
||||
/ u:object_r:system_file:s0
|
||||
Reference in New Issue
Block a user