Merge "Calling linkToDeath on binder in NRI constructor" am: 6269d2eb7a am: f9cf886d53 am: 2d29ffca41

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1661222

Change-Id: Ic7bea025d69f3ea7f6388dfe6a01942cf5ae039d
This commit is contained in:
James Mattis
2021-04-01 04:50:31 +00:00
committed by Automerger Merge Worker

View File

@@ -5543,12 +5543,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
incrementRequestCountOrThrow(this); incrementRequestCountOrThrow(this);
mCallbackFlags = callbackFlags; mCallbackFlags = callbackFlags;
mCallingAttributionTag = callingAttributionTag; mCallingAttributionTag = callingAttributionTag;
linkDeathRecipient();
try {
mBinder.linkToDeath(this, 0);
} catch (RemoteException e) {
binderDied();
}
} }
NetworkRequestInfo(@NonNull final NetworkRequestInfo nri, NetworkRequestInfo(@NonNull final NetworkRequestInfo nri,
@@ -5586,6 +5581,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
incrementRequestCountOrThrow(this); incrementRequestCountOrThrow(this);
mCallbackFlags = nri.mCallbackFlags; mCallbackFlags = nri.mCallbackFlags;
mCallingAttributionTag = nri.mCallingAttributionTag; mCallingAttributionTag = nri.mCallingAttributionTag;
linkDeathRecipient();
} }
NetworkRequestInfo(int asUid, @NonNull final NetworkRequest r) { NetworkRequestInfo(int asUid, @NonNull final NetworkRequest r) {
@@ -5614,8 +5610,18 @@ public class ConnectivityService extends IConnectivityManager.Stub
return Collections.unmodifiableList(tempRequests); return Collections.unmodifiableList(tempRequests);
} }
void linkDeathRecipient() {
if (null != mBinder) {
try {
mBinder.linkToDeath(this, 0);
} catch (RemoteException e) {
binderDied();
}
}
}
void unlinkDeathRecipient() { void unlinkDeathRecipient() {
if (mBinder != null) { if (null != mBinder) {
mBinder.unlinkToDeath(this, 0); mBinder.unlinkToDeath(this, 0);
} }
} }