commit | 01a6b34d1db0d9c477673a1d803bbdb0d73cf543 | [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 | 5e114bc263712ec805063faf27c25acfe8e82e98 | |
parent | 7e09bc5b24aa0fbac13beff076c9239c424cb370 [diff] | |
parent | 1bc19cb6a9e6643a5ebfe94022350192a8a31a67 [diff] |
Merge "Fix a bug where the wrong profile is queried" am: 167cc4a044 am: 92bbfaf0a2 am: 1bc19cb6a9 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