Skip to content

Commit 61db35d

Browse files
Robert GreenwaltAndroid Git Automerger
authored andcommitted
am 2f835a6: Merge "Make copies of NetworkInfo to give out." into honeycomb-LTE
* commit '2f835a6193c14e27cf761d85ac3ea4c9bd9296f8': Make copies of NetworkInfo to give out.
2 parents 30928eb + 2f835a6 commit 61db35d

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

core/java/android/net/MobileDataStateTracker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ private void setDetailedState(NetworkInfo.DetailedState state, String reason,
386386
&& lastReason != null)
387387
reason = lastReason;
388388
mNetworkInfo.setDetailedState(state, reason, extraInfo);
389-
Message msg = mTarget.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
389+
Message msg = mTarget.obtainMessage(EVENT_STATE_CHANGED, new NetworkInfo(mNetworkInfo));
390390
msg.sendToTarget();
391391
}
392392
}

core/java/android/net/NetworkInfo.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,23 @@ public NetworkInfo(int type, int subtype, String typeName, String subtypeName) {
138138
mIsRoaming = false;
139139
}
140140

141+
/** {@hide} */
142+
public NetworkInfo(NetworkInfo source) {
143+
if (source != null) {
144+
mNetworkType = source.mNetworkType;
145+
mSubtype = source.mSubtype;
146+
mTypeName = source.mTypeName;
147+
mSubtypeName = source.mSubtypeName;
148+
mState = source.mState;
149+
mDetailedState = source.mDetailedState;
150+
mReason = source.mReason;
151+
mExtraInfo = source.mExtraInfo;
152+
mIsFailover = source.mIsFailover;
153+
mIsRoaming = source.mIsRoaming;
154+
mIsAvailable = source.mIsAvailable;
155+
}
156+
}
157+
141158
/**
142159
* Reports the type of network (currently mobile or Wi-Fi) to which the
143160
* info in this object pertains.

wifi/java/android/net/wifi/WifiStateTracker.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public void privateDnsRouteSet(boolean enabled) {
160160
* Fetch NetworkInfo for the network
161161
*/
162162
public NetworkInfo getNetworkInfo() {
163-
return mNetworkInfo;
163+
return new NetworkInfo(mNetworkInfo);
164164
}
165165

166166
/**
@@ -226,7 +226,8 @@ public void onReceive(Context context, Intent intent) {
226226
} else {
227227
mLastState = state;
228228
}
229-
Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo);
229+
Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED,
230+
new NetworkInfo(mNetworkInfo));
230231
msg.sendToTarget();
231232
} else if (intent.getAction().equals(WifiManager.LINK_CONFIGURATION_CHANGED_ACTION)) {
232233
mLinkProperties = (LinkProperties) intent.getParcelableExtra(

0 commit comments

Comments
 (0)