Merge "Only pass the NRI for removal in NRI#binderDied" am: 24fa1d7a8f
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/1741953 Change-Id: Iac74fa029c1736ae5a094d80766acbb838a6e212
This commit is contained in:
@@ -4221,13 +4221,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private void handleRemoveNetworkRequest(@NonNull final NetworkRequestInfo nri) {
|
||||
ensureRunningOnConnectivityServiceThread();
|
||||
nri.unlinkDeathRecipient();
|
||||
for (final NetworkRequest req : nri.mRequests) {
|
||||
mNetworkRequests.remove(req);
|
||||
if (null == mNetworkRequests.remove(req)) {
|
||||
logw("Attempted removal of untracked request " + req + " for nri " + nri);
|
||||
continue;
|
||||
}
|
||||
if (req.isListen()) {
|
||||
removeListenRequestFromNetworks(req);
|
||||
}
|
||||
}
|
||||
nri.unlinkDeathRecipient();
|
||||
if (mDefaultNetworkRequests.remove(nri)) {
|
||||
// If this request was one of the defaults, then the UID rules need to be updated
|
||||
// WARNING : if the app(s) for which this network request is the default are doing
|
||||
@@ -5905,8 +5908,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
@Override
|
||||
public void binderDied() {
|
||||
log("ConnectivityService NetworkRequestInfo binderDied(" +
|
||||
mRequests + ", " + mBinder + ")");
|
||||
releaseNetworkRequests(mRequests);
|
||||
"uid/pid:" + mUid + "/" + mPid + ", " + mBinder + ")");
|
||||
mHandler.post(() -> handleRemoveNetworkRequest(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -6337,12 +6340,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
return mNextNetworkProviderId.getAndIncrement();
|
||||
}
|
||||
|
||||
private void releaseNetworkRequests(List<NetworkRequest> networkRequests) {
|
||||
for (int i = 0; i < networkRequests.size(); i++) {
|
||||
releaseNetworkRequest(networkRequests.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void releaseNetworkRequest(NetworkRequest networkRequest) {
|
||||
ensureNetworkRequestHasType(networkRequest);
|
||||
|
||||
Reference in New Issue
Block a user