//
// Copyright (C) 2021 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
    // This was chosen for Sharesheet to match existing packages.
    default_applicable_licenses: ["packages_modules_IntentResolver_license"],
}

license {
    name: "packages_modules_IntentResolver_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

android_library {
    name: "IntentResolver-core",
    min_sdk_version: "current",
    srcs: [
        "java/src/**/*.java",
    ],
    resource_dirs: [
        "java/res",
    ],

    manifest: "AndroidManifest.xml",

    static_libs: [
        "androidx.annotation_annotation",
        "unsupportedappusage",
    ],

    plugins: ["java_api_finder"],
    lint: {
        strict_updatability_linting: true,
    },
}

android_app {
    name: "IntentResolver",
    min_sdk_version: "current",
    certificate: "platform",
    privileged: true,
    required: [
        "privapp_whitelist_com.android.intentresolver",
    ],
    srcs: ["src/**/*.java"],
    platform_apis: true,
    static_libs: [
        "IntentResolver-core",
    ],
    optimize: {
        // TODO: consider re-enabling after setting up Proguard rules to
        // preserve the name of the ChooserGridLayoutManager class, which is
        // referenced by name in the chooser_list_per_profile layout XML.
        enabled: false,
    },
    apex_available: [
        "//apex_available:platform",
        "com.android.intentresolver",
        "test_com.android.intentresolver",
    ],
}
