Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2bc755a authored by Chalard Jean's avatar Chalard Jean Committed by Automerger Merge Worker
Browse files

Merge "Generalize some PANS methods" am: fcbc6ff6

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7baa17a0f882ec21f766c9f7dc2c0694853fb467
parents 6a95ca0b fcbc6ff6
Loading
Loading
Loading
Loading
+16 −15
Original line number Diff line number Diff line
@@ -7168,7 +7168,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
                        toUidRangeStableParcels(nri.getUids()));
            }
        } catch (RemoteException | ServiceSpecificException e) {
            loge("Exception setting OEM network preference default network", e);
            loge("Exception setting app default network", e);
        }
    }

@@ -9053,7 +9053,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }
        final ArraySet<NetworkRequestInfo> nris =
                new OemNetworkRequestFactory().createNrisFromOemNetworkPreferences(preference);
        updateDefaultNetworksForOemNetworkPreference(nris);
        replaceDefaultNetworkRequestsForPreference(nris);
        mOemNetworkPreferences = preference;
        // TODO http://b/176496396 persist data to shared preferences.

@@ -9066,7 +9066,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }
    }

    private void updateDefaultNetworksForOemNetworkPreference(
    private void replaceDefaultNetworkRequestsForPreference(
            @NonNull final Set<NetworkRequestInfo> nris) {
        // Pass in a defensive copy as this collection will be updated on remove.
        handleRemoveNetworkRequests(new ArraySet<>(mDefaultNetworkRequests));
@@ -9152,6 +9152,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return callbackRequestsToRegister;
    }

    private static void setNetworkRequestUids(@NonNull final List<NetworkRequest> requests,
            @NonNull final Set<UidRange> uids) {
        final Set<UidRange> ranges = new ArraySet<>(uids);
        for (final NetworkRequest req : requests) {
            req.networkCapabilities.setUids(ranges);
        }
    }

    /**
     * Class used to generate {@link NetworkRequestInfo} based off of {@link OemNetworkPreferences}.
     */
@@ -9228,7 +9236,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
                            + " called with invalid preference of " + preference);
            }

            setOemNetworkRequestUids(requests, uids);
            final ArraySet ranges = new ArraySet<Integer>();
            for (final int uid : uids) {
                ranges.add(new UidRange(uid, uid));
            }
            setNetworkRequestUids(requests, ranges);
            return new NetworkRequestInfo(requests);
        }

@@ -9261,16 +9273,5 @@ public class ConnectivityService extends IConnectivityManager.Stub
            netCap.setRequestorUidAndPackageName(Process.myUid(), mContext.getPackageName());
            return netCap;
        }

        private void setOemNetworkRequestUids(@NonNull final List<NetworkRequest> requests,
                @NonNull final Set<Integer> uids) {
            final Set<UidRange> ranges = new ArraySet<>();
            for (final int uid : uids) {
                ranges.add(new UidRange(uid, uid));
            }
            for (final NetworkRequest req : requests) {
                req.networkCapabilities.setUids(ranges);
            }
        }
    }
}