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

Commit fcbc6ff6 authored by Chalard Jean's avatar Chalard Jean Committed by Gerrit Code Review
Browse files

Merge "Generalize some PANS methods"

parents dd2877ea 1596b41c
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);
            }
        }
    }
}