1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5filegroup { 6 name: "framework-bluetooth-sources", 7 defaults: ["framework-sources-module-defaults"], 8 srcs: [ 9 "java/**/*.aidl", 10 "java/**/*.java", 11 ], 12 path: "java", 13 visibility: ["//packages/modules/Bluetooth/framework/tests/unit"], 14} 15 16// defaults shared between `framework-bluetooth` & `framework-bluetooth-pre-jarjar` 17// java_sdk_library `framework-bluetooth` needs sources to generate stubs, so it cannot reuse 18// `framework-bluetooth-pre-jarjar` 19java_defaults { 20 name: "framework-bluetooth-defaults", 21 static_libs: [ 22 "PlatformProperties", 23 "bluetooth_constants_java", 24 "bluetooth_flags_java_lib", 25 "modules-utils-build", 26 "modules-utils-expresslog", 27 "service-bluetooth-binder-aidl", 28 ], 29 libs: [ 30 "app-compat-annotations", 31 "framework-tethering.stubs.module_lib", 32 "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage 33 ], 34 stub_only_libs: [ 35 // TODO: b/332362688 --- Metalava should already ignore our library 36 "bluetooth_flags_java_lib", 37 "framework-tethering.stubs.module_lib", 38 ], 39 srcs: [ 40 ":Bluetooth-binder-aidl", 41 ":framework-bluetooth-sources", 42 ], 43 min_sdk_version: "Tiramisu", 44} 45 46// bluetooth-service needs pre-jarjared version of framework-bluetooth so it can reference copied utility 47// classes before they are renamed. 48java_library { 49 name: "framework-bluetooth-pre-jarjar", 50 defaults: ["framework-bluetooth-defaults"], 51 sdk_version: "module_current", 52 libs: ["framework-annotations-lib"], 53 installable: false, 54 visibility: ["//packages/modules/Bluetooth:__subpackages__"], 55} 56 57// post-jarjar version of framework-bluetooth 58java_sdk_library { 59 name: "framework-bluetooth", 60 defaults: [ 61 "bluetooth_framework_errorprone_rules", 62 "framework-bluetooth-defaults", 63 "framework-module-defaults", 64 ], 65 66 jarjar_rules: ":bluetooth-jarjar-rules", 67 installable: true, 68 optimize: { 69 enabled: false, 70 }, 71 hostdex: true, // for hiddenapi check 72 73 impl_library_visibility: [ 74 "//external/sl4a/Common", 75 "//packages/modules/Bluetooth/android/app/tests/unit", 76 "//packages/modules/Bluetooth/android/pandora/server", 77 "//packages/modules/Bluetooth/framework/tests/bumble", 78 "//packages/modules/Bluetooth/service", 79 "//packages/services/Car/car-builtin-lib", 80 // TODO(240720385) 81 "//packages/services/Car/tests/CarBuiltinLibUnitTest", 82 ":__subpackages__", 83 ], 84 85 apex_available: [ 86 "com.android.btservices", 87 ], 88 89 permitted_packages: [ 90 "android.bluetooth", 91 "com.android.bluetooth.jarjar", 92 ], 93 aconfig_declarations: [ 94 "bluetooth_aconfig_flags", 95 ], 96 lint: { 97 error_checks: [ 98 "Autofill", 99 "DefaultLocale", 100 "DuplicateDefinition", 101 "ExtraText", 102 "ExtraTranslation", 103 "FlaggedApi", 104 "GestureBackNavigation", 105 "GetterSetterNullability", 106 "GuardedLogInvocation", 107 "HandlerLeak", 108 "InflateParams", 109 "LabelFor", 110 "MissingClass", 111 "MonochromeLauncherIcon", 112 "NewApi", 113 "ObsoleteSdkInt", 114 "Recycle", 115 "RtlHardcoded", 116 "RtlSymmetry", 117 "ScrollViewSize", 118 "SetTextI18n", 119 "SimpleDateFormat", 120 "StaticFieldLeak", 121 "StringFormatCount", 122 "StringFormatInvalid", 123 "SupportAnnotationUsage", 124 "TextFields", 125 "TypographyEllipsis", 126 "UseSparseArrays", 127 "UseValueOf", 128 "VectorPath", 129 "VisibleForTests", 130 "Wakelock", 131 "WakelockTimeout", 132 "WrongConstant", 133 ], 134 strict_updatability_linting: true, 135 baseline_filename: "lint-baseline.xml", 136 }, 137} 138 139// defaults for tests that need to build against framework-bluetooths's @hide APIs 140java_defaults { 141 name: "framework-bluetooth-tests-defaults", 142 sdk_version: "core_platform", 143 libs: [ 144 // order matters: classes in framework-bluetooth are resolved before framework, meaning 145 // @hide APIs in framework-bluetooth are resolved before @SystemApi stubs in framework 146 "framework-bluetooth.impl", 147 148 "framework", 149 // if sdk_version="" this gets automatically included, but here we need to add manually. 150 "framework-res", 151 ], 152 defaults_visibility: ["//packages/modules/Bluetooth:__subpackages__"], 153} 154 155filegroup { 156 name: "bluetooth-jarjar-rules", 157 srcs: ["jarjar-rules.txt"], 158} 159 160platform_compat_config { 161 name: "framework-bluetooth-compat-config", 162 src: ":framework-bluetooth", 163} 164