Merge "Build framework-connectivity-tiramisu library" am: a77cad355b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1912733 Change-Id: I86470b15b26ac171f8cb07f5d51b2bf68db1da51
This commit is contained in:
commit
c4e1e23add
16 changed files with 310 additions and 0 deletions
|
|
@ -95,6 +95,7 @@ bootclasspath_fragment {
|
||||||
name: "com.android.tethering-bootclasspath-fragment",
|
name: "com.android.tethering-bootclasspath-fragment",
|
||||||
contents: [
|
contents: [
|
||||||
"framework-connectivity",
|
"framework-connectivity",
|
||||||
|
"framework-connectivity-tiramisu",
|
||||||
"framework-tethering",
|
"framework-tethering",
|
||||||
],
|
],
|
||||||
apex_available: ["com.android.tethering"],
|
apex_available: ["com.android.tethering"],
|
||||||
|
|
@ -116,6 +117,7 @@ bootclasspath_fragment {
|
||||||
// Additional hidden API flag files to override the defaults. This must only be
|
// Additional hidden API flag files to override the defaults. This must only be
|
||||||
// modified by the Soong or platform compat team.
|
// modified by the Soong or platform compat team.
|
||||||
hidden_api: {
|
hidden_api: {
|
||||||
|
max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-loprio.txt"],
|
||||||
max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
|
max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
|
||||||
unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
|
unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1163,6 +1163,93 @@ Landroid/net/NetworkWatchlistManager;->reloadWatchlist()V
|
||||||
Landroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
|
Landroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
|
||||||
Landroid/net/NetworkWatchlistManager;->SHARED_MEMORY_TAG:Ljava/lang/String;
|
Landroid/net/NetworkWatchlistManager;->SHARED_MEMORY_TAG:Ljava/lang/String;
|
||||||
Landroid/net/NetworkWatchlistManager;->TAG:Ljava/lang/String;
|
Landroid/net/NetworkWatchlistManager;->TAG:Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;-><init>()V
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;-><init>(Landroid/net/nsd/DnsSdTxtRecord;)V
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;-><init>([B)V
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->contains(Ljava/lang/String;)Z
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->CREATOR:Landroid/os/Parcelable$Creator;
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->get(Ljava/lang/String;)Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->getKey(I)Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->getRawData()[B
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->getValue(I)[B
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->getValue(Ljava/lang/String;)[B
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->getValueAsString(I)Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->insert([B[BI)V
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->keyCount()I
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->mData:[B
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->mSeperator:B
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->remove(Ljava/lang/String;)I
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->set(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Landroid/net/nsd/DnsSdTxtRecord;->size()I
|
||||||
|
Landroid/net/nsd/INsdManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
|
||||||
|
Landroid/net/nsd/INsdManager$Stub$Proxy;->getInterfaceDescriptor()Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/INsdManager$Stub$Proxy;->getMessenger()Landroid/os/Messenger;
|
||||||
|
Landroid/net/nsd/INsdManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
|
||||||
|
Landroid/net/nsd/INsdManager$Stub$Proxy;->setEnabled(Z)V
|
||||||
|
Landroid/net/nsd/INsdManager$Stub;-><init>()V
|
||||||
|
Landroid/net/nsd/INsdManager$Stub;->DESCRIPTOR:Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/INsdManager$Stub;->TRANSACTION_getMessenger:I
|
||||||
|
Landroid/net/nsd/INsdManager$Stub;->TRANSACTION_setEnabled:I
|
||||||
|
Landroid/net/nsd/INsdManager;->setEnabled(Z)V
|
||||||
|
Landroid/net/nsd/NsdManager;-><init>(Landroid/content/Context;Landroid/net/nsd/INsdManager;)V
|
||||||
|
Landroid/net/nsd/NsdManager;->BASE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->checkListener(Ljava/lang/Object;)V
|
||||||
|
Landroid/net/nsd/NsdManager;->checkProtocol(I)V
|
||||||
|
Landroid/net/nsd/NsdManager;->checkServiceInfo(Landroid/net/nsd/NsdServiceInfo;)V
|
||||||
|
Landroid/net/nsd/NsdManager;->DBG:Z
|
||||||
|
Landroid/net/nsd/NsdManager;->DISABLE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->disconnect()V
|
||||||
|
Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES:I
|
||||||
|
Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES_FAILED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->DISCOVER_SERVICES_STARTED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->ENABLE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->EVENT_NAMES:Landroid/util/SparseArray;
|
||||||
|
Landroid/net/nsd/NsdManager;->fatal(Ljava/lang/String;)V
|
||||||
|
Landroid/net/nsd/NsdManager;->FIRST_LISTENER_KEY:I
|
||||||
|
Landroid/net/nsd/NsdManager;->getListenerKey(Ljava/lang/Object;)I
|
||||||
|
Landroid/net/nsd/NsdManager;->getMessenger()Landroid/os/Messenger;
|
||||||
|
Landroid/net/nsd/NsdManager;->getNsdServiceInfoType(Landroid/net/nsd/NsdServiceInfo;)Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/NsdManager;->init()V
|
||||||
|
Landroid/net/nsd/NsdManager;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel;
|
||||||
|
Landroid/net/nsd/NsdManager;->mConnected:Ljava/util/concurrent/CountDownLatch;
|
||||||
|
Landroid/net/nsd/NsdManager;->mContext:Landroid/content/Context;
|
||||||
|
Landroid/net/nsd/NsdManager;->mHandler:Landroid/net/nsd/NsdManager$ServiceHandler;
|
||||||
|
Landroid/net/nsd/NsdManager;->mListenerKey:I
|
||||||
|
Landroid/net/nsd/NsdManager;->mListenerMap:Landroid/util/SparseArray;
|
||||||
|
Landroid/net/nsd/NsdManager;->mMapLock:Ljava/lang/Object;
|
||||||
|
Landroid/net/nsd/NsdManager;->mService:Landroid/net/nsd/INsdManager;
|
||||||
|
Landroid/net/nsd/NsdManager;->mServiceMap:Landroid/util/SparseArray;
|
||||||
|
Landroid/net/nsd/NsdManager;->nameOf(I)Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/NsdManager;->NATIVE_DAEMON_EVENT:I
|
||||||
|
Landroid/net/nsd/NsdManager;->nextListenerKey()I
|
||||||
|
Landroid/net/nsd/NsdManager;->putListener(Ljava/lang/Object;Landroid/net/nsd/NsdServiceInfo;)I
|
||||||
|
Landroid/net/nsd/NsdManager;->REGISTER_SERVICE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->REGISTER_SERVICE_FAILED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->REGISTER_SERVICE_SUCCEEDED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->removeListener(I)V
|
||||||
|
Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE_FAILED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->RESOLVE_SERVICE_SUCCEEDED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->SERVICE_FOUND:I
|
||||||
|
Landroid/net/nsd/NsdManager;->SERVICE_LOST:I
|
||||||
|
Landroid/net/nsd/NsdManager;->setEnabled(Z)V
|
||||||
|
Landroid/net/nsd/NsdManager;->STOP_DISCOVERY:I
|
||||||
|
Landroid/net/nsd/NsdManager;->STOP_DISCOVERY_FAILED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->STOP_DISCOVERY_SUCCEEDED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->TAG:Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE:I
|
||||||
|
Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE_FAILED:I
|
||||||
|
Landroid/net/nsd/NsdManager;->UNREGISTER_SERVICE_SUCCEEDED:I
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;-><init>(Ljava/lang/String;Ljava/lang/String;)V
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->getTxtRecord()[B
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->getTxtRecordSize()I
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->mHost:Ljava/net/InetAddress;
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->mPort:I
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->mServiceName:Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->mServiceType:Ljava/lang/String;
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->mTxtRecord:Landroid/util/ArrayMap;
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->setTxtRecords(Ljava/lang/String;)V
|
||||||
|
Landroid/net/nsd/NsdServiceInfo;->TAG:Ljava/lang/String;
|
||||||
Landroid/net/ProxyInfo;-><init>(Landroid/net/ProxyInfo;)V
|
Landroid/net/ProxyInfo;-><init>(Landroid/net/ProxyInfo;)V
|
||||||
Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;)V
|
Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;)V
|
||||||
Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;I)V
|
Landroid/net/ProxyInfo;-><init>(Landroid/net/Uri;I)V
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
Landroid/net/nsd/INsdManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/nsd/INsdManager;
|
||||||
60
framework-t/Android.bp
Normal file
60
framework-t/Android.bp
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2021 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 {
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||||
|
}
|
||||||
|
|
||||||
|
java_sdk_library {
|
||||||
|
name: "framework-connectivity-tiramisu",
|
||||||
|
sdk_version: "module_current",
|
||||||
|
min_sdk_version: "Tiramisu",
|
||||||
|
defaults: ["framework-module-defaults"],
|
||||||
|
srcs: [
|
||||||
|
":framework-connectivity-tiramisu-updatable-sources",
|
||||||
|
],
|
||||||
|
libs: [
|
||||||
|
"unsupportedappusage",
|
||||||
|
"app-compat-annotations",
|
||||||
|
],
|
||||||
|
permitted_packages: [
|
||||||
|
"android.net",
|
||||||
|
"android.net.nsd",
|
||||||
|
],
|
||||||
|
apex_available: [
|
||||||
|
"com.android.tethering",
|
||||||
|
],
|
||||||
|
impl_library_visibility: [
|
||||||
|
"//packages/modules/Connectivity/Tethering/apex",
|
||||||
|
// In preparation for future move
|
||||||
|
"//packages/modules/Connectivity/apex",
|
||||||
|
"//packages/modules/Connectivity/service-t",
|
||||||
|
"//frameworks/base",
|
||||||
|
|
||||||
|
// Tests using hidden APIs
|
||||||
|
"//cts/tests/netlegacy22.api",
|
||||||
|
"//external/sl4a:__subpackages__",
|
||||||
|
"//frameworks/libs/net/common/testutils",
|
||||||
|
"//frameworks/libs/net/common/tests:__subpackages__",
|
||||||
|
"//frameworks/opt/telephony/tests/telephonytests",
|
||||||
|
"//packages/modules/CaptivePortalLogin/tests",
|
||||||
|
"//packages/modules/Connectivity/Tethering/tests:__subpackages__",
|
||||||
|
"//packages/modules/Connectivity/tests:__subpackages__",
|
||||||
|
"//packages/modules/NetworkStack/tests:__subpackages__",
|
||||||
|
"//packages/modules/Wifi/service/tests/wifitests",
|
||||||
|
],
|
||||||
|
}
|
||||||
60
framework-t/api/current.txt
Normal file
60
framework-t/api/current.txt
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
// Signature format: 2.0
|
||||||
|
package android.net.nsd {
|
||||||
|
|
||||||
|
public final class NsdManager {
|
||||||
|
method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener);
|
||||||
|
method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener);
|
||||||
|
method public void resolveService(android.net.nsd.NsdServiceInfo, android.net.nsd.NsdManager.ResolveListener);
|
||||||
|
method public void stopServiceDiscovery(android.net.nsd.NsdManager.DiscoveryListener);
|
||||||
|
method public void unregisterService(android.net.nsd.NsdManager.RegistrationListener);
|
||||||
|
field public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED";
|
||||||
|
field public static final String EXTRA_NSD_STATE = "nsd_state";
|
||||||
|
field public static final int FAILURE_ALREADY_ACTIVE = 3; // 0x3
|
||||||
|
field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
|
||||||
|
field public static final int FAILURE_MAX_LIMIT = 4; // 0x4
|
||||||
|
field public static final int NSD_STATE_DISABLED = 1; // 0x1
|
||||||
|
field public static final int NSD_STATE_ENABLED = 2; // 0x2
|
||||||
|
field public static final int PROTOCOL_DNS_SD = 1; // 0x1
|
||||||
|
}
|
||||||
|
|
||||||
|
public static interface NsdManager.DiscoveryListener {
|
||||||
|
method public void onDiscoveryStarted(String);
|
||||||
|
method public void onDiscoveryStopped(String);
|
||||||
|
method public void onServiceFound(android.net.nsd.NsdServiceInfo);
|
||||||
|
method public void onServiceLost(android.net.nsd.NsdServiceInfo);
|
||||||
|
method public void onStartDiscoveryFailed(String, int);
|
||||||
|
method public void onStopDiscoveryFailed(String, int);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static interface NsdManager.RegistrationListener {
|
||||||
|
method public void onRegistrationFailed(android.net.nsd.NsdServiceInfo, int);
|
||||||
|
method public void onServiceRegistered(android.net.nsd.NsdServiceInfo);
|
||||||
|
method public void onServiceUnregistered(android.net.nsd.NsdServiceInfo);
|
||||||
|
method public void onUnregistrationFailed(android.net.nsd.NsdServiceInfo, int);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static interface NsdManager.ResolveListener {
|
||||||
|
method public void onResolveFailed(android.net.nsd.NsdServiceInfo, int);
|
||||||
|
method public void onServiceResolved(android.net.nsd.NsdServiceInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class NsdServiceInfo implements android.os.Parcelable {
|
||||||
|
ctor public NsdServiceInfo();
|
||||||
|
method public int describeContents();
|
||||||
|
method public java.util.Map<java.lang.String,byte[]> getAttributes();
|
||||||
|
method public java.net.InetAddress getHost();
|
||||||
|
method public int getPort();
|
||||||
|
method public String getServiceName();
|
||||||
|
method public String getServiceType();
|
||||||
|
method public void removeAttribute(String);
|
||||||
|
method public void setAttribute(String, String);
|
||||||
|
method public void setHost(java.net.InetAddress);
|
||||||
|
method public void setPort(int);
|
||||||
|
method public void setServiceName(String);
|
||||||
|
method public void setServiceType(String);
|
||||||
|
method public void writeToParcel(android.os.Parcel, int);
|
||||||
|
field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
9
framework-t/api/module-lib-current.txt
Normal file
9
framework-t/api/module-lib-current.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
// Signature format: 2.0
|
||||||
|
package android.net {
|
||||||
|
|
||||||
|
public final class ConnectivityFrameworkInitializerTiramisu {
|
||||||
|
method public static void registerServiceWrappers();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
1
framework-t/api/module-lib-removed.txt
Normal file
1
framework-t/api/module-lib-removed.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
// Signature format: 2.0
|
||||||
1
framework-t/api/removed.txt
Normal file
1
framework-t/api/removed.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
// Signature format: 2.0
|
||||||
1
framework-t/api/system-current.txt
Normal file
1
framework-t/api/system-current.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
// Signature format: 2.0
|
||||||
1
framework-t/api/system-removed.txt
Normal file
1
framework-t/api/system-removed.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
// Signature format: 2.0
|
||||||
|
|
@ -94,6 +94,7 @@ java_sdk_library {
|
||||||
// In preparation for future move
|
// In preparation for future move
|
||||||
"//packages/modules/Connectivity/apex",
|
"//packages/modules/Connectivity/apex",
|
||||||
"//packages/modules/Connectivity/service",
|
"//packages/modules/Connectivity/service",
|
||||||
|
"//packages/modules/Connectivity/service-t",
|
||||||
"//frameworks/base/packages/Connectivity/service",
|
"//frameworks/base/packages/Connectivity/service",
|
||||||
"//frameworks/base",
|
"//frameworks/base",
|
||||||
|
|
||||||
|
|
|
||||||
56
service-t/Android.bp
Normal file
56
service-t/Android.bp
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
//
|
||||||
|
// Copyright (C) 2021 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 {
|
||||||
|
// See: http://go/android-license-faq
|
||||||
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||||
|
}
|
||||||
|
|
||||||
|
// This builds T+ services depending on framework-connectivity-tiramisu
|
||||||
|
// hidden symbols separately from the S+ services, to ensure that S+
|
||||||
|
// services cannot accidentally depend on T+ hidden symbols from
|
||||||
|
// framework-connectivity-tiramisu.
|
||||||
|
java_library {
|
||||||
|
name: "service-connectivity-tiramisu-pre-jarjar",
|
||||||
|
sdk_version: "system_server_current",
|
||||||
|
// TODO(b/210962470): Bump this to at least S, and then T.
|
||||||
|
min_sdk_version: "30",
|
||||||
|
srcs: [
|
||||||
|
"src/**/*.java",
|
||||||
|
// TODO: This is necessary just for LocalLog, remove after removing NativeDaemonConnector.
|
||||||
|
":framework-connectivity-shared-srcs",
|
||||||
|
":services.connectivity-tiramisu-updatable-sources",
|
||||||
|
],
|
||||||
|
libs: [
|
||||||
|
"framework-annotations-lib",
|
||||||
|
"framework-connectivity.impl",
|
||||||
|
"framework-connectivity-tiramisu.impl",
|
||||||
|
"service-connectivity-pre-jarjar",
|
||||||
|
"unsupportedappusage",
|
||||||
|
],
|
||||||
|
static_libs: [
|
||||||
|
"modules-utils-build",
|
||||||
|
"modules-utils-statemachine",
|
||||||
|
"net-utils-framework-common",
|
||||||
|
],
|
||||||
|
apex_available: [
|
||||||
|
"com.android.tethering",
|
||||||
|
],
|
||||||
|
visibility: [
|
||||||
|
"//packages/modules/Connectivity/service",
|
||||||
|
"//packages/modules/Connectivity/tests:__subpackages__",
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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 com.android.server;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.android.modules.utils.build.SdkLevel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Connectivity service initializer for core networking. This is called by system server to create
|
||||||
|
* a new instance of ConnectivityService.
|
||||||
|
*/
|
||||||
|
public final class ConnectivityServiceInitializer extends SystemService {
|
||||||
|
private static final String TAG = ConnectivityServiceInitializer.class.getSimpleName();
|
||||||
|
private final ConnectivityService mConnectivity;
|
||||||
|
private final NsdService mNsdService;
|
||||||
|
|
||||||
|
public ConnectivityServiceInitializer(Context context) {
|
||||||
|
super(context);
|
||||||
|
// Load JNI libraries used by ConnectivityService and its dependencies
|
||||||
|
System.loadLibrary("service-connectivity");
|
||||||
|
mConnectivity = new ConnectivityService(context);
|
||||||
|
mNsdService = createNsdService(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStart() {
|
||||||
|
Log.i(TAG, "Registering " + Context.CONNECTIVITY_SERVICE);
|
||||||
|
publishBinderService(Context.CONNECTIVITY_SERVICE, mConnectivity,
|
||||||
|
/* allowIsolated= */ false);
|
||||||
|
if (mNsdService != null) {
|
||||||
|
Log.i(TAG, "Registering " + Context.NSD_SERVICE);
|
||||||
|
publishBinderService(Context.NSD_SERVICE, mNsdService, /* allowIsolated= */ false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Return NsdService instance or null if current SDK is lower than T */
|
||||||
|
private NsdService createNsdService(final Context context) {
|
||||||
|
if (!SdkLevel.isAtLeastT()) return null;
|
||||||
|
try {
|
||||||
|
return NsdService.create(context);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Log.d(TAG, "Unable to get NSD service", e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -108,6 +108,10 @@ java_library {
|
||||||
"com.android.tethering",
|
"com.android.tethering",
|
||||||
],
|
],
|
||||||
lint: { strict_updatability_linting: true },
|
lint: { strict_updatability_linting: true },
|
||||||
|
visibility: [
|
||||||
|
"//packages/modules/Connectivity/service-t",
|
||||||
|
"//packages/modules/Connectivity/tests:__subpackages__",
|
||||||
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
java_library {
|
java_library {
|
||||||
|
|
@ -132,8 +136,13 @@ java_library {
|
||||||
sdk_version: "system_server_current",
|
sdk_version: "system_server_current",
|
||||||
min_sdk_version: "30",
|
min_sdk_version: "30",
|
||||||
installable: true,
|
installable: true,
|
||||||
|
// This library combines system server jars that have access to different bootclasspath jars.
|
||||||
|
// Lower SDK service jars must not depend on higher SDK jars as that would let them
|
||||||
|
// transitively depend on the wrong bootclasspath jars. Sources also cannot be added here as
|
||||||
|
// they would transitively depend on bootclasspath jars that may not be available.
|
||||||
static_libs: [
|
static_libs: [
|
||||||
"service-connectivity-pre-jarjar",
|
"service-connectivity-pre-jarjar",
|
||||||
|
"service-connectivity-tiramisu-pre-jarjar",
|
||||||
],
|
],
|
||||||
jarjar_rules: "jarjar-rules.txt",
|
jarjar_rules: "jarjar-rules.txt",
|
||||||
apex_available: [
|
apex_available: [
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,7 @@ java_defaults {
|
||||||
// meaning @hide APIs in framework-connectivity are resolved before @SystemApi
|
// meaning @hide APIs in framework-connectivity are resolved before @SystemApi
|
||||||
// stubs in framework
|
// stubs in framework
|
||||||
"framework-connectivity.impl",
|
"framework-connectivity.impl",
|
||||||
|
"framework-connectivity-tiramisu.impl",
|
||||||
"framework-tethering.impl",
|
"framework-tethering.impl",
|
||||||
"framework",
|
"framework",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ android_library {
|
||||||
"platform-compat-test-rules",
|
"platform-compat-test-rules",
|
||||||
"platform-test-annotations",
|
"platform-test-annotations",
|
||||||
"service-connectivity-pre-jarjar",
|
"service-connectivity-pre-jarjar",
|
||||||
|
"service-connectivity-tiramisu-pre-jarjar",
|
||||||
"services.core-vpn",
|
"services.core-vpn",
|
||||||
],
|
],
|
||||||
libs: [
|
libs: [
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue