1// 2// Copyright (C) 2022 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: [ 19 "packages_modules_DeviceLock_DeviceLockController_license", 20 ], 21} 22 23license { 24 name: "packages_modules_DeviceLock_DeviceLockController_license", 25 visibility: [":__subpackages__"], 26 license_kinds: [ 27 "SPDX-license-identifier-Apache-2.0", 28 ], 29 license_text: [ 30 "NOTICE", 31 ], 32} 33 34genrule { 35 name: "statslog-devicelock-java-gen", 36 tools: ["stats-log-api-gen"], 37 cmd: "$(location stats-log-api-gen) --java $(out) --module devicelock" + 38 " --javaPackage com.android.devicelockcontroller" + 39 " --javaClass DevicelockStatsLog", 40 out: ["com/android/devicelockcontroller/DevicelockStatsLog.java"], 41} 42 43java_library { 44 name: "devicelockcontroller-interface", 45 sdk_version: "module_current", 46 min_sdk_version: "UpsideDownCake", 47 srcs: ["src/**/*.aidl"], 48 apex_available: [ 49 "com.android.devicelock", 50 ], 51 visibility: [ 52 "//packages/modules/DeviceLock:__subpackages__", 53 ], 54} 55 56java_library { 57 name: "devicelockcontroller-thread-asserts-lib", 58 srcs: [ 59 "src/com/android/devicelockcontroller/util/ThreadAsserts.java", 60 ], 61 sdk_version: "module_current", 62 min_sdk_version: "UpsideDownCake", 63 apex_available: ["com.android.devicelock"], 64 visibility: [ 65 "//packages/modules/DeviceLock:__subpackages__", 66 ], 67} 68 69java_library { 70 name: "devicelockcontroller-common-lib", 71 srcs: [ 72 "src/com/android/devicelockcontroller/common/*.java", 73 "src/com/android/devicelockcontroller/util/*.java", 74 ], 75 sdk_version: "module_current", 76 min_sdk_version: "UpsideDownCake", 77 apex_available: ["com.android.devicelock"], 78 static_libs: [ 79 "androidx.annotation_annotation", 80 "guava", 81 ], 82 visibility: [ 83 "//packages/modules/DeviceLock:__subpackages__", 84 ], 85} 86 87java_library { 88 name: "devicelockcontroller-grpc-interface-lib", 89 srcs: ["src/com/android/devicelockcontroller/provision/grpc/**/*.java"], 90 sdk_version: "module_current", 91 min_sdk_version: "UpsideDownCake", 92 apex_available: ["com.android.devicelock"], 93 static_libs: [ 94 "devicelockcontroller-common-lib", 95 "androidx.annotation_annotation", 96 "grpc-java-core-android", 97 "grpc-java-okhttp-client-lite", 98 "libprotobuf-java-lite", 99 "opencensus-java-api", 100 "opencensus-java-contrib-grpc-metrics", 101 ], 102 libs: [ 103 "devicelockcontroller-proto-lite", 104 "framework-connectivity.stubs.module_lib", 105 ], 106 visibility: [ 107 "//packages/modules/DeviceLock:__subpackages__", 108 "//vendor:__subpackages__", 109 ], 110} 111 112java_test_helper_library { 113 name: "devicelockcontroller-stats", 114 sdk_version: "module_current", 115 srcs: [ 116 "src/**/stats/*.java", 117 ":statslog-devicelock-java-gen", 118 ], 119 libs: [ 120 "framework-statsd.stubs.module_lib", 121 "modules-utils-expresslog", 122 ], 123 static_libs: [ 124 "androidx.annotation_annotation", 125 ], 126 visibility: [ 127 "//packages/modules/DeviceLock:__subpackages__", 128 ], 129} 130 131// Library with all dependencies for building DeviceLockController 132android_library { 133 name: "devicelockcontroller-lib", 134 sdk_version: "module_current", 135 min_sdk_version: "UpsideDownCake", 136 srcs: [ 137 "src/**/*.java", 138 ":statslog-devicelock-java-gen", 139 ], 140 exclude_srcs: [ 141 "src/com/android/devicelockcontroller/debug/*.java", 142 ], 143 resource_dirs: ["res"], 144 libs: [ 145 "framework-annotations-lib", 146 "framework-devicelock.impl", 147 "org.apache.http.legacy.stubs.system", 148 "framework-statsd.stubs.module_lib", 149 "modules-utils-expresslog", 150 "devicelockcontroller-proto-lite", 151 "framework-connectivity.stubs.module_lib", 152 ], 153 static_libs: [ 154 "androidx.annotation_annotation", 155 "androidx.collection_collection", 156 "androidx.lifecycle_lifecycle-extensions", 157 "androidx.preference_preference", 158 "androidx.work_work-runtime", 159 "devicelockcontroller-grpc-interface-lib", 160 "devicelockcontroller-interface", 161 // TODO: Check if we have an alternate for this 162 "com.google.android.material_material", 163 "guava", 164 "jsr330", 165 "dagger2", 166 "SettingsLibCollapsingToolbarBaseActivity", 167 "SettingsLibTopIntroPreference", 168 ], 169 manifest: "AndroidManifestBase.xml", 170 apex_available: [ 171 "com.android.devicelock", 172 ], 173 visibility: [ 174 "//packages/modules/DeviceLock:__subpackages__", 175 "//vendor:__subpackages__", 176 ], 177} 178 179android_app { 180 name: "DeviceLockController", 181 sdk_version: "module_current", 182 min_sdk_version: "UpsideDownCake", 183 updatable: true, 184 privileged: true, 185 privapp_allowlist: ":privapp_allowlist_com.android.devicelockcontroller.xml", 186 certificate: "platform", 187 rename_resources_package: false, 188 189 static_libs: [ 190 "devicelockcontroller-lib", 191 "devicelockcontroller-grpc-interface-lib", 192 "devicelockcontroller-proto-lite", 193 ], 194 195 optimize: { 196 proguard_flags_files: ["proguard.flags"], 197 shrink_resources: true, 198 }, 199 200 apex_available: [ 201 "//apex_available:platform", 202 "com.android.devicelock", 203 ], 204} 205 206android_app { 207 name: "DeviceLockControllerDebug", 208 sdk_version: "module_current", 209 min_sdk_version: "UpsideDownCake", 210 updatable: true, 211 privileged: true, 212 privapp_allowlist: ":privapp_allowlist_com.android.devicelockcontroller.xml", 213 certificate: "platform", 214 rename_resources_package: false, 215 216 static_libs: [ 217 "devicelockcontroller-debug-lib", 218 "devicelockcontroller-grpc-interface-lib", 219 "devicelockcontroller-proto-lite", 220 ], 221 222 optimize: { 223 proguard_flags_files: ["proguard.flags"], 224 shrink_resources: true, 225 }, 226 227 apex_available: [ 228 "//apex_available:platform", 229 "com.android.devicelock", 230 ], 231} 232