1//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
21apex_defaults {
22    name: "com.android.wifi-defaults",
23    androidManifest: ":com.android.wifi-androidManifest",
24    bootclasspath_fragments: ["com.android.wifi-bootclasspath-fragment"],
25    java_libs: [
26        "service-wifi",
27    ],
28    // from build rule `cacerts_wfa`
29    prebuilts: [
30        "target-cacert-wifi-674b5f5b.0",
31        "target-cacert-wifi-21125ccd.0",
32        "target-cacert-wifi-ea93cb5b.0",
33    ],
34    key: "com.android.wifi.key",
35    certificate: ":com.android.wifi.certificate",
36    apps: [
37        "OsuLogin",
38        "ServiceWifiResources",
39    ],
40    min_sdk_version: "30",
41    updatable: true,
42    // Indicates that pre-installed version of this apex can be compressed.
43    // Whether it actually will be compressed is controlled on per-device basis.
44    compressible: true,
45}
46
47filegroup {
48    name: "com.android.wifi-androidManifest",
49    srcs: ["AndroidManifest.xml"],
50}
51
52// Mainline wifi apex module.
53apex {
54    name: "com.android.wifi",
55    defaults: ["com.android.wifi-defaults"],
56    manifest: "apex_manifest.json",
57}
58
59apex_key {
60    name: "com.android.wifi.key",
61    public_key: "com.android.wifi.avbpubkey",
62    private_key: "com.android.wifi.pem",
63}
64
65android_app_certificate {
66    name: "com.android.wifi.certificate",
67    certificate: "com.android.wifi",
68}
69
70sdk {
71    name: "wifi-module-sdk",
72    bootclasspath_fragments: ["com.android.wifi-bootclasspath-fragment"],
73}
74
75// Encapsulate the contributions made by the com.android.wifi to the bootclasspath.
76bootclasspath_fragment {
77    name: "com.android.wifi-bootclasspath-fragment",
78    contents: ["framework-wifi"],
79    apex_available: ["com.android.wifi"],
80
81    // The bootclasspath_fragments that provide APIs on which this depends.
82    fragments: [
83        {
84            apex: "com.android.art",
85            module: "art-bootclasspath-fragment",
86        },
87    ],
88
89    // Additional stubs libraries that this fragment's contents use which are
90    // not provided by another bootclasspath_fragment.
91    additional_stubs: [
92        "android-non-updatable",
93    ],
94
95    // Additional hidden API flag files to override the defaults. This must only be
96    // modified by the Soong or platform compat team.
97    hidden_api: {
98        max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
99        max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
100        unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
101    },
102}
103