// This is auto-generated. DO NOT EDIT.

// Soong config variable stanza added by vendor/google/build/mainline_modules_sdks.py.
soong_config_module_type_import {
    from: "packages/modules/common/Android.bp",
    module_types: [
        "module_java_sdk_library_import",
        "module_prebuilt_bootclasspath_fragment",
    ],
}

package {
    // A default list here prevents the license LSC from adding its own list which would
    // be unnecessary as every module in the sdk already has its own licenses property.
    default_applicable_licenses: ["Android-Apache-2.0"],
}

prebuilt_bootclasspath_fragment {
    name: "mediaprovider-module-sdk_com.android.mediaprovider-bootclasspath-fragment@current",
    sdk_member_name: "com.android.mediaprovider-bootclasspath-fragment",
    visibility: ["//visibility:public"],
    apex_available: ["com.android.mediaprovider"],
    licenses: ["mediaprovider-module-sdk_Android-Apache-2.0@current"],
    contents: ["mediaprovider-module-sdk_framework-mediaprovider@current"],
    fragments: [
        {
            apex: "com.android.art",
            module: "art-bootclasspath-fragment",
        },
    ],
    hidden_api: {
        max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
        annotation_flags: "hiddenapi/annotation-flags.csv",
        metadata: "hiddenapi/metadata.csv",
        index: "hiddenapi/index.csv",
        stub_flags: "hiddenapi/stub-flags.csv",
        all_flags: "hiddenapi/all-flags.csv",
    },
}

module_prebuilt_bootclasspath_fragment {
    name: "com.android.mediaprovider-bootclasspath-fragment",
    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
    prefer: true,
    soong_config_variables: {
        module_build_from_source: {
            prefer: false,
        },
    },
    visibility: ["//visibility:public"],
    apex_available: ["com.android.mediaprovider"],
    licenses: ["mediaprovider-module-sdk_Android-Apache-2.0"],
    contents: ["framework-mediaprovider"],
    fragments: [
        {
            apex: "com.android.art",
            module: "art-bootclasspath-fragment",
        },
    ],
    hidden_api: {
        max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
        annotation_flags: "hiddenapi/annotation-flags.csv",
        metadata: "hiddenapi/metadata.csv",
        index: "hiddenapi/index.csv",
        stub_flags: "hiddenapi/stub-flags.csv",
        all_flags: "hiddenapi/all-flags.csv",
    },
}

java_sdk_library_import {
    name: "mediaprovider-module-sdk_framework-mediaprovider@current",
    sdk_member_name: "framework-mediaprovider",
    visibility: ["//visibility:public"],
    apex_available: [
        "com.android.mediaprovider",
        "test_com.android.mediaprovider",
    ],
    licenses: ["mediaprovider-module-sdk_Android-Apache-2.0@current"],
    shared_library: false,
    permitted_packages: ["android.provider"],
    public: {
        jars: ["sdk_library/public/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/public/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/public/framework-mediaprovider.txt",
        removed_api: "sdk_library/public/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
    system: {
        jars: ["sdk_library/system/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/system/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/system/framework-mediaprovider.txt",
        removed_api: "sdk_library/system/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
    module_lib: {
        jars: ["sdk_library/module-lib/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/module-lib/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/module-lib/framework-mediaprovider.txt",
        removed_api: "sdk_library/module-lib/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
}

module_java_sdk_library_import {
    name: "framework-mediaprovider",
    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
    prefer: true,
    soong_config_variables: {
        module_build_from_source: {
            prefer: false,
        },
    },
    visibility: ["//visibility:public"],
    apex_available: [
        "com.android.mediaprovider",
        "test_com.android.mediaprovider",
    ],
    licenses: ["mediaprovider-module-sdk_Android-Apache-2.0"],
    shared_library: false,
    permitted_packages: ["android.provider"],
    public: {
        jars: ["sdk_library/public/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/public/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/public/framework-mediaprovider.txt",
        removed_api: "sdk_library/public/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
    system: {
        jars: ["sdk_library/system/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/system/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/system/framework-mediaprovider.txt",
        removed_api: "sdk_library/system/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
    module_lib: {
        jars: ["sdk_library/module-lib/framework-mediaprovider-stubs.jar"],
        stub_srcs: ["sdk_library/module-lib/framework-mediaprovider.srcjar"],
        current_api: "sdk_library/module-lib/framework-mediaprovider.txt",
        removed_api: "sdk_library/module-lib/framework-mediaprovider-removed.txt",
        sdk_version: "module_current",
    },
}

license {
    name: "mediaprovider-module-sdk_Android-Apache-2.0@current",
    sdk_member_name: "Android-Apache-2.0",
    visibility: ["//visibility:private"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["licenses/build/soong/licenses/LICENSE"],
}

license {
    name: "mediaprovider-module-sdk_Android-Apache-2.0",
    visibility: ["//visibility:private"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["licenses/build/soong/licenses/LICENSE"],
}

sdk_snapshot {
    name: "mediaprovider-module-sdk@current",
    visibility: ["//visibility:public"],
    bootclasspath_fragments: ["mediaprovider-module-sdk_com.android.mediaprovider-bootclasspath-fragment@current"],
    java_sdk_libs: ["mediaprovider-module-sdk_framework-mediaprovider@current"],
}
