// 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. filegroup { name: "framework-wifi-updatable-exported-aidl-sources", srcs: ["aidl-export/**/*.aidl"], path: "aidl-export", visibility: ["//visibility:private"], } filegroup { name: "framework-wifi-updatable-java-sources", srcs: [ "java/**/*.java", "java/**/*.aidl", ], exclude_srcs: [ ":framework-wifi-non-updatable-sources" ], path: "java", visibility: ["//visibility:private"], } filegroup { name: "framework-wifi-updatable-sources", srcs: [ ":framework-wifi-updatable-java-sources", ":framework-wifi-updatable-exported-aidl-sources", ], } filegroup { name: "framework-wifi-non-updatable-sources", srcs: [ // TODO(b/146011398) package android.net.wifi is now split amongst 2 jars: framework.jar and // framework-wifi.jar. This is not a good idea, should move WifiNetworkScoreCache // to a separate package. "java/android/net/wifi/WifiNetworkScoreCache.java", "java/android/net/wifi/WifiOemMigrationHook.java", "java/android/net/wifi/nl80211/*.java", ":libwificond_ipc_aidl", ], } filegroup { name: "framework-wifi-annotations", srcs: ["java/android/net/wifi/WifiAnnotations.java"], } // list of tests that are allowed to access @hide APIs from framework-wifi test_access_hidden_api_whitelist = [ "//frameworks/base/wifi/tests", "//frameworks/opt/net/wifi/tests/wifitests:__subpackages__", "//external/robolectric-shadows:__subpackages__", "//frameworks/base/packages/SettingsLib/tests/integ", "//external/sl4a:__subpackages__", ] // wifi-service needs pre-jarjared version of framework-wifi so it can reference copied utility // classes before they are renamed. java_library { name: "framework-wifi-pre-jarjar", // TODO(b/146757305): sdk_version should be "module_lib_current" sdk_version: "core_current", static_libs: [ "framework-wifi-util-lib", "android.hardware.wifi-V1.0-java-constants", ], libs: [ "framework-annotations-lib", "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage "unsupportedappusage-annotation", // for dalvik.annotation.compat.UnsupportedAppUsage "framework-telephony-stubs", // TODO(b/146757305): should be unnecessary once // sdk_version="module_lib_current" "android_system_stubs_current", ], srcs: [ ":framework-wifi-updatable-sources", ], // java_api_finder must accompany `srcs` plugins: ["java_api_finder"], installable: false, visibility: [ "//frameworks/opt/net/wifi/service", "//frameworks/opt/net/wifi/tests/wifitests", ], // TODO(b/146757305): should be unnecessary once // sdk_version="module_lib_current" aidl: { include_dirs: [ "frameworks/base/core/java", ], }, } // post-jarjar version of framework-wifi java_library { name: "framework-wifi", // TODO(b/146757305): sdk_version should be "module_lib_current" sdk_version: "core_current", static_libs: [ "framework-wifi-pre-jarjar", ], jarjar_rules: ":wifi-jarjar-rules", installable: true, optimize: { enabled: false }, hostdex: true, // for hiddenapi check visibility: [ "//frameworks/opt/net/wifi/service:__subpackages__", ] + test_access_hidden_api_whitelist, apex_available: [ "com.android.wifi", "test_com.android.wifi", ], } droidstubs { name: "framework-wifi-stubs-srcs", srcs: [ ":framework-annotations", ":framework-wifi-updatable-sources", ], // This is needed as IOnWifiActivityEnergyInfoListener.aidl in framework-wifi depends on // WifiActivityEnergyInfo.aidl in framework-minus-apex aidl: { include_dirs: ["frameworks/base/core/java"], }, defaults: [ "framework-module-stubs-defaults-systemapi" ], sdk_version: "core_current", libs: ["android_system_stubs_current"], } java_library { name: "framework-wifi-stubs", srcs: [":framework-wifi-stubs-srcs"], sdk_version: "core_current", libs: ["android_system_stubs_current"], installable: false, } // defaults for tests that need to build against framework-wifi's @hide APIs java_defaults { name: "framework-wifi-test-defaults", sdk_version: "core_platform", // tests can use @CorePlatformApi's libs: [ // order matters: classes in framework-wifi are resolved before framework, meaning // @hide APIs in framework-wifi are resolved before @SystemApi stubs in framework "framework-wifi", "framework", // if sdk_version="" this gets automatically included, but here we need to add manually. "framework-res", ], visibility: test_access_hidden_api_whitelist, } filegroup { name: "wifi-jarjar-rules", srcs: ["jarjar-rules.txt"], }