From e50e1a20354851afb14b519672c89c77daf69085 Mon Sep 17 00:00:00 2001 From: Nikita Ioffe Date: Mon, 26 Sep 2022 16:05:43 +0100 Subject: Add `Process.isIsolatedUid(int uid)` API Test: atest ProcessTest Bug: 222718282 Change-Id: I9e3dc700636ac7723d1807b6c173c9f4fb693c53 --- core/api/current.txt | 1 + core/java/android/os/Process.java | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 644a194f6ed1..d67876a8f9cf 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -31932,6 +31932,7 @@ package android.os { 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 e06e7326a860..e977c0833aee 100644 --- a/core/java/android/os/Process.java +++ b/core/java/android/os/Process.java @@ -900,9 +900,21 @@ public class Process { 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); -- cgit v1.2.3-59-g8ed1b