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

Commit c4b1e289 authored by James Mattis's avatar James Mattis Committed by Automerger Merge Worker
Browse files

Merge "Applying OEM network pref to all users" am: c1a548b1 am: b6625e59 am: a5e24341

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9988f9ecac19976dd78dbcf9a749adba5daa578c
parents bb107f0d a5e24341
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.