diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index 92efe2b5a6..69ce602907 100755 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -3380,6 +3380,9 @@ public class ConnectivityService extends IConnectivityManager.Stub private void destroyPendingSockets() { ensureRunningOnConnectivityServiceThread(); + if (mPendingFrozenUids.isEmpty()) { + return; + } try { mDeps.destroyLiveTcpSocketsByOwnerUids(mPendingFrozenUids); @@ -3403,10 +3406,7 @@ public class ConnectivityService extends IConnectivityManager.Stub isCellNetworkActivity = params.label == TRANSPORT_CELLULAR; } - if (mDelayDestroySockets - && params.isActive - && isCellNetworkActivity - && !mPendingFrozenUids.isEmpty()) { + if (mDelayDestroySockets && params.isActive && isCellNetworkActivity) { destroyPendingSockets(); } } @@ -3424,9 +3424,7 @@ public class ConnectivityService extends IConnectivityManager.Stub final boolean isNewNetworkCellular = newNetwork != null && newNetwork.networkCapabilities.hasTransport(TRANSPORT_CELLULAR); - if (isOldNetworkCellular - && !isNewNetworkCellular - && !mPendingFrozenUids.isEmpty()) { + if (isOldNetworkCellular && !isNewNetworkCellular) { destroyPendingSockets(); } }