blob: a82a947538d725125b388060f2b449e90d7c06d2 [file] [log] [blame]
/*
* Copyright (C) 2024 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
default_applicable_licenses: ["Android-Apache-2.0"],
}
apex {
name: "com.android.mediaprovider",
defaults: ["com.android.mediaprovider-defaults"],
manifest: "apex_manifest.json",
apps: [
"MediaProvider",
"Photopicker",
],
compat_configs: [
"media-provider-platform-compat-config",
"framework-pdf-v-platform-compat-config",
],
jni_libs: [
"libpdfclient",
],
compile_multilib: "both",
}
apex_defaults {
name: "com.android.mediaprovider-defaults",
required: ["preinstalled-packages-com.android.providers.media.module.xml"],
bootclasspath_fragments: ["com.android.mediaprovider-bootclasspath-fragment"],
sh_binaries: [
// MediaProvider CLI (cli/media_provider_cli_wrapper.sh)
"media_provider",
],
prebuilts: ["current_sdkinfo"],
key: "com.android.mediaprovider.key",
certificate: ":com.android.mediaprovider.certificate",
file_contexts: ":com.android.mediaprovider-file_contexts",
defaults: ["r-launched-apex-module"],
// Indicates that pre-installed version of this apex can be compressed.
// Whether it actually will be compressed is controlled on per-device basis.
compressible: true,
}
apex_key {
name: "com.android.mediaprovider.key",
public_key: "com.android.mediaprovider.avbpubkey",
private_key: "com.android.mediaprovider.pem",
}
android_app_certificate {
name: "com.android.mediaprovider.certificate",
certificate: "com.android.mediaprovider",
}
sdk {
name: "mediaprovider-module-sdk",
apexes: [
// Adds exportable dependencies of the APEX to the sdk,
// e.g. *classpath_fragments.
"com.android.mediaprovider",
],
}
// Encapsulate the contributions made by the com.android.mediaprovider to the bootclasspath.
bootclasspath_fragment {
name: "com.android.mediaprovider-bootclasspath-fragment",
contents: [
"framework-mediaprovider",
"framework-pdf",
"framework-pdf-v",
"framework-photopicker",
],
apex_available: ["com.android.mediaprovider"],
// The bootclasspath_fragments that provide APIs on which this depends.
fragments: [
{
apex: "com.android.art",
module: "art-bootclasspath-fragment",
},
],
// Additional stubs libraries that this fragment's contents use which are
// not provided by another bootclasspath_fragment.
additional_stubs: [
"android-non-updatable",
],
// Additional hidden API flag files to override the defaults. This must only be
// modified by the Soong or platform compat team.
hidden_api: {
max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
// The following packages contain classes from other modules on the
// bootclasspath. That means that the hidden API flags for this module
// has to explicitly list every single class this module provides in
// that package to differentiate them from the classes provided by other
// modules. That can include private classes that are not part of the
// API.
split_packages: [
"android.graphics.pdf",
"android.graphics.pdf.flags",
"android.provider",
"android.provider.mediacognitionutils",
"android.provider.media.internal.flags",
"android.graphics.pdf.common",
"android.graphics.pdf.concurrency",
"android.graphics.pdf.converters",
"android.graphics.pdf.internal.javax.annotation",
"android.graphics.pdf.internal.javax.annotation.concurrent",
"android.graphics.pdf.internal.javax.annotation.meta",
"android.graphics.pdf.models",
"android.graphics.pdf.utils",
"android.graphics.pdf.content",
"android.graphics.pdf.models.jni",
"android.graphics.pdf.models.selection",
"android.graphics.pdf.logging",
"android.widget.photopicker",
"com.android.providers.media.flags",
],
},
}