Merge "Use destroyLiveTcpSocketsByOwnerUids for frozen apps" into main

This commit is contained in:
Treehugger Robot
2023-08-09 05:17:14 +00:00
committed by Gerrit Code Review
2 changed files with 5 additions and 12 deletions

View File

@@ -2985,19 +2985,17 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
private void handleFrozenUids(int[] uids, int[] frozenStates) {
final ArraySet<Range<Integer>> ranges = new ArraySet<>();
final ArraySet<Integer> ownerUids = new ArraySet<>();
for (int i = 0; i < uids.length; i++) {
if (frozenStates[i] == UID_FROZEN_STATE_FROZEN) {
Integer uidAsInteger = Integer.valueOf(uids[i]);
ranges.add(new Range(uidAsInteger, uidAsInteger));
ownerUids.add(uids[i]);
}
}
if (!ranges.isEmpty()) {
final Set<Integer> exemptUids = new ArraySet<>();
if (!ownerUids.isEmpty()) {
try {
mDeps.destroyLiveTcpSockets(ranges, exemptUids);
mDeps.destroyLiveTcpSocketsByOwnerUids(ownerUids);
} catch (Exception e) {
loge("Exception in socket destroy: " + e);
}

View File

@@ -18547,12 +18547,7 @@ public class ConnectivityServiceTest {
waitForIdle();
final Set<Integer> exemptUids = new ArraySet();
final UidRange frozenUidRange = new UidRange(TEST_FROZEN_UID, TEST_FROZEN_UID);
final Set<UidRange> ranges = Collections.singleton(frozenUidRange);
verify(mDestroySocketsWrapper).destroyLiveTcpSockets(eq(UidRange.toIntRanges(ranges)),
eq(exemptUids));
verify(mDestroySocketsWrapper).destroyLiveTcpSocketsByOwnerUids(Set.of(TEST_FROZEN_UID));
}
@Test