diff --git a/framework/Android.bp b/framework/Android.bp index cab11ae0a2..7897492809 100644 --- a/framework/Android.bp +++ b/framework/Android.bp @@ -62,6 +62,7 @@ java_defaults { ":framework-connectivity-sources", ":net-utils-framework-common-srcs", ":framework-connectivity-api-shared-srcs", + ":framework-remoteauth-java-sources", ], aidl: { generate_get_transaction_name: true, @@ -150,6 +151,7 @@ java_sdk_library { "//packages/modules/Connectivity/framework-t", "//packages/modules/Connectivity/service", "//packages/modules/Connectivity/service-t", + "//packages/modules/Connectivity/remoteauth:__subpackages__", "//frameworks/base/packages/Connectivity/service", "//frameworks/base", diff --git a/nearby/service/Android.bp b/nearby/service/Android.bp index ef07bb9101..684b133188 100644 --- a/nearby/service/Android.bp +++ b/nearby/service/Android.bp @@ -104,7 +104,7 @@ java_library { ], sdk_version: "system_server_current", // This is included in service-connectivity which is 30+ - // TODO: allow APEXes to have service jars with higher min_sdk than the APEX + // TODO (b/293613362): allow APEXes to have service jars with higher min_sdk than the APEX // (service-connectivity is only used on 31+) and use 31 here min_sdk_version: "30", diff --git a/remote_auth/OWNERS b/remoteauth/OWNERS similarity index 100% rename from remote_auth/OWNERS rename to remoteauth/OWNERS diff --git a/remote_auth/README.md b/remoteauth/README.md similarity index 100% rename from remote_auth/README.md rename to remoteauth/README.md diff --git a/remoteauth/TEST_MAPPING b/remoteauth/TEST_MAPPING new file mode 100644 index 0000000000..5ad8da6157 --- /dev/null +++ b/remoteauth/TEST_MAPPING @@ -0,0 +1,13 @@ +{ + "presubmit": [ + { + "name": "RemoteAuthUnitTests" + } + ] + // TODO(b/193602229): uncomment once it's supported. + //"mainline-presubmit": [ + // { + // "name": "RemoteAuthUnitTests[com.google.android.tethering.apex]" + // } + //] +} diff --git a/remoteauth/framework/Android.bp b/remoteauth/framework/Android.bp new file mode 100644 index 0000000000..48d10b6fda --- /dev/null +++ b/remoteauth/framework/Android.bp @@ -0,0 +1,49 @@ +// Copyright (C) 2023 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"], +} + +// Sources included in the framework-connectivity jar +filegroup { + name: "framework-remoteauth-java-sources", + srcs: [ + "java/**/*.java", + "java/**/*.aidl", + ], + path: "java", + visibility: [ + "//packages/modules/Connectivity/framework:__subpackages__", + ], +} + +filegroup { + name: "framework-remoteauth-sources", + defaults: ["framework-sources-module-defaults"], + srcs: [ + ":framework-remoteauth-java-sources", + ], +} + +// Build of only framework-remoteauth (not as part of connectivity) for +// unit tests +java_library { + name: "framework-remoteauth-static", + srcs: [":framework-remoteauth-java-sources"], + sdk_version: "module_current", + libs: [], + static_libs: [], + visibility: ["//packages/modules/Connectivity/remoteauth/tests:__subpackages__"], +} diff --git a/remoteauth/framework/java/android/remoteauth/README.md b/remoteauth/framework/java/android/remoteauth/README.md new file mode 100644 index 0000000000..13fefee16b --- /dev/null +++ b/remoteauth/framework/java/android/remoteauth/README.md @@ -0,0 +1 @@ +This is the source root for the RemoteAuth framework \ No newline at end of file diff --git a/remoteauth/framework/java/android/remoteauth/aidl/README.md b/remoteauth/framework/java/android/remoteauth/aidl/README.md new file mode 100644 index 0000000000..1e9422ee44 --- /dev/null +++ b/remoteauth/framework/java/android/remoteauth/aidl/README.md @@ -0,0 +1 @@ +This is where the RemoteAuth AIDL files will go \ No newline at end of file diff --git a/remoteauth/service/Android.bp b/remoteauth/service/Android.bp new file mode 100644 index 0000000000..5c5a2fbc3c --- /dev/null +++ b/remoteauth/service/Android.bp @@ -0,0 +1,59 @@ +// Copyright (C) 2023 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"], +} + +filegroup { + name: "remoteauth-service-srcs", + srcs: ["java/**/*.java"], +} + +// Main lib for remoteauth services. +java_library { + name: "service-remoteauth-pre-jarjar", + srcs: [":remoteauth-service-srcs"], + + defaults: [ + "framework-system-server-module-defaults" + ], + libs: [], + static_libs: [], + sdk_version: "system_server_current", + // This is included in service-connectivity which is 30+ + // TODO (b/293613362): allow APEXes to have service jars with higher min_sdk than the APEX + // (service-connectivity is only used on 31+) and use 31 here + min_sdk_version: "30", + + dex_preopt: { + enabled: false, + app_image: false, + }, + visibility: [ + "//packages/modules/RemoteAuth/apex", + ], + apex_available: [ + "com.android.tethering", + ], +} + +genrule { + name: "statslog-remoteauth-java-gen", + tools: ["stats-log-api-gen"], + cmd: "$(location stats-log-api-gen) --java $(out) --module remoteauth " + + " --javaPackage com.android.server.remoteauth.proto --javaClass RemoteAuthStatsLog" + + " --minApiLevel 33", + out: ["com/android/server/remoteauth/proto/RemoteAuthStatsLog.java"], +} diff --git a/remoteauth/service/java/com/android/server/remoteauth/README.md b/remoteauth/service/java/com/android/server/remoteauth/README.md new file mode 100644 index 0000000000..423ab45126 --- /dev/null +++ b/remoteauth/service/java/com/android/server/remoteauth/README.md @@ -0,0 +1 @@ +This is the source root for the RemoteAuthService \ No newline at end of file diff --git a/remoteauth/tests/unit/Android.bp b/remoteauth/tests/unit/Android.bp new file mode 100644 index 0000000000..8c08a1b4f8 --- /dev/null +++ b/remoteauth/tests/unit/Android.bp @@ -0,0 +1,48 @@ +// Copyright (C) 2023 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"], +} + +android_test { + name: "RemoteAuthUnitTests", + defaults: ["mts-target-sdk-version-current"], + sdk_version: "test_current", + min_sdk_version: "31", + + // Include all test java files. + srcs: ["src/**/*.java"], + + libs: [ + "android.test.base", + "android.test.mock", + "android.test.runner", + ], + compile_multilib: "both", + + static_libs: [ + "androidx.test.ext.junit", + "androidx.test.rules", + "framework-remoteauth-static", + "junit", + "platform-test-annotations", + "service-remoteauth-pre-jarjar", + "truth-prebuilt", + ], + test_suites: [ + "general-tests", + "mts-tethering", + ], +} diff --git a/remoteauth/tests/unit/AndroidManifest.xml b/remoteauth/tests/unit/AndroidManifest.xml new file mode 100644 index 0000000000..0449409119 --- /dev/null +++ b/remoteauth/tests/unit/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + diff --git a/remoteauth/tests/unit/AndroidTest.xml b/remoteauth/tests/unit/AndroidTest.xml new file mode 100644 index 0000000000..325fdc69f7 --- /dev/null +++ b/remoteauth/tests/unit/AndroidTest.xml @@ -0,0 +1,40 @@ + + + + + + + + + +