Loading core/java/android/net/ConnectivityManager.java +1 −13 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class ConnectivityManager { /** * Identical to {@link #CONNECTIVITY_ACTION} broadcast, but sent without any * applicable {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY}. * historic {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY}. * * @hide */ Loading Loading @@ -428,18 +428,6 @@ public class ConnectivityManager { @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIFI; /** * Default value for {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY} in * milliseconds. This was introduced because IPv6 routes seem to take a * moment to settle - trying network activity before the routes are adjusted * can lead to packets using the wrong interface or having the wrong IP address. * This delay is a bit crude, but in the future hopefully we will have kernel * notifications letting us know when it's safe to use the new network. * * @hide */ public static final int CONNECTIVITY_CHANGE_DELAY_DEFAULT = 3000; /** * @hide */ Loading core/java/android/provider/Settings.java +1 −1 Original line number Diff line number Diff line Loading @@ -6128,7 +6128,7 @@ public final class Settings { /** * The number of milliseconds to delay before sending out * {@link ConnectivityManager#CONNECTIVITY_ACTION} broadcasts. * {@link ConnectivityManager#CONNECTIVITY_ACTION} broadcasts. Ignored. * * @hide */ Loading services/core/java/com/android/server/ConnectivityService.java +3 −37 Original line number Diff line number Diff line Loading @@ -782,17 +782,6 @@ public class ConnectivityService extends IConnectivityManager.Stub throw new IllegalStateException("No free netIds"); } private int getConnectivityChangeDelay() { final ContentResolver cr = mContext.getContentResolver(); /** Check system properties for the default value then use secure settings value, if any. */ int defaultDelay = SystemProperties.getInt( "conn." + Settings.Global.CONNECTIVITY_CHANGE_DELAY, ConnectivityManager.CONNECTIVITY_CHANGE_DELAY_DEFAULT); return Settings.Global.getInt(cr, Settings.Global.CONNECTIVITY_CHANGE_DELAY, defaultDelay); } private boolean teardown(NetworkStateTracker netTracker) { if (netTracker.teardown()) { netTracker.setTeardownRequested(true); Loading Loading @@ -1454,11 +1443,6 @@ public class ConnectivityService extends IConnectivityManager.Stub sendGeneralBroadcast(info, CONNECTIVITY_ACTION); } private void sendConnectedBroadcastDelayed(NetworkInfo info, int delayMs) { sendGeneralBroadcast(info, CONNECTIVITY_ACTION_IMMEDIATE); sendGeneralBroadcastDelayed(info, CONNECTIVITY_ACTION, delayMs); } private void sendInetConditionBroadcast(NetworkInfo info) { sendGeneralBroadcast(info, ConnectivityManager.INET_CONDITION_ACTION); } Loading Loading @@ -1490,10 +1474,6 @@ public class ConnectivityService extends IConnectivityManager.Stub sendStickyBroadcast(makeGeneralIntent(info, bcastType)); } private void sendGeneralBroadcastDelayed(NetworkInfo info, String bcastType, int delayMs) { sendStickyBroadcastDelayed(makeGeneralIntent(info, bcastType), delayMs); } private void sendDataActivityBroadcast(int deviceType, boolean active, long tsNanos) { Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE); intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType); Loading Loading @@ -1538,19 +1518,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } } private void sendStickyBroadcastDelayed(Intent intent, int delayMs) { if (delayMs <= 0) { sendStickyBroadcast(intent); } else { if (VDBG) { log("sendStickyBroadcastDelayed: delayMs=" + delayMs + ", action=" + intent.getAction()); } mHandler.sendMessageDelayed(mHandler.obtainMessage( EVENT_SEND_STICKY_BROADCAST_INTENT, intent), delayMs); } } void systemReady() { // start network sampling .. Intent intent = new Intent(ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED); Loading Loading @@ -4331,7 +4298,7 @@ public class ConnectivityService extends IConnectivityManager.Stub info.setType(type); if (connected) { info.setDetailedState(DetailedState.CONNECTED, null, info.getExtraInfo()); sendConnectedBroadcastDelayed(info, getConnectivityChangeDelay()); sendConnectedBroadcast(info); } else { info.setDetailedState(DetailedState.DISCONNECTED, null, info.getExtraInfo()); Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); Loading Loading @@ -4362,10 +4329,9 @@ public class ConnectivityService extends IConnectivityManager.Stub final Intent immediateIntent = new Intent(intent); immediateIntent.setAction(CONNECTIVITY_ACTION_IMMEDIATE); sendStickyBroadcast(immediateIntent); sendStickyBroadcastDelayed(intent, getConnectivityChangeDelay()); sendStickyBroadcast(intent); if (newDefaultAgent != null) { sendConnectedBroadcastDelayed(newDefaultAgent.networkInfo, getConnectivityChangeDelay()); sendConnectedBroadcast(newDefaultAgent.networkInfo); } } } Loading Loading
core/java/android/net/ConnectivityManager.java +1 −13 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ public class ConnectivityManager { /** * Identical to {@link #CONNECTIVITY_ACTION} broadcast, but sent without any * applicable {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY}. * historic {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY}. * * @hide */ Loading Loading @@ -428,18 +428,6 @@ public class ConnectivityManager { @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = TYPE_WIFI; /** * Default value for {@link Settings.Global#CONNECTIVITY_CHANGE_DELAY} in * milliseconds. This was introduced because IPv6 routes seem to take a * moment to settle - trying network activity before the routes are adjusted * can lead to packets using the wrong interface or having the wrong IP address. * This delay is a bit crude, but in the future hopefully we will have kernel * notifications letting us know when it's safe to use the new network. * * @hide */ public static final int CONNECTIVITY_CHANGE_DELAY_DEFAULT = 3000; /** * @hide */ Loading
core/java/android/provider/Settings.java +1 −1 Original line number Diff line number Diff line Loading @@ -6128,7 +6128,7 @@ public final class Settings { /** * The number of milliseconds to delay before sending out * {@link ConnectivityManager#CONNECTIVITY_ACTION} broadcasts. * {@link ConnectivityManager#CONNECTIVITY_ACTION} broadcasts. Ignored. * * @hide */ Loading
services/core/java/com/android/server/ConnectivityService.java +3 −37 Original line number Diff line number Diff line Loading @@ -782,17 +782,6 @@ public class ConnectivityService extends IConnectivityManager.Stub throw new IllegalStateException("No free netIds"); } private int getConnectivityChangeDelay() { final ContentResolver cr = mContext.getContentResolver(); /** Check system properties for the default value then use secure settings value, if any. */ int defaultDelay = SystemProperties.getInt( "conn." + Settings.Global.CONNECTIVITY_CHANGE_DELAY, ConnectivityManager.CONNECTIVITY_CHANGE_DELAY_DEFAULT); return Settings.Global.getInt(cr, Settings.Global.CONNECTIVITY_CHANGE_DELAY, defaultDelay); } private boolean teardown(NetworkStateTracker netTracker) { if (netTracker.teardown()) { netTracker.setTeardownRequested(true); Loading Loading @@ -1454,11 +1443,6 @@ public class ConnectivityService extends IConnectivityManager.Stub sendGeneralBroadcast(info, CONNECTIVITY_ACTION); } private void sendConnectedBroadcastDelayed(NetworkInfo info, int delayMs) { sendGeneralBroadcast(info, CONNECTIVITY_ACTION_IMMEDIATE); sendGeneralBroadcastDelayed(info, CONNECTIVITY_ACTION, delayMs); } private void sendInetConditionBroadcast(NetworkInfo info) { sendGeneralBroadcast(info, ConnectivityManager.INET_CONDITION_ACTION); } Loading Loading @@ -1490,10 +1474,6 @@ public class ConnectivityService extends IConnectivityManager.Stub sendStickyBroadcast(makeGeneralIntent(info, bcastType)); } private void sendGeneralBroadcastDelayed(NetworkInfo info, String bcastType, int delayMs) { sendStickyBroadcastDelayed(makeGeneralIntent(info, bcastType), delayMs); } private void sendDataActivityBroadcast(int deviceType, boolean active, long tsNanos) { Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE); intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType); Loading Loading @@ -1538,19 +1518,6 @@ public class ConnectivityService extends IConnectivityManager.Stub } } private void sendStickyBroadcastDelayed(Intent intent, int delayMs) { if (delayMs <= 0) { sendStickyBroadcast(intent); } else { if (VDBG) { log("sendStickyBroadcastDelayed: delayMs=" + delayMs + ", action=" + intent.getAction()); } mHandler.sendMessageDelayed(mHandler.obtainMessage( EVENT_SEND_STICKY_BROADCAST_INTENT, intent), delayMs); } } void systemReady() { // start network sampling .. Intent intent = new Intent(ACTION_PKT_CNT_SAMPLE_INTERVAL_ELAPSED); Loading Loading @@ -4331,7 +4298,7 @@ public class ConnectivityService extends IConnectivityManager.Stub info.setType(type); if (connected) { info.setDetailedState(DetailedState.CONNECTED, null, info.getExtraInfo()); sendConnectedBroadcastDelayed(info, getConnectivityChangeDelay()); sendConnectedBroadcast(info); } else { info.setDetailedState(DetailedState.DISCONNECTED, null, info.getExtraInfo()); Intent intent = new Intent(ConnectivityManager.CONNECTIVITY_ACTION); Loading Loading @@ -4362,10 +4329,9 @@ public class ConnectivityService extends IConnectivityManager.Stub final Intent immediateIntent = new Intent(intent); immediateIntent.setAction(CONNECTIVITY_ACTION_IMMEDIATE); sendStickyBroadcast(immediateIntent); sendStickyBroadcastDelayed(intent, getConnectivityChangeDelay()); sendStickyBroadcast(intent); if (newDefaultAgent != null) { sendConnectedBroadcastDelayed(newDefaultAgent.networkInfo, getConnectivityChangeDelay()); sendConnectedBroadcast(newDefaultAgent.networkInfo); } } } Loading