Do not use hidden UserManager hidden APIs

- isUserRunning(userId): replaced with isUserRunning(UserHandle.of(userId))
- getUsers(true): replaced with getSerialNumbersOfUsers(true) and
  getUserForSerialNumber(setialNumber)

Bug: 137202333
Test: make
Change-Id: I34103353d4e703bff2fc09925f91d3f2dd93150d
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 4a41c3d..707731b 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -6895,7 +6895,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");
         }
     }