OSDN Git Service

Move NetworkStack start to AM.systemReady
authorRemi NGUYEN VAN <reminv@google.com>
Tue, 12 Mar 2019 02:50:22 +0000 (11:50 +0900)
committerRemi NGUYEN VAN <reminv@google.com>
Tue, 12 Mar 2019 04:53:11 +0000 (04:53 +0000)
In practice the NetworkStack was not started after
ActivityManager#systemReady, since ActivityManager was only scheduling
the start (mPendingStarts).
Requesting the start too early causes issues for the PackageManager to
install updates/rollbacks.

Test: flashed AOSP and internal builds, WiFi working
Bug: 128331883
Change-Id: I93315ad31925bd436e21d1eabb21d5967e6aae60

services/java/com/android/server/SystemServer.java

index 6cbb35b..477e34d 100644 (file)
@@ -1241,14 +1241,6 @@ public final class SystemServer {
             }
             traceEnd();
 
-            traceBeginAndSlog("StartNetworkStack");
-            try {
-                NetworkStackClient.getInstance().start(context);
-            } catch (Throwable e) {
-                reportWtf("starting Network Stack", e);
-            }
-            traceEnd();
-
             traceBeginAndSlog("StartNsdService");
             try {
                 serviceDiscovery = NsdService.create(context);
@@ -1944,6 +1936,14 @@ public final class SystemServer {
                     SystemService.PHASE_THIRD_PARTY_APPS_CAN_START);
             traceEnd();
 
+            traceBeginAndSlog("StartNetworkStack");
+            try {
+                NetworkStackClient.getInstance().start(context);
+            } catch (Throwable e) {
+                reportWtf("starting Network Stack", e);
+            }
+            traceEnd();
+
             traceBeginAndSlog("MakeLocationServiceReady");
             try {
                 if (locationF != null) locationF.systemRunning();