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

genrule {
  name: "statslog-imsentitlement-java-gen",
  tools: ["stats-log-api-gen"],
  cmd: "$(location stats-log-api-gen) --java $(out) --module imsentitlement --javaPackage com.android.imsserviceentitlement --javaClass ImsServiceEntitlementStatsLog",
  out: ["com/android/imsserviceentitlement/ImsServiceEntitlementStatsLog.java"],
}

// Library isn't proguard optimized, suitable for unit test
android_library {
    name: "ImsServiceEntitlementLib",
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.fragment_fragment",
        "service-entitlement",
        "setupdesign",
        "guava",
        "firebase-encoders-jar",
        "firebase-common-aar",
        "firebase-components-aar",
        "firebase-iid-aar",
        "firebase-iid-interop-aar",
        "firebase-installations-aar",
        "firebase-installations-interop-aar",
        "firebase-messaging-aar",
        "play-services-basement-aar",
        "play-services-cloud-messaging-aar",
        "play-services-tasks-aar",
        "transport-api-aar",
        "firebase-measurement-connector-aar",
        "firebase-encoders-json-aar",
        "firebase-datatransport-aar",
        "play-services-stats-aar",
        "transport-runtime-aar",
        "transport-backend-cct-aar",
        "jsr330",
        "dagger2",
    ],
    libs: [
        "auto_value_annotations",
    ],
    plugins: ["auto_value_plugin"],
    resource_dirs: ["res"],
    srcs: [
        "src/**/*.java",
        ":statslog-imsentitlement-java-gen",
    ],
    sdk_version: "system_current",
}

android_app {
    name: "ImsServiceEntitlement",
    static_libs: [
        "ImsServiceEntitlementLib",
    ],
    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
    product_specific: true,
    sdk_version: "system_current",
    privileged: true,
    required: ["privapp_whitelist_com.android.imsserviceentitlement"],
}
