Add `Process.isIsolatedUid(int uid)` API

Test: atest ProcessTest
Bug: 222718282
Change-Id: I9e3dc700636ac7723d1807b6c173c9f4fb693c53
diff --git a/core/api/current.txt b/core/api/current.txt
index 644a194..d67876a 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -31932,6 +31932,7 @@
     method public static final boolean is64Bit();
     method public static boolean isApplicationUid(int);
     method public static final boolean isIsolated();
+    method public static final boolean isIsolatedUid(int);
     method public static final boolean isSdkSandbox();
     method public static final void killProcess(int);
     method public static final int myPid();
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index e06e732..e977c08 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -900,9 +900,21 @@
         return isIsolated(myUid());
     }
 
-    /** {@hide} */
-    @UnsupportedAppUsage
+    /**
+     * @deprecated Use {@link #isIsolatedUid(int)} instead.
+     * {@hide}
+     */
+    @Deprecated
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.TIRAMISU,
+            publicAlternatives = "Use {@link #isIsolatedUid(int)} instead.")
     public static final boolean isIsolated(int uid) {
+        return isIsolatedUid(uid);
+    }
+
+    /**
+     * Returns whether the process with the given {@code uid} is an isolated sandbox.
+     */
+    public static final boolean isIsolatedUid(int uid) {
         uid = UserHandle.getAppId(uid);
         return (uid >= FIRST_ISOLATED_UID && uid <= LAST_ISOLATED_UID)
                 || (uid >= FIRST_APP_ZYGOTE_ISOLATED_UID && uid <= LAST_APP_ZYGOTE_ISOLATED_UID);