package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "system_bt_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_bt_license"],
}

linker_config {
    name: "btservices-linker-config",
    src: "linker.config.json",
    installable: false,
}

// Mainline bluetooth apex module (legacy, do not use).
// TODO: Remove
apex {
    name: "com.android.bluetooth",
    defaults: ["t-launched-apex-module"],
    manifest: "apex_manifest.json",
    bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
    systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
    compat_configs: ["bluetooth-compat-config"],
    apps: ["Bluetooth"],

    multilib: {
        first: {
            // Extractor process runs only with the primary ABI.
            jni_libs: [
                "libbluetooth_jni",
            ],
        },
    },

    prebuilts: [
        "audio_set_configurations_bfbs",
        "audio_set_configurations_json",
        "audio_set_scenarios_bfbs",
        "audio_set_scenarios_json",
        "btservices-linker-config",
        "bt_did.conf",
        "bt_stack.conf",
        "privapp_allowlist_com.android.bluetooth.xml",
    ],
    key: "com.android.btservices.key",
    certificate: ":com.android.btservices.certificate",
    updatable: false,
    compressible: false,
}

// Mainline bluetooth apex module.
apex {
    name: "com.android.btservices",
    defaults: ["t-launched-apex-module"],
    manifest: "apex_manifest.json",
    bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
    systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
    compat_configs: ["bluetooth-compat-config"],
    apps: ["Bluetooth"],

    multilib: {
        first: {
            // Extractor process runs only with the primary ABI.
            jni_libs: [
                "libbluetooth_jni",
            ],
        },
    },

    prebuilts: [
        "audio_set_configurations_bfbs",
        "audio_set_configurations_json",
        "audio_set_scenarios_bfbs",
        "audio_set_scenarios_json",
        "btservices-linker-config",
        "bt_did.conf",
        "bt_stack.conf",
        "privapp_allowlist_com.android.bluetooth.xml",
    ],
    key: "com.android.btservices.key",
    certificate: ":com.android.btservices.certificate",
    updatable: false,
    compressible: false,
}

apex_key {
    name: "com.android.btservices.key",
    public_key: "com.android.btservices.avbpubkey",
    private_key: "com.android.btservices.pem",
}

android_app_certificate {
    name: "com.android.btservices.certificate",
    certificate: "com.android.btservices",
}

sdk {
    name: "btservices-module-sdk",
    bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
    systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
}

// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
bootclasspath_fragment {
    name: "com.android.btservices-bootclasspath-fragment",
    contents: ["framework-bluetooth"],
    apex_available: ["com.android.bluetooth"],

    // 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"],
        max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
        unsupported: ["hiddenapi/hiddenapi-unsupported.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.bluetooth",
        ],

        // The following packages and all their subpackages currently only
        // contain classes from this bootclasspath_fragment. Listing a package
        // here won't prevent other bootclasspath modules from adding classes in
        // any of those packages but it will prevent them from adding those
        // classes into an API surface, e.g. public, system, etc.. Doing so will
        // result in a build failure due to inconsistent flags.
        package_prefixes: [
            "android.bluetooth.le",
            "com.android.bluetooth",
        ],
    },

}

systemserverclasspath_fragment {
    name: "com.android.btservices-systemserverclasspath-fragment",
    standalone_contents: ["service-bluetooth"],
    apex_available: ["com.android.bluetooth"],
}
