diff options
author | Mark Chien <markchien@google.com> | 2019-10-24 13:10:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-10-24 13:10:04 +0000 |
commit | 8c26c389848abb0b2b80ea10e4a372cd4f5e74ba (patch) | |
tree | d258aed541c9c0f2502e1c86493d5863d569d27d | |
parent | dcc401b7b71807cb91a195e0cc7e85a5a363c7d5 (diff) | |
parent | 017fef23a0012bc82d98bd570c1b06734ed53dbf (diff) | |
download | base-8c26c389848abb0b2b80ea10e4a372cd4f5e74ba.tar.gz |
Merge "[Tether01] Add Tethering App"
-rw-r--r-- | packages/Tethering/Android.bp | 62 | ||||
-rw-r--r-- | packages/Tethering/AndroidManifest.xml | 29 | ||||
-rw-r--r-- | packages/Tethering/AndroidManifestBase.xml | 29 | ||||
-rw-r--r-- | packages/Tethering/common/TetheringLib/Android.bp | 40 | ||||
-rw-r--r-- | packages/Tethering/common/TetheringLib/src/android/net/ITetheringConnector.aidl | 20 | ||||
-rw-r--r-- | packages/Tethering/proguard.flags | 1 | ||||
-rw-r--r-- | packages/Tethering/res/values/config.xml | 7 | ||||
-rw-r--r-- | services/net/Android.bp | 1 |
8 files changed, 189 insertions, 0 deletions
diff --git a/packages/Tethering/Android.bp b/packages/Tethering/Android.bp new file mode 100644 index 000000000000..a8d3018bc1b3 --- /dev/null +++ b/packages/Tethering/Android.bp @@ -0,0 +1,62 @@ +// +// 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. +// + +java_defaults { + name: "TetheringAndroidLibraryDefaults", + platform_apis: true, + srcs: [ + "src/**/*.java", + ], + static_libs: [ + "androidx.annotation_annotation", + "tethering-client", + ], + manifest: "AndroidManifestBase.xml", +} + +// Build tethering static library, used to compile both variants of the tethering. +android_library { + name: "TetheringApiCurrentLib", + defaults: ["TetheringAndroidLibraryDefaults"], +} + +// Common defaults for compiling the actual APK. +java_defaults { + name: "TetheringAppDefaults", + platform_apis: true, + privileged: true, + resource_dirs: [ + "res", + ], + optimize: { + proguard_flags_files: ["proguard.flags"], + }, +} + +// Non-updatable tethering running in the system server process for devices not using the module +// TODO: build in-process tethering APK here. + +// Updatable tethering packaged as an application +android_app { + name: "Tethering", + defaults: ["TetheringAppDefaults"], + static_libs: ["TetheringApiCurrentLib"], + certificate: "networkstack", + manifest: "AndroidManifest.xml", + use_embedded_native_libs: true, + // The permission configuration *must* be included to ensure security of the device + required: ["NetworkPermissionConfig"], +} diff --git a/packages/Tethering/AndroidManifest.xml b/packages/Tethering/AndroidManifest.xml new file mode 100644 index 000000000000..eb51593e4538 --- /dev/null +++ b/packages/Tethering/AndroidManifest.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* + * 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. + */ +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tethering" + android:sharedUserId="android.uid.networkstack"> + <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" /> + + <application + android:process="com.android.networkstack.process" + android:extractNativeLibs="false" + android:persistent="true"> + </application> +</manifest> diff --git a/packages/Tethering/AndroidManifestBase.xml b/packages/Tethering/AndroidManifestBase.xml new file mode 100644 index 000000000000..b9cac1994359 --- /dev/null +++ b/packages/Tethering/AndroidManifestBase.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* + * 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. + */ +--> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.android.tethering" + android:versionCode="1" + android:versionName="R-initial"> + <application + android:label="Tethering" + android:defaultToDeviceProtectedStorage="true" + android:directBootAware="true" + android:usesCleartextTraffic="true"> + </application> +</manifest> diff --git a/packages/Tethering/common/TetheringLib/Android.bp b/packages/Tethering/common/TetheringLib/Android.bp new file mode 100644 index 000000000000..5b01b1e038c3 --- /dev/null +++ b/packages/Tethering/common/TetheringLib/Android.bp @@ -0,0 +1,40 @@ +// +// 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. +// + +// AIDL interfaces between the core system and the tethering mainline module. +aidl_interface { + name: "tethering-aidl-interfaces", + local_include_dir: "src", + srcs: [ + "src/android/net/ITetheringConnector.aidl", + ], + backend: { + ndk: { + enabled: false, + }, + cpp: { + enabled: false, + }, + }, +} + +java_library { + name: "tethering-client", + platform_apis: true, + static_libs: [ + "tethering-aidl-interfaces-java", + ], +} diff --git a/packages/Tethering/common/TetheringLib/src/android/net/ITetheringConnector.aidl b/packages/Tethering/common/TetheringLib/src/android/net/ITetheringConnector.aidl new file mode 100644 index 000000000000..443481e33f8d --- /dev/null +++ b/packages/Tethering/common/TetheringLib/src/android/net/ITetheringConnector.aidl @@ -0,0 +1,20 @@ +/** + * 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 perNmissions and + * limitations under the License. + */ +package android.net; + +/** @hide */ +oneway interface ITetheringConnector { +} diff --git a/packages/Tethering/proguard.flags b/packages/Tethering/proguard.flags new file mode 100644 index 000000000000..77fc024a8755 --- /dev/null +++ b/packages/Tethering/proguard.flags @@ -0,0 +1 @@ +#TBD diff --git a/packages/Tethering/res/values/config.xml b/packages/Tethering/res/values/config.xml new file mode 100644 index 000000000000..37e679dbeb63 --- /dev/null +++ b/packages/Tethering/res/values/config.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <!-- + OEMs that wish to change the below settings must do so via a runtime resource overlay package + and *NOT* by changing this file. This file is part of the tethering mainline module. + --> +</resources> diff --git a/services/net/Android.bp b/services/net/Android.bp index 1ca96ed80e5e..b0af59927945 100644 --- a/services/net/Android.bp +++ b/services/net/Android.bp @@ -5,6 +5,7 @@ java_library_static { "dnsresolver_aidl_interface-V2-java", "netd_aidl_interface-java", "networkstack-client", + "tethering-client", ], } |