Skip to content

Commit 80bb8d2

Browse files
Robert GreenwaltAndroid (Google) Code Review
authored andcommitted
Merge "Update TCP buffer size when switching network type" into jb-mr1-dev
2 parents fc7e851 + d14e176 commit 80bb8d2

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

core/java/android/net/MobileDataStateTracker.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,17 @@ public void onReceive(Context context, Intent intent) {
184184
if (!TextUtils.equals(apnType, mApnType)) {
185185
return;
186186
}
187-
mNetworkInfo.setSubtype(TelephonyManager.getDefault().getNetworkType(),
188-
TelephonyManager.getDefault().getNetworkTypeName());
187+
188+
int oldSubtype = mNetworkInfo.getSubtype();
189+
int newSubType = TelephonyManager.getDefault().getNetworkType();
190+
String subTypeName = TelephonyManager.getDefault().getNetworkTypeName();
191+
mNetworkInfo.setSubtype(newSubType, subTypeName);
192+
if (newSubType != oldSubtype && mNetworkInfo.isConnected()) {
193+
Message msg = mTarget.obtainMessage(EVENT_NETWORK_SUBTYPE_CHANGED,
194+
oldSubtype, 0, mNetworkInfo);
195+
msg.sendToTarget();
196+
}
197+
189198
PhoneConstants.DataState state = Enum.valueOf(PhoneConstants.DataState.class,
190199
intent.getStringExtra(PhoneConstants.STATE_KEY));
191200
String reason = intent.getStringExtra(PhoneConstants.STATE_CHANGE_REASON_KEY);

core/java/android/net/NetworkStateTracker.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ public interface NetworkStateTracker {
6262
*/
6363
public static final int EVENT_RESTORE_DEFAULT_NETWORK = 6;
6464

65+
/**
66+
* msg.what = EVENT_NETWORK_SUBTYPE_CHANGED
67+
* msg.obj = NetworkInfo object
68+
*/
69+
public static final int EVENT_NETWORK_SUBTYPE_CHANGED = 7;
70+
6571
/**
6672
* -------------------------------------------------------------
6773
* Control Interface

services/java/com/android/server/ConnectivityService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2592,6 +2592,11 @@ public void handleMessage(Message msg) {
25922592
// @see bug/4455071
25932593
handleConnectivityChange(info.getType(), false);
25942594
break;
2595+
case NetworkStateTracker.EVENT_NETWORK_SUBTYPE_CHANGED:
2596+
info = (NetworkInfo) msg.obj;
2597+
type = info.getType();
2598+
updateNetworkSettings(mNetTrackers[type]);
2599+
break;
25952600
}
25962601
}
25972602
}

0 commit comments

Comments
 (0)