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

Commit c1a548b1 authored by James Mattis's avatar James Mattis Committed by Gerrit Code Review
Browse files

Merge "Applying OEM network pref to all users"

parents e191d881 b6a486bf
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -5049,10 +5049,16 @@ public class ConnectivityService extends IConnectivityManager.Stub

    private void onUserAdded(UserHandle user) {
        mPermissionMonitor.onUserAdded(user);
        if (mOemNetworkPreferences.getNetworkPreferences().size() > 0) {
            handleSetOemNetworkPreference(mOemNetworkPreferences, null);
        }
    }

    private void onUserRemoved(UserHandle user) {
        mPermissionMonitor.onUserRemoved(user);
        if (mOemNetworkPreferences.getNetworkPreferences().size() > 0) {
            handleSetOemNetworkPreference(mOemNetworkPreferences, null);
        }
    }

    private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
@@ -9076,7 +9082,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            try {
                listener.onComplete();
            } catch (RemoteException e) {
                loge("handleMessage.EVENT_SET_OEM_NETWORK_PREFERENCE failed", e);
                loge("Can't send onComplete in handleSetOemNetworkPreference", e);
            }
        }
    }
@@ -9203,6 +9209,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
                @NonNull final OemNetworkPreferences preference) {
            final SparseArray<Set<Integer>> uids = new SparseArray<>();
            final PackageManager pm = mContext.getPackageManager();
            final List<UserHandle> users =
                    mContext.getSystemService(UserManager.class).getUserHandles(true);
            if (null == users || users.size() == 0) {
                if (VDBG || DDBG) {
                    log("No users currently available for setting the OEM network preference.");
                }
                return uids;
            }
            for (final Map.Entry<String, Integer> entry :
                    preference.getNetworkPreferences().entrySet()) {
                @OemNetworkPreferences.OemNetworkPreference final int pref = entry.getValue();
@@ -9211,7 +9225,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
                    if (!uids.contains(pref)) {
                        uids.put(pref, new ArraySet<>());
                    }
                    uids.get(pref).add(uid);
                    for (final UserHandle ui : users) {
                        // Add the rules for all users as this policy is device wide.
                        uids.get(pref).add(UserHandle.getUid(ui, uid));
                    }
                } catch (PackageManager.NameNotFoundException e) {
                    // Although this may seem like an error scenario, it is ok that uninstalled
                    // packages are sent on a network preference as the system will watch for
+189 −27

File changed.

Preview size limit exceeded, changes collapsed.