Use getUserHandles() instead of getUsers() to get user id
UserManager#getUsers() is a hidden API, use getUserHandles() to get user id instead in PermissionMonitor. Bug: 171529940 Test: atest FrameworksNetTests Change-Id: Ic304627688de8e49505a95ebc99628b2e0eafab9
This commit is contained in:
@@ -35,7 +35,6 @@ import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManager.NameNotFoundException;
|
||||
import android.content.pm.PackageManagerInternal;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.net.INetd;
|
||||
import android.net.UidRange;
|
||||
import android.os.Build;
|
||||
@@ -174,11 +173,9 @@ public class PermissionMonitor implements PackageManagerInternal.PackageListObse
|
||||
netdPermsUids.put(uid, netdPermsUids.get(uid) | otherNetdPerms);
|
||||
}
|
||||
|
||||
List<UserInfo> users = mUserManager.getAliveUsers();
|
||||
if (users != null) {
|
||||
for (UserInfo user : users) {
|
||||
mUsers.add(user.id);
|
||||
}
|
||||
final List<UserHandle> users = mUserManager.getUserHandles(true /* excludeDying */);
|
||||
for (UserHandle user : users) {
|
||||
mUsers.add(user.getIdentifier());
|
||||
}
|
||||
|
||||
final SparseArray<ArraySet<String>> systemPermission =
|
||||
|
||||
@@ -58,7 +58,6 @@ import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManagerInternal;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.net.INetd;
|
||||
import android.net.UidRange;
|
||||
import android.os.Build;
|
||||
@@ -123,10 +122,10 @@ public class PermissionMonitorTest {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
||||
when(mContext.getSystemService(eq(Context.USER_SERVICE))).thenReturn(mUserManager);
|
||||
when(mUserManager.getAliveUsers()).thenReturn(
|
||||
Arrays.asList(new UserInfo[] {
|
||||
new UserInfo(MOCK_USER1, "", 0),
|
||||
new UserInfo(MOCK_USER2, "", 0),
|
||||
when(mUserManager.getUserHandles(eq(true))).thenReturn(
|
||||
Arrays.asList(new UserHandle[] {
|
||||
new UserHandle(MOCK_USER1),
|
||||
new UserHandle(MOCK_USER2),
|
||||
}));
|
||||
|
||||
mPermissionMonitor = spy(new PermissionMonitor(mContext, mNetdService, mDeps));
|
||||
|
||||
Reference in New Issue
Block a user