Merge "Do not use hidden UserManager hidden APIs"
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index e9fd26d..6486ae2 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -64,6 +64,7 @@
import com.android.internal.telephony.util.NotificationChannelController;
import com.android.phone.settings.VoicemailSettingsActivity;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -375,9 +376,8 @@
.setOnlyAlertOnce(isRefresh);
final Notification notification = builder.build();
- List<UserInfo> users = mUserManager.getUsers(true);
- for (UserInfo user : users) {
- final UserHandle userHandle = user.getUserHandle();
+ List<UserHandle> users = getUsersExcludeDying();
+ for (UserHandle userHandle : users) {
if (!hasUserRestriction(
UserManager.DISALLOW_OUTGOING_CALLS, userHandle)
&& !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
@@ -392,9 +392,8 @@
}
}
} else {
- List<UserInfo> users = mUserManager.getUsers(true /* excludeDying */);
- for (UserInfo user : users) {
- final UserHandle userHandle = user.getUserHandle();
+ List<UserHandle> users = getUsersExcludeDying();
+ for (UserHandle userHandle : users) {
if (!hasUserRestriction(
UserManager.DISALLOW_OUTGOING_CALLS, userHandle)
&& !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
@@ -410,6 +409,16 @@
}
}
+ private List<UserHandle> getUsersExcludeDying() {
+ long[] serialNumbersOfUsers =
+ mUserManager.getSerialNumbersOfUsers(/* excludeDying= */ true);
+ List<UserHandle> users = new ArrayList<>(serialNumbersOfUsers.length);
+ for (long serialNumber : serialNumbersOfUsers) {
+ users.add(mUserManager.getUserForSerialNumber(serialNumber));
+ }
+ return users;
+ }
+
private boolean hasUserRestriction(String restrictionKey, UserHandle userHandle) {
final List<UserManager.EnforcingUser> sources = mUserManager
.getUserRestrictionSources(restrictionKey, userHandle);
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ecc8729..63d85a6 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -6897,7 +6897,7 @@
}
private void ensureUserRunning(int userId) {
- if (!mUserManager.isUserRunning(userId)) {
+ if (!mUserManager.isUserRunning(UserHandle.of(userId))) {
throw new IllegalStateException("User " + userId + " does not exist or not running");
}
}