commit | 6c63ebbb9e64dbccc563eebdd079cef549d57ac8 | [log] [tgz] |
---|---|---|
author | Chalard Jean <jchalard@google.com> | Mon Apr 05 08:10:29 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Apr 05 08:10:29 2021 +0000 |
tree | 5de0bd0e03ff83c472b6d1179f231071cb029528 | |
parent | 1b5c3c49e68dc6c1c96c00397f29594e1fcd61f4 [diff] | |
parent | a776c7ca39d5d2b5fc9351ea3933012cf60535e5 [diff] |
Merge "Fix a bug where the wrong profile is queried" am: f83190c218 am: 92d3c13ed8 am: a776c7ca39 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1662362 Change-Id: I5498b7eb2b1b3e4e195ac47d8d3b471496b779b6
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index aedf52d..153152e 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -9525,14 +9525,8 @@ throw new IllegalArgumentException("Must explicitly specify a user handle (" + "UserHandle.CURRENT not supported)"); } - final UserManager um; - try { - um = mContext.createContextAsUser(profile, 0 /* flags */) - .getSystemService(UserManager.class); - } catch (IllegalStateException e) { - throw new IllegalArgumentException("Profile does not exist"); - } - if (!um.isManagedProfile()) { + final UserManager um = mContext.getSystemService(UserManager.class); + if (!um.isManagedProfile(profile.getIdentifier())) { throw new IllegalArgumentException("Profile must be a managed profile"); } // Strictly speaking, mOemNetworkPreferences should only be touched on the
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java index 4c5e64c..f903a45 100644 --- a/tests/net/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -578,6 +578,7 @@ final UserManager umMock = createContextAsUser(userHandle, 0 /* flags */) .getSystemService(UserManager.class); doReturn(value).when(umMock).isManagedProfile(); + doReturn(value).when(mUserManager).isManagedProfile(eq(userHandle.getIdentifier())); } @Override