Loading services/core/java/com/android/server/ConnectivityService.java +7 −3 Original line number Diff line number Diff line Loading @@ -1661,6 +1661,12 @@ public class ConnectivityService extends IConnectivityManager.Stub } private static final String DEFAULT_TCP_BUFFER_SIZES = "4096,87380,110208,4096,16384,110208"; private static final String DEFAULT_TCP_RWND_KEY = "net.tcp.default_init_rwnd"; // Overridden for testing purposes to avoid writing to SystemProperties. protected int getDefaultTcpRwnd() { return SystemProperties.getInt(DEFAULT_TCP_RWND_KEY, 0); } private void updateTcpBufferSizes(NetworkAgentInfo nai) { if (isDefaultNetwork(nai) == false) { Loading Loading @@ -1696,10 +1702,8 @@ public class ConnectivityService extends IConnectivityManager.Stub loge("Can't set TCP buffer sizes:" + e); } final String defaultRwndKey = "net.tcp.default_init_rwnd"; int defaultRwndValue = SystemProperties.getInt(defaultRwndKey, 0); Integer rwndValue = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.TCP_DEFAULT_INIT_RWND, defaultRwndValue); Settings.Global.TCP_DEFAULT_INIT_RWND, getDefaultTcpRwnd()); final String sysctlKey = "sys.sysctl.tcp_def_init_rwnd"; if (rwndValue != 0) { SystemProperties.set(sysctlKey, rwndValue.toString()); Loading services/core/java/com/android/server/connectivity/NetworkMonitor.java +13 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Handler; import android.os.Message; import android.os.Process; import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; Loading @@ -48,6 +49,7 @@ import android.telephony.CellInfoWcdma; import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Protocol; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading Loading @@ -177,8 +179,8 @@ public class NetworkMonitor extends StateMachine { private static final int CMD_LAUNCH_CAPTIVE_PORTAL_APP = BASE + 11; private static final String LINGER_DELAY_PROPERTY = "persist.netmon.linger"; // Default to 30s linger time-out. private static final int DEFAULT_LINGER_DELAY_MS = 30000; // Default to 30s linger time-out. Modifyable only for testing. private static int DEFAULT_LINGER_DELAY_MS = 30000; private final int mLingerDelayMs; private int mLingerToken = 0; Loading Loading @@ -771,4 +773,13 @@ public class NetworkMonitor extends StateMachine { mContext.sendBroadcastAsUser(latencyBroadcast, UserHandle.CURRENT, PERMISSION_ACCESS_NETWORK_CONDITIONS); } // Allow tests to override linger time. @VisibleForTesting public static void SetDefaultLingerTime(int time_ms) { if (Process.myUid() == Process.SYSTEM_UID) { throw new SecurityException("SetDefaultLingerTime only for internal testing."); } DEFAULT_LINGER_DELAY_MS = time_ms; } } services/tests/servicestests/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <application> <uses-library android:name="android.test.runner" /> Loading services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +356 −72 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
services/core/java/com/android/server/ConnectivityService.java +7 −3 Original line number Diff line number Diff line Loading @@ -1661,6 +1661,12 @@ public class ConnectivityService extends IConnectivityManager.Stub } private static final String DEFAULT_TCP_BUFFER_SIZES = "4096,87380,110208,4096,16384,110208"; private static final String DEFAULT_TCP_RWND_KEY = "net.tcp.default_init_rwnd"; // Overridden for testing purposes to avoid writing to SystemProperties. protected int getDefaultTcpRwnd() { return SystemProperties.getInt(DEFAULT_TCP_RWND_KEY, 0); } private void updateTcpBufferSizes(NetworkAgentInfo nai) { if (isDefaultNetwork(nai) == false) { Loading Loading @@ -1696,10 +1702,8 @@ public class ConnectivityService extends IConnectivityManager.Stub loge("Can't set TCP buffer sizes:" + e); } final String defaultRwndKey = "net.tcp.default_init_rwnd"; int defaultRwndValue = SystemProperties.getInt(defaultRwndKey, 0); Integer rwndValue = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.TCP_DEFAULT_INIT_RWND, defaultRwndValue); Settings.Global.TCP_DEFAULT_INIT_RWND, getDefaultTcpRwnd()); final String sysctlKey = "sys.sysctl.tcp_def_init_rwnd"; if (rwndValue != 0) { SystemProperties.set(sysctlKey, rwndValue.toString()); Loading
services/core/java/com/android/server/connectivity/NetworkMonitor.java +13 −2 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Handler; import android.os.Message; import android.os.Process; import android.os.SystemClock; import android.os.SystemProperties; import android.os.UserHandle; Loading @@ -48,6 +49,7 @@ import android.telephony.CellInfoWcdma; import android.telephony.TelephonyManager; import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Protocol; import com.android.internal.util.State; import com.android.internal.util.StateMachine; Loading Loading @@ -177,8 +179,8 @@ public class NetworkMonitor extends StateMachine { private static final int CMD_LAUNCH_CAPTIVE_PORTAL_APP = BASE + 11; private static final String LINGER_DELAY_PROPERTY = "persist.netmon.linger"; // Default to 30s linger time-out. private static final int DEFAULT_LINGER_DELAY_MS = 30000; // Default to 30s linger time-out. Modifyable only for testing. private static int DEFAULT_LINGER_DELAY_MS = 30000; private final int mLingerDelayMs; private int mLingerToken = 0; Loading Loading @@ -771,4 +773,13 @@ public class NetworkMonitor extends StateMachine { mContext.sendBroadcastAsUser(latencyBroadcast, UserHandle.CURRENT, PERMISSION_ACCESS_NETWORK_CONDITIONS); } // Allow tests to override linger time. @VisibleForTesting public static void SetDefaultLingerTime(int time_ms) { if (Process.myUid() == Process.SYSTEM_UID) { throw new SecurityException("SetDefaultLingerTime only for internal testing."); } DEFAULT_LINGER_DELAY_MS = time_ms; } }
services/tests/servicestests/AndroidManifest.xml +3 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,9 @@ <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <application> <uses-library android:name="android.test.runner" /> Loading
services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +356 −72 File changed.Preview size limit exceeded, changes collapsed. Show changes