Simplify unregister logic for Connectivity Diagnostics callbacks. am: 482e80d7a8
Change-Id: I6b9541fd562c3e65af65e9b5b754909d96f332fd
This commit is contained in:
@@ -7892,12 +7892,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
ensureRunningOnConnectivityServiceThread();
|
ensureRunningOnConnectivityServiceThread();
|
||||||
final IBinder iCb = cb.asBinder();
|
final IBinder iCb = cb.asBinder();
|
||||||
|
|
||||||
if (!mConnectivityDiagnosticsCallbacks.containsKey(iCb)) {
|
final ConnectivityDiagnosticsCallbackInfo cbInfo =
|
||||||
|
mConnectivityDiagnosticsCallbacks.remove(iCb);
|
||||||
|
if (cbInfo == null) {
|
||||||
if (VDBG) log("Removing diagnostics callback that is not currently registered");
|
if (VDBG) log("Removing diagnostics callback that is not currently registered");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final NetworkRequestInfo nri = mConnectivityDiagnosticsCallbacks.get(iCb).mRequestInfo;
|
final NetworkRequestInfo nri = cbInfo.mRequestInfo;
|
||||||
|
|
||||||
if (uid != nri.mUid) {
|
if (uid != nri.mUid) {
|
||||||
if (VDBG) loge("Different uid than registrant attempting to unregister cb");
|
if (VDBG) loge("Different uid than registrant attempting to unregister cb");
|
||||||
@@ -7909,8 +7911,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// enforceRequestCountLimit().
|
// enforceRequestCountLimit().
|
||||||
decrementNetworkRequestPerUidCount(nri);
|
decrementNetworkRequestPerUidCount(nri);
|
||||||
|
|
||||||
final ConnectivityDiagnosticsCallbackInfo cbInfo =
|
|
||||||
mConnectivityDiagnosticsCallbacks.remove(iCb);
|
|
||||||
iCb.unlinkToDeath(cbInfo, 0);
|
iCb.unlinkToDeath(cbInfo, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user