Loading services/core/java/com/android/server/ConnectivityService.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -372,6 +372,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { */ */ private static final int EVENT_EXPIRE_NET_TRANSITION_WAKELOCK = 24; private static final int EVENT_EXPIRE_NET_TRANSITION_WAKELOCK = 24; /** * Used internally to indicate the system is ready. */ private static final int EVENT_SYSTEM_READY = 25; /** Handler used for internal events. */ /** Handler used for internal events. */ final private InternalHandler mHandler; final private InternalHandler mHandler; Loading Loading @@ -1437,6 +1442,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { final IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT); final IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT); mContext.registerReceiver(mUserPresentReceiver, filter); mContext.registerReceiver(mUserPresentReceiver, filter); } } mHandler.sendMessage(mHandler.obtainMessage(EVENT_SYSTEM_READY)); } } private BroadcastReceiver mUserPresentReceiver = new BroadcastReceiver() { private BroadcastReceiver mUserPresentReceiver = new BroadcastReceiver() { Loading Loading @@ -2270,6 +2277,12 @@ public class ConnectivityService extends IConnectivityManager.Stub { handleReleaseNetworkRequest((NetworkRequest) msg.obj, msg.arg1); handleReleaseNetworkRequest((NetworkRequest) msg.obj, msg.arg1); break; break; } } case EVENT_SYSTEM_READY: { for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) { nai.networkMonitor.systemReady = true; } break; } } } } } } } Loading Loading @@ -4108,6 +4121,9 @@ public class ConnectivityService extends IConnectivityManager.Stub { new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, networkMisc); networkMisc); synchronized (this) { nai.networkMonitor.systemReady = mSystemReady; } if (VDBG) log("registerNetworkAgent " + nai); if (VDBG) log("registerNetworkAgent " + nai); mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai)); mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai)); } } Loading services/core/java/com/android/server/connectivity/NetworkMonitor.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -217,6 +217,8 @@ public class NetworkMonitor extends StateMachine { private String mServer; private String mServer; private boolean mIsCaptivePortalCheckEnabled = false; private boolean mIsCaptivePortalCheckEnabled = false; public boolean systemReady = false; private State mDefaultState = new DefaultState(); private State mDefaultState = new DefaultState(); private State mOfflineState = new OfflineState(); private State mOfflineState = new OfflineState(); private State mValidatedState = new ValidatedState(); private State mValidatedState = new ValidatedState(); Loading Loading @@ -709,6 +711,8 @@ public class NetworkMonitor extends StateMachine { return; return; } } if (systemReady == false) return; Intent latencyBroadcast = new Intent(ACTION_NETWORK_CONDITIONS_MEASURED); Intent latencyBroadcast = new Intent(ACTION_NETWORK_CONDITIONS_MEASURED); switch (mNetworkAgentInfo.networkInfo.getType()) { switch (mNetworkAgentInfo.networkInfo.getType()) { case ConnectivityManager.TYPE_WIFI: case ConnectivityManager.TYPE_WIFI: Loading Loading
services/core/java/com/android/server/ConnectivityService.java +16 −0 Original line number Original line Diff line number Diff line Loading @@ -372,6 +372,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { */ */ private static final int EVENT_EXPIRE_NET_TRANSITION_WAKELOCK = 24; private static final int EVENT_EXPIRE_NET_TRANSITION_WAKELOCK = 24; /** * Used internally to indicate the system is ready. */ private static final int EVENT_SYSTEM_READY = 25; /** Handler used for internal events. */ /** Handler used for internal events. */ final private InternalHandler mHandler; final private InternalHandler mHandler; Loading Loading @@ -1437,6 +1442,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { final IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT); final IntentFilter filter = new IntentFilter(Intent.ACTION_USER_PRESENT); mContext.registerReceiver(mUserPresentReceiver, filter); mContext.registerReceiver(mUserPresentReceiver, filter); } } mHandler.sendMessage(mHandler.obtainMessage(EVENT_SYSTEM_READY)); } } private BroadcastReceiver mUserPresentReceiver = new BroadcastReceiver() { private BroadcastReceiver mUserPresentReceiver = new BroadcastReceiver() { Loading Loading @@ -2270,6 +2277,12 @@ public class ConnectivityService extends IConnectivityManager.Stub { handleReleaseNetworkRequest((NetworkRequest) msg.obj, msg.arg1); handleReleaseNetworkRequest((NetworkRequest) msg.obj, msg.arg1); break; break; } } case EVENT_SYSTEM_READY: { for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) { nai.networkMonitor.systemReady = true; } break; } } } } } } } Loading Loading @@ -4108,6 +4121,9 @@ public class ConnectivityService extends IConnectivityManager.Stub { new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkInfo(networkInfo), new LinkProperties(linkProperties), new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, new NetworkCapabilities(networkCapabilities), currentScore, mContext, mTrackerHandler, networkMisc); networkMisc); synchronized (this) { nai.networkMonitor.systemReady = mSystemReady; } if (VDBG) log("registerNetworkAgent " + nai); if (VDBG) log("registerNetworkAgent " + nai); mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai)); mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai)); } } Loading
services/core/java/com/android/server/connectivity/NetworkMonitor.java +4 −0 Original line number Original line Diff line number Diff line Loading @@ -217,6 +217,8 @@ public class NetworkMonitor extends StateMachine { private String mServer; private String mServer; private boolean mIsCaptivePortalCheckEnabled = false; private boolean mIsCaptivePortalCheckEnabled = false; public boolean systemReady = false; private State mDefaultState = new DefaultState(); private State mDefaultState = new DefaultState(); private State mOfflineState = new OfflineState(); private State mOfflineState = new OfflineState(); private State mValidatedState = new ValidatedState(); private State mValidatedState = new ValidatedState(); Loading Loading @@ -709,6 +711,8 @@ public class NetworkMonitor extends StateMachine { return; return; } } if (systemReady == false) return; Intent latencyBroadcast = new Intent(ACTION_NETWORK_CONDITIONS_MEASURED); Intent latencyBroadcast = new Intent(ACTION_NETWORK_CONDITIONS_MEASURED); switch (mNetworkAgentInfo.networkInfo.getType()) { switch (mNetworkAgentInfo.networkInfo.getType()) { case ConnectivityManager.TYPE_WIFI: case ConnectivityManager.TYPE_WIFI: Loading