Update getSignalStrengthThresholds for multilayer

Update ConnectivityService.getSignalStrengthThresholds so that
thresholds are created for multilayer requests.

Bug: 173650494
Bug: 171991028
Test: atest FrameworksNetTests
atest FrameworksNetIntegrationTests
atest CtsNetTestCasesLatestSdk

Change-Id: Ib3b9f52cf371efd1c7d9b176565c7ea8c46375f1
This commit is contained in:
James Mattis 2020-11-18 16:23:25 -08:00
commit d951eeca26

View file

@ -5557,13 +5557,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
mAppOpsManager.checkPackage(callerUid, callerPackageName);
}
private ArrayList<Integer> getSignalStrengthThresholds(NetworkAgentInfo nai) {
private ArrayList<Integer> getSignalStrengthThresholds(@NonNull final NetworkAgentInfo nai) {
final SortedSet<Integer> thresholds = new TreeSet<>();
synchronized (nai) {
for (NetworkRequestInfo nri : mNetworkRequests.values()) {
if (nri.request.networkCapabilities.hasSignalStrength() &&
nai.satisfiesImmutableCapabilitiesOf(nri.request)) {
thresholds.add(nri.request.networkCapabilities.getSignalStrength());
for (final NetworkRequestInfo nri : mNetworkRequests.values()) {
for (final NetworkRequest req : nri.mRequests) {
if (req.networkCapabilities.hasSignalStrength()
&& nai.satisfiesImmutableCapabilitiesOf(req)) {
thresholds.add(req.networkCapabilities.getSignalStrength());
}
}
}
}