summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/SystemServer.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-06-27 14:14:40 -0700
committerRoshan Pius <rpius@google.com>2019-08-12 07:22:56 -0700
commit7e6f5f5e080f2d2ae3ef0397c21bd666f5ce4d31 (patch)
treeeca41ada2621c873397145bdedf423e4e2c0f897 /services/java/com/android/server/SystemServer.java
parent19419ccc9502aae0f1d1eeaa8bc560aa1472f178 (diff)
NetworkStackClient: Refactor network stack process interaction
Refactor NetworkStackClient class to move the module service binding & network stack process death monitoring to a separate class. This class will only instantiated in the SystemServer process. The new class |SystemServerToNetworkStackConnector| will be used from the client classes corresponding to each module running on the network stack process (NetworkStackClient, WifiStackClient, etc) This has 2 main advantages: a) Reduces code duplication (Otherwise the various Client classes need to replicate the service bindding & process death monitoring). b) Central crash recovery for the network stack process (Otherwise the various Client classes will trigger multiple recovery for a single network stack process crash). Bug: 135679762 Test: Device boots up & connects to wifi networks. Change-Id: I673581b0067b9a3f72dd68a3ab622c18183ebd2e Merged-In: I673581b0067b9a3f72dd68a3ab622c18183ebd2e
Diffstat (limited to 'services/java/com/android/server/SystemServer.java')
-rw-r--r--services/java/com/android/server/SystemServer.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 83b3194815e4..c6adf1b6ae44 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -39,6 +39,8 @@ import android.content.res.Resources.Theme;
import android.database.sqlite.SQLiteCompatibilityWalFlags;
import android.database.sqlite.SQLiteGlobal;
import android.hardware.display.DisplayManagerInternal;
+import android.net.ConnectivityModuleConnector;
+import android.net.Network;
import android.net.NetworkStackClient;
import android.os.BaseBundle;
import android.os.Binder;
@@ -1274,6 +1276,14 @@ public final class SystemServer {
mSystemServiceManager.startService(CONTENT_SUGGESTIONS_SERVICE_CLASS);
t.traceEnd();
+ t.traceBegin("InitConnectivityModuleConnector");
+ try {
+ ConnectivityModuleConnector.getInstance().init(context);
+ } catch (Throwable e) {
+ reportWtf("initializing ConnectivityModuleConnector", e);
+ }
+ t.traceEnd();
+
t.traceBegin("InitNetworkStackClient");
try {
NetworkStackClient.getInstance().init();
@@ -2168,7 +2178,7 @@ public final class SystemServer {
// ActivityManagerService.mSystemReady and ActivityManagerService.mProcessesReady
// are set to true. Be careful if moving this to a different place in the
// startup sequence.
- NetworkStackClient.getInstance().start(context);
+ NetworkStackClient.getInstance().start();
} catch (Throwable e) {
reportWtf("starting Network Stack", e);
}