summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xapi/system-current.txt2
-rw-r--r--api/test-current.txt2
-rw-r--r--core/java/android/app/SystemServiceRegistry.java8
-rw-r--r--core/java/android/content/Context.java2
-rw-r--r--core/java/android/net/NetworkStack.java17
-rw-r--r--packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java4
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java1
7 files changed, 19 insertions, 17 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index 9515f7160616..7a5373b9d895 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -1807,7 +1807,6 @@ package android.content {
field public static final String NETD_SERVICE = "netd";
field public static final String NETWORK_POLICY_SERVICE = "netpolicy";
field public static final String NETWORK_SCORE_SERVICE = "network_score";
- field public static final String NETWORK_STACK_SERVICE = "network_stack";
field public static final String OEM_LOCK_SERVICE = "oem_lock";
field public static final String PERMISSION_SERVICE = "permission";
field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
@@ -6401,6 +6400,7 @@ package android.net {
}
public class NetworkStack {
+ method @Nullable public static android.os.IBinder getService();
field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
}
diff --git a/api/test-current.txt b/api/test-current.txt
index 86eea6275f89..df56f2c24d28 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -829,7 +829,6 @@ package android.content {
field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle";
field public static final String DREAM_SERVICE = "dream";
field public static final String ETHERNET_SERVICE = "ethernet";
- field public static final String NETWORK_STACK_SERVICE = "network_stack";
field public static final String PERMISSION_SERVICE = "permission";
field public static final String POWER_WHITELIST_MANAGER = "power_whitelist";
field public static final String ROLLBACK_SERVICE = "rollback";
@@ -1830,6 +1829,7 @@ package android.net {
}
public class NetworkStack {
+ method @Nullable public static android.os.IBinder getService();
field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
}
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index e8f30df614f3..1aabd24d6df6 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -359,14 +359,6 @@ public final class SystemServiceRegistry {
}
});
- registerService(Context.NETWORK_STACK_SERVICE, IBinder.class,
- new StaticServiceFetcher<IBinder>() {
- @Override
- public IBinder createService() {
- return ServiceManager.getService(Context.NETWORK_STACK_SERVICE);
- }
- });
-
registerService(Context.TETHERING_SERVICE, TetheringManager.class,
new CachedServiceFetcher<TetheringManager>() {
@Override
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index c8c8fa6d385f..6f4606659c3e 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -3984,8 +3984,6 @@ public abstract class Context {
* @hide
* @see NetworkStackClient
*/
- @SystemApi
- @TestApi
public static final String NETWORK_STACK_SERVICE = "network_stack";
/**
diff --git a/core/java/android/net/NetworkStack.java b/core/java/android/net/NetworkStack.java
index a46c410bd55e..a6d52d133ce9 100644
--- a/core/java/android/net/NetworkStack.java
+++ b/core/java/android/net/NetworkStack.java
@@ -19,15 +19,17 @@ import static android.Manifest.permission.NETWORK_STACK;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.content.Context;
+import android.os.IBinder;
+import android.os.ServiceManager;
import java.util.ArrayList;
import java.util.Arrays;
/**
- *
- * Constants for client code communicating with the network stack service.
+ * Constants and utilities for client code communicating with the network stack service.
* @hide
*/
@SystemApi
@@ -43,6 +45,17 @@ public class NetworkStack {
public static final String PERMISSION_MAINLINE_NETWORK_STACK =
"android.permission.MAINLINE_NETWORK_STACK";
+ /**
+ * Get an {@link IBinder} representing the NetworkStack stable AIDL Interface, if registered.
+ * @hide
+ */
+ @Nullable
+ @SystemApi
+ @TestApi
+ public static IBinder getService() {
+ return ServiceManager.getService(Context.NETWORK_STACK_SERVICE);
+ }
+
private NetworkStack() {}
/**
diff --git a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java b/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
index 020b32adcfd7..c5329d8d3316 100644
--- a/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
+++ b/packages/Tethering/src/com/android/server/connectivity/tethering/TetheringService.java
@@ -33,6 +33,7 @@ import android.net.ITetheringConnector;
import android.net.ITetheringEventCallback;
import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
+import android.net.NetworkStack;
import android.net.TetheringRequestParcel;
import android.net.dhcp.DhcpServerCallbacks;
import android.net.dhcp.DhcpServingParamsParcel;
@@ -364,8 +365,7 @@ public class TetheringService extends Service {
IBinder connector;
try {
final long before = System.currentTimeMillis();
- while ((connector = (IBinder) mContext.getSystemService(
- Context.NETWORK_STACK_SERVICE)) == null) {
+ while ((connector = NetworkStack.getService()) == null) {
if (System.currentTimeMillis() - before > NETWORKSTACK_TIMEOUT_MS) {
Log.wtf(TAG, "Timeout, fail to get INetworkStackConnector");
return null;
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index f3b61bade23e..f7ad09ca36a6 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -428,7 +428,6 @@ public class ConnectivityServiceTest {
public Object getSystemService(String name) {
if (Context.CONNECTIVITY_SERVICE.equals(name)) return mCm;
if (Context.NOTIFICATION_SERVICE.equals(name)) return mNotificationManager;
- if (Context.NETWORK_STACK_SERVICE.equals(name)) return mNetworkStack;
if (Context.USER_SERVICE.equals(name)) return mUserManager;
if (Context.ALARM_SERVICE.equals(name)) return mAlarmManager;
if (Context.LOCATION_SERVICE.equals(name)) return mLocationManager;