// Copyright (C) 2019 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 {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

// CronetApexDefaults uses apex_defaults cronet_apex_defaults specifies. cronet_apex_defaults
// could be "CronetApexDefaultsEnabled" or "CronetApexDefaultsDisabled" depending on the branch.
cronet_apex_defaults = "CronetApexDefaultsEnabled"
// This is a placeholder comment to avoid merge conflicts
// as cronet_apex_defaults may have different values
// depending on the branch

apex_defaults {
    name: "CronetApexDefaults",
    defaults: [cronet_apex_defaults],
}

apex_defaults {
    name: "CronetApexDefaultsEnabled",
    jni_libs: ["libcronet.107.0.5284.2"],
    java_libs: ["framework-cronet"],
    arch: {
        riscv64: {
            // TODO: remove this when there is a riscv64 libcronet
            exclude_jni_libs: ["libcronet.107.0.5284.2"],
        },
    },
}

apex_defaults {
    name: "CronetApexDefaultsDisabled",
}

// TODO: Remove cronet apex after com.android.cronet is removed from PRODUCT_PACKAGES
apex {
    name: "com.android.cronet",
    key: "com.android.cronet.key",
    updatable: false,
    manifest: "manifest.json",
}

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